[英]AssertionError - Selenium/Python
我正在用Selenium创建一个Python脚本。 我想运行一个特定的测试,以在页面加载时检查文本框的默认文本。 下面是我的代码.......
try:
self.assertEqual("Search by template name or category..", sel.get_text("//table[@id='pluginToolbarButton_forms']/tbody/tr[2]/td[2]/em"))
logging.info(' PASS: text box text is correct')
except Exception:
logging.exception(' FAIL: text box text is incorrect')
这是我的错误...
self.assertEqual("Search by template name or category..", sel.get_text("//table[@id='pluginToolbarButton_forms']/tbody/tr[2]/td[2]/em"))
File "C:\Python27\lib\unittest\case.py", line 509, in assertEqual
assertion_func(first, second, msg=msg)
File "C:\Python27\lib\unittest\case.py", line 502, in _baseAssertEqual
raise self.failureException(msg)
AssertionError: 'Search by template name or category..' != u'Submitter Requests'
我使用了错误的功能吗?
您的AssertionError
指出您尝试的断言self.assertEqual(...)
在第一个代码示例中为self.assertEqual(...)
)失败了:
AssertionError: 'Search by template name or category..' != u'Submitter Requests'
该断言说明字符串'Search by template name or category'
与'Submitter Requests'
不同,这是正确的……实际上,这些字符串是不同的。
我将检查您的第二个参数self.assertEqual
,并确保您选择了正确的功能。
看起来您使用的是正确的功能,但是也许您没有以正确的方式运行测试。
问题似乎是您没有选择正确的元素进行比较。 您基本上是在告诉程序匹配“按模板名称或类别搜索。”等于以下内容:
//table[@id='pluginToolbarButton_forms']/tbody/tr[2]/td[2]/em
显然,内容是“ Submitter请求”,即不是您期望的内容,因此测试失败(应该如此)。 您可能没有通过该XPath查询选择正确的元素。 也许CSS查询是最好的。 您可以在Selenium文档中阅读有关元素选择器的信息 。
还要注意一个陷阱:Selenium返回的文本是Unicode对象 ,您正在将其与字符串进行比较。 对于特殊字符,这可能无法正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.