app自动化测试---- pytest 多设备连接,并行执行测试用例(pytest 通过设置变量的方式传参)
1. pytest 通过设置变量的方式传参,并行运行 pytest 的测试用例
可满足,我们有多台手机设备,同时运行我们的测试用例
""" 当前文件:test_all_app.py """ import pytest,os import multiprocessing devices = [('127.0.0.1:62001',4723),('127.0.0.1:62003',4725)] @pytest.fixture(scope='session',autouse=True) def session(): # 读取环境变量 print(f'启动服务器{os.environ["udid"]}, {os.environ["port"]}') yield print(f'关闭服务器{os.environ["udid"]}, {os.environ["port"]}') def test_01(): print('执行测试用例---用户登陆') def run(value): # 设置环境变量 ('127.0.0.1:62001',4723) os.environ["udid"] = str(value[0]) # 设置变量的时候要求字符串 os.environ['port'] = str(value[1]) pytest.main(['test_all_app.py', '-s', '-v']) if __name__ == '__main__': process = [] for val in devices: # 针对每个进程设置环境变量 p = multiprocessing.Process(target=run,args=(val,)) p.start() process.append(p) for proc in process: proc.join()