Как автоматизировать расширение Chrome, взаимодействующее с родительской веб-страницей? - PullRequest
0 голосов
/ 08 июля 2019

Я хочу автоматизировать тестирование chrome-расширения.

Я использовал selenium-python для автоматизации родительской веб-страницы, но я не могу использовать selenium для автоматизации chrome-extension, потому что seleniumпривязан к представлению веб-страницы, поэтому я не могу щелкнуть значок расширения Chrome в строке заголовка Google Chrome.Из-за этого ограничения я попытался с помощью sikuli нажать на значок расширения Chrome, но я не смог получить DOM всплывающего HTML-кода расширения Chrome, которое появляется при нажатии значка расширения, так как мне нужно было получить доступ к отображаемому тексту.по всплывающей html-странице расширения, а затем оценил ее. Мой тест не удался.

Я думал, что могу использовать shift_to_window (), но напрасно, потому что это всплывающий HTML-код, и, следовательно, я не могу сдвинуть. Если вместо этого яиспользуйте sikuli, так как количество тестов увеличилось, количество изображений, необходимых для его автоматизации, также увеличится, поэтому это будет невозможно.

Пример снимка экрана , На этом снимке веб-store page - это родительская страница, а маленькое всплывающее окно в правом верхнем углу - это всплывающее окно, о котором я говорю, которое появляется после нажатия на расширение Chrome.Так что в основном я должен взаимодействовать с этим всплывающим HTML.

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Вам необходимо рабочий стол Тестирование пользовательского интерфейса решение для автоматизации расширений Chrome. Чистое решение для веб-тестирования, такое как Selenium, может , а не автоматизировать его, поскольку оно не имеет к нему доступа.

  • Sikuli (как вы упомянули) - хороший вариант. Вы должны использовать его не только для щелчка по значку, но и для нажатия кнопок расширения.

  • UI.Vision с интегрированным Selenium IDE ++ - еще один хороший инструмент. Он запускается прямо в веб-браузере, см. Этот пост на форуме о том, как автоматизировать расширение Chrome . Преимущество состоит в том, что вы можете объединить автоматизацию рабочего стола и веб-автоматизацию в одном сценарии.

0 голосов
/ 08 июля 2019

Я не совсем понял, почему вы не можете автоматизировать любую имеющуюся у вас веб-страницу с Selenium и какое ограничение вы описываете. Возможно, поможет такой пример, как скриншот или даже ссылка на соответствующую веб-страницу. Кроме того, я не понимаю, почему невозможность извлечь DOM со страницы является ограничением при использовании Sikuli. Sikuli ничего не выиграет от DOM, он основан исключительно на визуальном содержании экрана.

Я бы попытался обработать всплывающее окно, которое вы описываете, используя стандартную функциональность Selenium, примерно так:

driver.switchTo().alert().dismiss();

Существуют дополнительные параметры обработки оповещений, поэтому вы можете выбрать то, что подходит вам больше всего.

...