Selenium v​​s Puppeteer测试CEF应用程序的UI

时间:2018-10-02 16:08:57

标签: selenium-webdriver selenium-chromedriver integration-testing puppeteer chromium-embedded

我正计划为我的CEF应用程序构建集成测试。集成测试将着重于验证应用程序的用户界面。我认为可能有两种方法可以做到:

1. Use Selenium/webdriver + chromedriver: Selenium talks to chromedriver through
   webdriver protocol, and chromedriver talks to my CEF application through
   Chrome Devtools Protocol

2. Use Puppeteer or similar library that talks to CEF application directly
   through Chrome Devtools Protocol

首先,Puppeteer有没有办法连接到远程chrome调试器?大多数用例似乎是在Puppeteer中启动无头的chrome,这不是我想要的。

如果两个选项均可行,那么您将首选哪个选项?对于测试实现Chrome Devtools协议的用户代理,Puppeteer似乎比Selenium具有更丰富的功能。 Selenium / webdriver带来的跨平台优势似乎与测试CEF应用程序无关。

1 个答案:

答案 0 :(得分:1)

  

首先,Puppeteer是否可以连接到远程chrome调试器?

是的,有一个puppeteer.connect允许连接到已经运行的浏览器。

  

如果两个选项都可行,那么您会选择哪个选项?

鉴于您只对Chromium感兴趣,我会选择pick。木偶脚本通常不需要抛出“ sleep()”调用-而是有强大的原语来等待条件,例如page.waitForSelectorpage.waitFoRequest