3

В принципе, если тестовые примеры выполняются в Chrome, FF или Edge, они проходят без проблем - и вы даже можете использовать браузер после тестов.Robot Framework - Selenium2Library - IE11 очень нестабилен для завершения тестов

С IE однако запуск его из веб-драйвера в основном делает браузер неустойчивым. Это касается как каркаса, так и ручного использования. Проблема, которую я испытываю, заключается в том, что некоторые элементы мерцают, когда они были выбраны. И, к сожалению, я пытаюсь выбрать элемент внутри раскрывающегося списка. Как только он начинает мерцать, а затем выполняет элемент Click, он щелкает позади выпадающего списка и, таким образом, случайно нажимая на совершенно другой элемент и останавливая мои тесты.

Есть ли способ обойти это? Мне нужно автоматизировать наши тесты на всех четырех браузерах.

+0

Откажитесь IE для автоматизированных тестов является лучшим вариантом ИМХО. Усилия по автоматизации IE просто не стоят того, потому что IE работает по-разному под капотом, и IEDriver очень нестабилен ... – Moshisho

+0

Разве серьезно я ничего не могу сделать? Он бил головой с ним в течение последнего дня ... – Goralight

+0

Вы говорите, что ваш код работает для 3 основных браузеров, но для IE он терпит неудачу. Вы действительно хотите добавить в свой код уродливые исправления для IE, которые могут нанести вред остальным вашим тестам? Я бы рекомендовал пересмотреть ROI для автоматизированных тестов IE или, возможно, использовать другой инструмент: http://stackoverflow.com/questions/3841371/test-automation-for-internet-explorer – Moshisho

ответ

1

IMHO, InternetExplorerDriver недостаточно стабилен и не стоит ROI для автоматизированных тестов, особенно в вашем случае, когда 3 основных браузера работают с вашим кодом, а IE потребует уродливых исправлений, которые могут нанести вред остальным тестам , Цитирую InternetExplorerDriver:

Против

  • Очевидно, что InternetExplorerDriver будет работать только на Windows!
  • сравнительно медленно (My дополнение - Смотрите great benchmark Dave Haeffner в)

Специальные конфигурации:

В IE 7 или выше на Windows Vista или Windows 7, вы должны установить Protected Настройки режима для каждой зоны должны быть одинаковыми. ... Кроме того, "Enhanced Protected Mode" должна быть отключена для IE 10 и выше ... Для IE 11 только, вам нужно будет установить запись реестра ...

Как Javascript Выполняются события:

Поскольку InternetExplorerDriver работает только с Windows, он пытается использовать так называемые «родные» или события уровня ОС для выполнения операций мыши и клавиатуры в браузере. Это противоречит использованию симулированных событий JavaScript для одних и тех же операций. ... Однако в настоящее время есть некоторые проблемы с событиями мыши, когда окно браузера IE не имеет фокуса и при попытке навести курсор на элементы.

И этот список можно продолжить ...

+0

Я не могу с чистой совестью поддержать этот ответ. Характеристика реализации надлежащих методов синхронизации или ожидания автоматического автоматизированного DOM в известном состоянии как «уродливые исправления», которые «вредят ... испытаниям» являются обманчивыми и безответственными. – JimEvans

+0

Это не то, что я сказал ... и это не вопрос, о котором идет речь ... проблема заключается в стабильности тестов в IE, в других браузерах он работает, поэтому я предполагаю, что реализация не является проблемой. Более того, см. Цитаты (не мое мнение ...) и контрольный показатель ... – Moshisho

+1

Это не имеет никакого отношения к ожиданиям или любой другой плохой практике. Я просто пытаюсь обойти плохое выполнение IE Web Driver - мне не нужно будет запускать IE специальные тесты, а другие - нет. – Goralight

1

ли вы попробовать использовать возможности requireWindowFocus для использования с IE? Существуют абсолютно правильные технические причины, по которым водитель ведет себя так, как он. Я хотел бы призвать всех, кто интересуется, почему следует читать a blog post, посвященный обсуждению проблемы.

0

Он может работать или не работать; но по-прежнему смотрите -

  1. Добавьте URL-адрес приложения как надежный сайт.
  2. Убедитесь, что «Включить защищенный режим» либо ON или OFF для всех 4-х зон (Интернет, Местная интрасеть, Надежные узлы & Ограниченные узлы.
  3. Отключение всплывающих окон.
  4. Выключите SmartScreen фильтр.
+0

Были ли внесенные изменения. Ничего не изменил. – Goralight

2

Итак, у меня была такая же/подобная проблема, когда я пытался автоматизировать мои тесты с помощью Robot в IE11. В моем случае, когда элементы начинают мерцать, тест еще не продолжается. Браузер просто висит без какого-либо взаимодействия. Обходной путь, который я нашел, - использовать «Ключ для ключа» ключевое слово вместо "Нажмите элемент" и введите ключ ввода. Это работало отлично для меня, и я смог завершить свои тесты. Конечно, мне пришлось добавить два теста для IE и один для других браузеров, но он действительно работал !!

Ниже приведен пример тестового примера:

Click Add - IE     
    # Click Element ${I_Add} --> This is for the other browsers 
    Focus ${I_Add}    --> 
    Press Key ${I_Add} \\13 --> These are for IE 

Если у вас есть какие-либо дополнительные пояснения, пожалуйста, спросите меня

Смежные вопросы