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

Sho*_*tar 3 python selenium unit-testing

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

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()
Run Code Online (Sandbox Code Playgroud)

这里以上三个测试方法(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'
Run Code Online (Sandbox Code Playgroud)

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

Iro*_*ist 5

无需在其中创建类的实例,只需使用以下方式引用该实例self

def test_04_verify_item_tab(self):
    self.test_01_create_record()
    self.test_03_delete_record()
Run Code Online (Sandbox Code Playgroud)