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()

 

posted @ 2021-07-06 15:12  Z_sun  阅读(466)  评论(0编辑  收藏  举报