各种错误信息

Varying error messages

虽然我没有更改代码或物理测试环境,但我不断收到不同的错误消息。它也表明我正在测试的环境是完全相同的,只是从视觉上看,我看不出有任何改变的理由。

当多次重复我的测试而不对任何一个元素进行任何更改时,我在崩溃时收到不同的错误消息,这使得我不清楚如何解决这个问题。我 运行 我的测试使用的是使用 Selenium2 的 Robot Framework 2.8.7。该测试之前在多个帐户上也取得了成功,这让人奇怪为什么它会因不同原因崩溃而以前没有使用完全相同的代码。

所有的错误都是一行代码造成的,如下:

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.

就像我说的,有时候测试甚至会通过!

如果有人对如何克服或修复此问题有任何建议,我们将不胜感激。提前致谢。

乍一看,我觉得有时它找不到它要找的东西,因为它在页面上还不存在。我建议使用某种形式的等待以确保在继续之前需要使用的东西已经存在

E.G

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 特别有很多。我最近遇到了由我的 chrome 版本引起的类似问题,它破坏了一些测试,但使用上述方法,我们能够很快解决它。有关该问题的更多信息,请点击此处:

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