Selenium vs Puppeteer для тестирования пользовательского интерфейса приложения CEF - PullRequest
0 голосов
/ 02 октября 2018

Я планирую построить интеграционный тест для моего приложения 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, а это не то, чего я хочу.

Если оба варианта выполнимы, какой вариант вы бы предпочли?Puppeteer, кажется, обладает более широкими функциональными возможностями, чем Selenium, для тестирования пользовательского агента, реализующего протокол Chrome Devtools.Кроссплатформенное преимущество Selenium / webdriver не имеет значения для тестирования приложения CEF.

1 Ответ

0 голосов
/ 03 октября 2018

Прежде всего, есть ли способ для Puppeteer подключиться к удаленному отладчику Chrome?

Да, есть puppeteer.connect , который позволяет подключаться куже запущенный браузер.

Если оба варианта выполнимы, какой вариант вы бы предпочли?

Учитывая, что вас интересует только Chromium, я бы выбрал кукловода,Сценарии кукловодов обычно не требуют добавления вызовов sleep () - вместо этого существуют мощные примитивы для ожидания условий, например page.waitForSelector , page.waitFoRequest и т. Д.

...