• Appium+Python3 并发启动测试设备


    开启多个设备,但是非并发

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time : 2019-07-25 11:38
    # @Author : zhouyang
    # @File : mulit_devices.py
    
    '''多设备启动,非并发
    在命令窗口输入命令:appium -p 4723 可启动设备4723
    '''
    from selenium import webdriver
    import yaml
    from time import ctime
    
    with open('desired_caps.yaml','r') as f:
        data = yaml.load(f)
    
    desired_list=['127.0.0.1:62001','127.0.0.1:62025']
    def appium_devices(udid,port):
        desired_caps={}
        desired_caps['platformName']=data['platformName']
        desired_caps['platformVerion']=data['platformVersion']
        desired_caps['deviceName']=data['deviceName'] #没有实际作用
    
        desired_caps['udid']=udid
    
        desired_caps['app']=data['app']
        desired_caps['noReset']=data['noReset']
        desired_caps['appPackage']=data['appPackage']
        desired_caps['appActivity']=data['appActivity']
    
        print('appium port:%s start run %s at %s'%(port,udid,ctime()))
        driver=webdriver.Remote('http://'+str(data['ip'])+':'+str(port)+'/wd/hub',desired_caps)
        return driver
    
    if __name__ == '__main__':
        appium_devices(desired_list[0],4723)
        appium_devices(desired_list[1],4725)

    多进程并发启动多设备

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time : 2019-07-25 11:38
    # @Author : zhouyang
    # @File : mulit_devices.py
    
    '''多进程 并发 启动设备
    在命令窗口输入命令:appium -p 4723 可启动设备4723
    '''
    from appium import webdriver
    import yaml
    from time import ctime
    import multiprocessing
    
    with open('desired_caps.yaml','r') as f:
        data = yaml.load(f)
    
    desired_list=['127.0.0.1:62001','127.0.0.1:62025']
    def appium_devices(udid,port):
        desired_caps={}
        desired_caps['platformName']=data['platformName']
        desired_caps['platformVerion']=data['platformVersion']
        desired_caps['deviceName']=data['deviceName'] #没有实际作用
    
        desired_caps['udid']=udid
    
        desired_caps['app']=data['app']
        desired_caps['noReset']=data['noReset']
        desired_caps['appPackage']=data['appPackage']
        desired_caps['appActivity']=data['appActivity']
    
        print('appium port:%s start run %s at %s'%(port,udid,ctime()))
        driver=webdriver.Remote('http://'+str(data['ip'])+':'+str(port)+'/wd/hub',desired_caps)
        return driver
    
    #创建desired进程组
    desired_process=[]
    #加载进程
    for i in range(len(desired_process)):
        port=4723+2*i
        deired=multiprocessing.Process(target=appium_devices(),args=(desired_process[i],port))
        desired_process.append(deired)
    
    if __name__ == '__main__':
        #开启进程
        for deired in desired_process:
            deired.start()
        #关闭进程
        for deired in desired_process:
            deired.join()
  • 相关阅读:
    8月3日云栖精选夜读:LSF-SCNN:一种基于CNN的短文本表达模型及相似度计算的全新优化模型
    linux(centos)下安装PHP的PDO扩展
    Linux中find常见用法示例
    01 编译原理概述
    20145221 《信息安全系统设计基础》第5周学习总结
    20145221 《信息安全系统设计基础》第4周学习总结
    爱春秋之戏说春秋 Writeup
    20145221 《信息安全系统设计基础》第3周学习总结
    20145221 《信息安全系统设计基础》第2周学习总结
    20145221 《信息安全系统设计基础》第1周学习总结
  • 原文地址:https://www.cnblogs.com/xiuxiu123456/p/11322213.html
Copyright © 2020-2023  润新知