【问题标题】:testing assertion error in python在python中测试断言错误
【发布时间】:2011-03-25 18:25:16
【问题描述】:

我正在基于 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")

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

【问题讨论】:

  • sel = self.selenium 抱歉我忘了

标签: python unit-testing selenium


【解决方案1】:

在 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 类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-02
    • 2016-09-09
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多