python - 如何从unittest框架中的另一个测试调用测试方法?

标签 python unit-testing selenium

我编写了类似于以下代码的代码来实现我的要求,但我收到错误消息。

class Test(BaseSetup):

    def test_01_create_record(self):        
        --
    def test_02_edit_record(self):
        --
    def test_03_delete_record(self):   
        --
    def test_04_verify_item_tab(self):
        testObj=Test()
        testObj.test_01_create_record()
        do this....
        testObj.test_03_delete_record()        

if __name__ == '__main__':       
    unittest.main()

以上三个测试方法(test_01、test_02 和 test_03)运行良好,但最后一个测试,即 test_04 失败。它无法使用 test_01 创建记录(尽管它单独工作得很好)。我在上次测试中收到以下错误消息。

self.driver.find_element_by_xpath(self.content_tab_xpath).click()
AttributeError: 'NoneType' object has no attribute 'find_element_by_xpath'

上面的错误消息是针对第一个测试(test_01_create_record)的,只有当我从另一个测试中调用第一个测试方法时,我才会收到错误消息,但是当我单独运行它时,它运行良好。知道我可能会错过什么吗?非常感谢

最佳答案

无需在其中创建类的实例,只需使用 self 引用该实例即可:

def test_04_verify_item_tab(self):
    self.test_01_create_record()
    self.test_03_delete_record()

关于python - 如何从unittest框架中的另一个测试调用测试方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42901255/

相关文章:

python - 如何对大量数据进行透视

java - 如何使用 Maven 运行多个测试类或测试方法?

python - git 存储库数据结构是否使用规范编码?

python - 使用复数时如何限制小数位数

python - 根据字典打断复合词

node.js - require.main.require 有效,但不在 Mocha 测试中

.net - 发送电子邮件并创建新线程的单元测试

java - 如何使用 css 选择器提取属性值?

ruby-on-rails - 如何使用 Capybara 和 Selenium 测试某个项目是否已从页面中删除?

selenium - Capybara、Selenium 和 Redactor 富文本编辑器