2015-08-10 10 views
1

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

При повторении моего теста несколько раз без каких-либо изменений в любом элементе я получаю различные сообщения об ошибках при сбое, которые не позволяют понять, как преодолеть эту проблему. Я выполняю свои тесты с использованием Robot Framework 2.8.7 с использованием Selenium2. Тест также преуспел раньше, а также на нескольких учетных записях, из-за чего он странно объясняет, почему он рушится по разным причинам, когда он не раньше с тем же кодом.

Все ошибки вызваны одной строки кода, который выглядит следующим образом:

select from list | name=lstServiceUser | 789456 

А вот пример сообщения об ошибках, которые часто появляются.

KEYWORD: Selenium2Library.Select From List name=lstServiceUser, 789456 
Documentation: 
16:15:03.402 INFO Selecting option(s) '789456' from list 'name=lstServiceUser'. 
16:15:04.338 FAIL AttributeError: 'NoneType' object has no attribute 'tag_name' 


KEYWORD: Selenium2Library.Select From List name=lstServiceUser, 789456 
Documentation: 
16:24:51.060 INFO Selecting option(s) '789456' from list 'name=lstServiceUser'. 
16:24:53.391 FAIL NoSuchElementException: Message: Finding elements with name == lstServiceUserreturned an unexpected error 


KEYWORD: Selenium2Library.Select From List name=lstServiceUser, 789456 
Documentation: 
16:27:08.545 INFO Selecting option(s) '789456' from list 'name=lstServiceUser'. 
16:27:09.742 FAIL ValueError: Element locator 'name=lstServiceUser' did not match any elements. 

И, как я уже сказал, иногда тест проходит даже!

Если у кого-то есть предложения по тому, как преодолеть эту проблему или исправить ее, это было бы высоко оценено. Заранее спасибо.

ответ

1

Из-за быстрого просмотра мне кажется, что иногда он не может найти то, что он ищет, поскольку он еще не существует на странице. Я бы посоветовал использовать некоторую форму ожидания, чтобы гарантировать то, что вам нужно использовать там, прежде чем продолжить

ЭГ

Wait Until Keyword Succeeds 10 2 select from list name=lstServiceUser 789456 

выше немного сырой, но мы надеемся, что вы можете получить идею, вы можете найти дополнительную информацию по ключевому слову здесь:

http://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Wait%20Until%20Keyword%20Succeeds

Есть много других ждет, чтобы выбрать один из которых может служить ваш случай использования. В Selenium2Library особенно много. У меня была аналогичная проблема, недавно вызванная моей версией хром, она прервала ряд тестов, но, используя приведенные выше методы, нам удалось быстро ее обойти. Более подробная информация по этому вопросу здесь:

https://code.google.com/p/chromedriver/issues/detail?id=1158

+0

ты иметь успех с этим? – shicky