appium---多进程启动app(多设备启动app)

597 篇文章 17 订阅
39 篇文章 1 订阅

上一篇简单的介绍了如何通过多线程进行启动app,但是后面发现了一个问题,就是app操作必须要等到一台结束后,下一台才能进行任务,那么有没有办法让他们同时运行呢?这个时候我们可以了解下多进程。跳转门:appium—多线程启动app(多台设备启动app)

进程和线程的区别

线程:计算机的执行单位以线程为单位。计算机的最小可执行是线程。。线程是可执行的基本单位,是可被调度的基本单位。线程不可以自己独立拥有资源。线程的执行,必须依赖于所属进程中的资源。。

进程:进程是资源分配的基本单位,进程中必须至少应该有一个线程

多进程启动app

继续上一篇文章的内容,多进程启动app,在以前的代码基础上进行修改线程部分

通过把启动appium的方法通过多进程的方法进行启动。

def main(self):
        '''多进程启动'''
        multi_list = []
        for i in range(2):
            appium_server = multiprocessing.Process(target=self.get_commad)
            multi_list.append(appium_server)
        for j in multi_list:
            j.start()
        for j in multi_list:
            j.join()

测试用例

上面通过多进程的方法进行了实现了同时启动appium,但是如果想要继续启动webdriver服务,这里选择了多线程启动。

# coding:utf-8
from pages.login_page import LoginPage
import time
import os
import threading
import multiprocessing
from common.aa import Server
path  =os.path.dirname(os.getcwd())
# 获取到yaml文件路径
yaml_path = os.path.join(os.path.join(path,'config'),'element.yaml')
class BaseDriver:
    def login(self,driver):
        page =LoginPage(driver)
        time.sleep(8)
        # 获取用户名元素以及输入内容
        use = page.get_username_element(yaml_path)
        use.send_keys('1111')
        # 获取密码元素以及输入内容
        pas = page.get_password_element(yaml_path)
        pas.send_keys('22222')
        # 进行点击登录
        button = page.get_login_button_element(yaml_path)
        button.click()

if __name__ == '__main__':
    x = BaseDriver()
    server = Server()
    dev = Server().get_driver()
    t1 = threading.Thread(target=server.main)
    t1.start()
    time.sleep(10)
    aa = []
    for i in dev:
        devices = server.android_start(i)
        t2 = threading.Thread(target=x.login,args=(devices,))
        aa.append(t2)
    for j in aa:
        j.start()

可能对线程和进程不是很懂的理解,然后写出来这么low的代码~
点赞关注~~加入我们,642830685。群内免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值