我使用Pytest(Selenium)来执行功能测试。我将测试分成以下结构的两个文件:
我的阳性测试.py
class Positive_tests:
def test_pos_1():
populate_page()
check_values()
def test_pos_2():
process_entry()
validate_result()
我的阴性测试.py
class Negative_tests:
def test_neg_1
populate_page()
validate_error()
断言在函数中完成(check_values、validate_result、validate_error)。 我试图找到一种方法从一个文件运行所有测试,以便主测试文件看起来像:
我的测试套件.py
test_pos_1()
test_pos_2()
test_neg_1()
然后从命令行执行:
py.test --tb=short "C:\PycharmProjects\My_Project\MyTest_Suite.py" --html=report.html
有可能做这样的事吗?我一直在搜索,但还没有找到如何将对这些测试的调用放在一个文件中。
以
test_
或_test.py
结尾开始文件名和测试。类应该以Test
开头目录示例:
|--文件
|--|--材料中的材料
|--|--|--单调乏味
|--|--示例.py
|
|--测试
|--|--材料中的材料
|--|--|--测试时间
|--|--测试示例.py
在终端:
$ py.test --cov=files/ tests/
或者只要$ py.test tests/
如果你不需要代码覆盖。测试目录文件路径必须在当前目录路径中。或者一个确切的文件路径使用上面的终端命令(
$ py.test tests/
),pytest将在tests/目录中搜索以test_
开头的所有文件。文件也是如此。测试示例.py
您不必手动运行测试。Pytest finds and executes them automatically:
以及
如果你跑了
它们应该自动被捡起来。
然后还可以选择单个文件
或者一次测试
你需要更改类名
类名还应该以“Test”开头,以便由Pytest发现。如果不想在类名前面使用“Test”,也可以配置它,官方文档here
相关问题 更多 >
编程相关推荐