测试python中的断言错误

时间:2010-08-05 11:47:10

标签: python unit-testing selenium

我正在基于selenium提供的代码在python中做一个测试套件,在检查这样的实际页面时我得到了奇怪的断言错误:

sel.click("link=Overview")
sel.wait_for_page_to_load("30000")
self.assertEqual("Naaya testing - Subtitlu testare", sel.get_title())

sel.click("link=Portal properties")
sel.wait_for_page_to_load("30000")
self.assertEqual("Naaya testing - Subtitlu testare", sel.get_title())
sel.click("link=Metadata")
sel.wait_for_page_to_load("15000")

这段代码中的奇怪是我在代码中第一次出现时得到断言错误,在我用第一次出现后改为:

title = sel.get_title()
self.failUnless(title == "Naaya testing - Subtitlu testare","nu sunt "
                "pe pagina principala")

我摆脱了错误,但我仍然不明白为什么第二个断言没有失败但是第一个断言呢?

1 个答案:

答案 0 :(得分:2)

在python中使用==运算符命令可能会有所不同。试试"Your strng" == title并查看结果。 assertEqual也可以检查类型,所以正确的代码是:

self.assertEqual("Naaya testing - Subtitlu testare", str(sel.get_title()))

或:

self.assertEqual(u"Naaya testing - Subtitlu testare", sel.get_title())

如果selenium使用unicode类型。