zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    SVN Monitor工具推荐
    Linux Netbeans汉化不全
    PMWiki安装教程
    JIRA重启服务器后需要重启TOMCAT的解决
    SVN分支与合并
    WCF无法捕获FaultException
    非完美C++ Singleton实现[转载]
    C语言结构体的对齐原则
    C++ STL 学习笔记
    字符串笔试题
  • 原文地址:https://www.cnblogs.com/Z-Queen/p/14977065.html
Copyright © 2011-2022 走看看