目录
前言:
插件:
test_case
pytest.ini (pytest.ini 配置文件不支持注释)
run_all.py
report
插件:
test_case
pytest.ini (pytest.ini 配置文件不支持注释)
run_all.py
report
前言:
pytest是一个基于Python的开源测试框架,专门用于编写和执行自动化测试。它提供了简洁的语法、灵活的插件机制和丰富的断言库,使得编写和运行测试用例变得简单而高效。
插件:
@pytest.mark.skip(reason='跳过Test类,会跳过类中所有方法')
@pytest.mark.parametrize('val', [5,4,3,2,1]) #一条用例传多个参数
def test_collision_detect_001(self, val):
duco_cobot.collision_detect(val)
logger.info("设置碰撞检测等级: {}".format(val))
@pytest.mark.parametrize('val', [i for i in range(1,9)])传两个参数@pytest.mark.parametrize('参数名1,参数名2',[(参数1_data[0], 参数2_data[0]),(参数1_data[1], 参数2_data[1])]) 进行参
@pytest.mark.repeat(N)重复
@pytest.mark.smoke 设置冒烟用例@allure.title("用例标题")
@allure.description("用例描述")
@allure.step("用例步骤")
test_case
1 import pytest
2 import allure
3
4 @allure.title("用例标题")
5 class Test_Linux2671():
6
7 @allure.description("""
8 用例描述
9 比如前置信息
10 比如环境信息
11 比如注释等等
12 """)
13 def setup_class(self):
14 duco_recv.open()
15
16 def setup(self):
17 self.log_start = duco_recv.get_last_error()
18
19 @allure.step("用例步骤")
20 def test_linux2671_001(self):
21 print("13岁丧母")
22 print("25岁科举二次落榜")
23 print("36岁龙场悟道")
24
25 def teardown_class(self):
26 wym.close()
27
28 if __name__ == '__main__':
29 pytest.main(["-vs"])
pytest.ini (pytest.ini 配置文件不支持注释)
1 [pytest]
2 addopts = --alluredir ./tmp --clean-alluredir
3 testpaths=testcases/
4 python_files=test_*.py
5 python_classes=Test*
6 python_functions=test_*
7 timeout=300
run_all.py
1 if __name__ == '__main__':
2 pytest.main(["testcases"])
3 os.system("allure generate ./tmp -o ./reports --clean")
report
岁月悠悠,沧海桑田。他们老了 ,她们走了...留下了毕生的智慧,没有索取,只有付出,爱依旧无声。如果一个家族中有50%的晚辈都比较优秀,那这个家族中一定有一位长者强人甚至是集大成者,仅洞察人性这一点至少能遗传三代。当然,也不乏有像你我一样的平庸后人,在前人积福的影响下,也总能幸福安稳的过完一生。
插件:
@pytest.mark.skip(reason='跳过Test类,会跳过类中所有方法')
@pytest.mark.parametrize('val', [5,4,3,2,1]) #一条用例传多个参数
def test_collision_detect_001(self, val):
duco_cobot.collision_detect(val)
logger.info("设置碰撞检测等级: {}".format(val))
@pytest.mark.parametrize('val', [i for i in range(1,9)])传两个参数@pytest.mark.parametrize('参数名1,参数名2',[(参数1_data[0], 参数2_data[0]),(参数1_data[1], 参数2_data[1])]) 进行参数化
@pytest.mark.repeat(N)重复
@pytest.mark.smoke 设置冒烟用例@allure.title("用例标题")
@allure.description("用例描述")
@allure.step("用例步骤")
test_case
1 import pytest
2 import allure
3
4 @allure.title("用例标题")
5 class Test_Linux2671():
6
7 @allure.description("""
8 用例描述
9 比如前置信息
10 比如环境信息
11 比如注释等等
12 """)
13 def setup_class(self):
14 duco_recv.open()
15
16 def setup(self):
17 self.log_start = duco_recv.get_last_error()
18
19 @allure.step("用例步骤")
20 def test_linux2671_001(self):
21 print("13岁丧母")
22 print("25岁科举二次落榜")
23 print("36岁龙场悟道")
24
25 def teardown_class(self):
26 wym.close()
27
28 if __name__ == '__main__':
29 pytest.main(["-vs"])
pytest.ini (pytest.ini 配置文件不支持注释)
1 [pytest]
2 addopts = --alluredir ./tmp --clean-alluredir
3 testpaths=testcases/
4 python_files=test_*.py
5 python_classes=Test*
6 python_functions=test_*
7 timeout=300
run_all.py
1 if __name__ == '__main__':
2 pytest.main(["testcases"])
3 os.system("allure generate ./tmp -o ./reports --clean")
report
岁月悠悠,沧海桑田。他们老了 ,她们走了...留下了毕生的智慧,没有索取,只有付出,爱依旧无声。如果一个家族中有50%的晚辈都比较优秀,那这个家族中一定有一位长者强人甚至是集大成者,仅洞察人性这一点至少能遗传三代。当然,也不乏有像你我一样的平庸后人,在前人积福的影响下,也总能幸福安稳的过完一生。
作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!
留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=xDO13nzpfizFgd5LduYouVWGlfILKiID&authKey=TTzgMcMyNEfwu9lChmN9dw2zvAfj8PMIjxQhT23zl5hUqtbxMMfbi%2BsdzFetfiq4&noverify=0&group_code=574737577