针对Selenium以特定顺序运行Python类(非方法)

问题描述 投票:0回答:1

是否可以运行以类似testNG的python或配置文件(或任何其他方式)列出的Python类(.py文件,而不是方法)以特定/指定的顺序运行?

我知道每个测试用例都应该是完全独立的,但是我需要运行

  1. 注册(它将检索数据库密钥以完成注册过程)
  2. 打开一些自定义字段
  3. 然后以其他顺序运行所有其他测试用例

此顺序至关重要,否则一切都会失败

这可以使用preserve-order="true"使用Java和testNG.xml来完成,但是我找不到Python的任何解决方案,尤其是研究了Proboscis

感谢您的任何帮助

python selenium testng python-unittest proboscis
1个回答
0
投票

通过执行的测试应以能够独立运行的方式进行设计。纯单元测试的好处是,当它们失败时,它们通常会描述出确切的错误。在使用unittest框架进行功能测试或系统测试的情况下,如果不对它们进行排序就无法执行它们,因为Selenium使Browsing Context自动执行。要实现排序,您至少需要为测试名称使用更好的命名约定,例如:test_1test_2test_3等,这是可行的,因为测试是针对内置的为了订购琴弦。一个例子:

  • 代码:

    import unittest
    
    class Test(unittest.TestCase):
    
        def test_1(self):
        print("I'm in test 1")
    
        def test_2(self):
        print("I'm in test 2")
    
        def test_3(self):
        print("I'm in test 3")
    
    if __name__ == "__main__":
        unittest.main()
    
  • 控制台输出:

    Finding files... done.
    Importing test modules ... done.
    
    I'm in test 1
    I'm in test 2
    I'm in test 3
    ----------------------------------------------------------------------
    Ran 3 tests in 0.001s
    
    OK
    
© www.soinside.com 2019 - 2024. All rights reserved.