我正在使用pyccuracy测试一个Python应用程序,它有一个selenium驱动程序。在
我的测试结果显示了xpath的一些不稳定性问题。有时,我会收到一个无效的xPath错误,其中包含一个有效的xPath。如果我再做一次测试,可能会有用。我跟踪了stacktrace,但找不到解决方法。在
堆栈跟踪:I do not see "top-search-tag-name" element - FAILED - Error executing action > - Traceback (most recent call last):
File "/workspace/env_test/local/lib/python2.7/site-packages/pyccuracy/fixture_items.py", line 99, in execute
self.execute_function(context, *self.args, **self.kwargs)
File "/workspace/env_test/local/lib/python2.7/site-packages/pyccuracy/actions/core/element_actions.py", line 179, in execute
self.assert_element_is_not_visible(context, element_key, error_message)
File "/workspace/env_test/local/lib/python2.7/site-packages/pyccuracy/actions/__init__.py", line 147, in assert_element_is_not_visible
if self.is_element_visible(context, selector):
File "/workspace/env_test/local/lib/python2.7/site-packages/pyccuracy/actions/__init__.py", line 139, in is_element_visible
is_visible = context.browser_driver.is_element_visible(selector)
File "/workspace/env_test/local/lib/python2.7/site-packages/pyccuracy/drivers/core/selenium_driver.py", line 86, in is_element_visible
is_present = self.selenium.is_element_present(element_selector)
File "/workspace/env_test/local/lib/python2.7/site-packages/selenium/selenium.py", line 1369, in is_element_present
return self.get_boolean("isElementPresent", [locator,])
File "/workspace/env_test/local/lib/python2.7/site-packages/selenium/selenium.py", line 261, in get_boolean
boolstr = self.get_string(verb, args)
File "/workspace/env_test/local/lib/python2.7/site-packages/selenium/selenium.py", line 223, in get_string
result = self.do_command(verb, args)
File "/workspace/env_test/local/lib/python2.7/site-packages/selenium/selenium.py", line 217, in do_command
raise Exception, data
Exception: ERROR: Invalid xpath [2]: //form[@id='searchtop']//ul[@class = 'tags block editing']//li/a[@class = 'tag']
HTML代码(已清理)
^{pr2}$
在这个测试中,我单击了RemoveFilter链接,然后检查元素是否不存在。xPath正确。例如,在Chrome中,在删除标记之前,我用$x(…)选择元素,在删除标记后得到一个空列表。这就是测试的作用。有时相同的测试在完全相同的环境中运行而没有错误。在
有什么想法?在