| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> pytest+u2 并发测试 -> 正文阅读 |
|
[开发测试]pytest+u2 并发测试 |
目前团队在使用的工具是pytest+u2。并通过python的celery异步与jenkins做结合达到打包完成后自动执行测试的目的。最后需要回传测试结果到外网的数据库中并在钉钉同步测试结果。 UI自动化,不同于接口,在case量级上来之后执行时间往往以小时计。 目前App自动化项目情况: case量:1000条左右 执行时间:6h+ case低耦合 思路 这次写的自动化项目初衷是可以兼容android、ios、web、api多种测试,所以不考虑使用自动化工具本身自带的多进程或多线程功能,最好在测试管理层做协调同步,方便统一维护调用。 pytest有两个插件可以实现 pytest-xdist(仅支持多进程)、pytest-parallel(Windows多进程不可用) 最后选用pytest-xdist(本机是Windows) 通过fixture 实现测试过程测试设备的作用域,避免测试对象变化。 通过文件锁,在文件中写入空闲测试对象的内存地址,实现n个进程共用n个设备时的冲突。 当执行完一个测试后,进程释放测试设备,并记录设备的内存地址到文件中,下一个测试开始前通过_ctypes.PyObj_FromPtr方法将内存地址转化为测试对象。 最后,通过进程锁,完成测试结果的收集与回传。 失误 想好之后,撸上袖子就开始干,在写核心方法的时,无意间发现xdist官方文档中的这段: ?他特么实现了。通过进程名+文件锁实现了多进程间的数据共享。 后边就在xdist提供的两个参数基础上完成了实现。 最终实现 对比最早的想法,最终的实现方式省略了内存地址和对象间的转换、多设备并发时可能存在的设备冲突。改为在每个进程初始化其所用设备时做设备的分配,省去了大部分代码量。
收获 官方文档多数情况下挺香的 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/22 23:51:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |