[英]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.