Appium 结合 TestNG 并行执行测试

news2024/11/27 9:37:59

Appium 测试框架可以让我们使用不同的编程语言(Java、Python、Ruby、JavaScript)测试不同移动端平台的应用(Android、iOS),目前也是最火的移动端测试框架。这篇文章会带着大家学习到如何在不同设备中并行执行测试。

并行执行测试能够带来的好处:

提升测试效率,我们可以将测试用例分发给不同的设备执行,从而可以减少整体测试所花费的时间

同时我们可以将相同的测试用例给不同的设备去执行,特别适合需要做兼容性测试的场景

Appium 本身并没有提供并行执行这样的功能,我们可以借助 Java 中最流行的 TestNG 单元测试框架所提供的功能实现。

1、TestNG简介

TestNG(Next Generation)下一代单元测试框架技术,在这之前 Junit 在 Java 世界中是主流的选择,由于 TestNG 的强大和易用性,现在已逐步取代 Junit 成为最流行的单元测试框架技术。

TestNG 优点

TestNG 与 Junit 是比较类似的,但是与其相比提供了更为强大的特性并且更加易用,包括不仅限于

  • 更加丰富的注解

  • 超时、异常测试

  • 参数化测试

  • 并行测试

2、TestNG并行测试配置

TestNG 可以支持通过 XML 配置并发测试

图片

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386   

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a

两个关键配置:

  • parallel=”{methods/classes/tests}”

    指定 methods/classes/tests 标签在同一线程中

  • thread-count=”{你想要并发执行的线程数量}”

执行 TestNG.xml 文件,可以看到两个测试类会在同一时间并行执行测试。

3、TestNG结合Appium并发执行测试

Step1:开启多个 Appium Server,指定不同的监听端口3

图片

Step2:adb 连接上多台设备

这里以夜神的多开功能演示,默认第一台夜神模拟器端口 62001,第二台端口 62025,第三台 62026...

多台真机只需打开 USB 调试模式,勾选弹框即可

图片

Step3:编写测试脚本

图片

Step4:TestNG.xml 文件配置

图片

运行效果:

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1166931.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Oracle数据库两表关联更新

先放结论 UPDATE 需要更新的表名 BSET B.更新字段1 更新内容1, B.更新字段2 更新内容2WHERE EXISTS (SELECT 1FROM 关联表名 AWHERE A.关联字段 B.关联字段AND A.筛选字段1 筛选字段1 AND A.筛选字段2 筛选字段2 AND B.筛选字段3 筛选字段3 );问题分析 需要写一个更新语…

凝聚伙伴力量,共赢产业未来—— 麒麟信安云展信创重庆站活动圆满召开

志合越山海,聚力共前行!11月1日下午,麒麟信安云展信创重庆站圆满召开。 本次活动邀请业内专家、权威机构、行业客户、合作伙伴齐聚一堂,围绕产业新机遇、新挑战,产业政策及趋势等内容展开研讨交流,同时分享…

【SFM】《Structure-from-Motion Revisited》

论文 论文代码 资料 cvpr2017 COLMAP 文章目录 2. 本文贡献2.1 Scene Graph Augmentation 场景图增强2.2 Next Best View Selection下一个最佳视图选择2.3 鲁棒高效的三角化 2.4 BA(Bundle Adjustment)2.4.1 参数化求解方法2.4.2 过滤2.4.3 再三角化&…

企业大数据挖掘平台推荐

大数据挖掘平台适合哪些应用场景呢? 1、适合大型企业 分布式云计算,线性扩展,保证性能,与BI平台无缝整合,一键发布挖掘模型,模型库提高知识复用,减少重复投入,支持跨库…

当科技遇上神器:用Streamlit定制AI可视化问答界面

Streamlit是一个开源的Python库,利用Streamlit可以快速构建机器学习应用的用户界面。 本文主要探讨如何使用Streamlit构建大模型外部知识检索的AI问答可视化界面。 我们先构建了外部知识检索接口,然后让大模型根据检索返回的结果作为上下文来回答问题。…

UPS设备还只知道人工巡检?这个神器你一定要试试!

随着电子设备在我们的生活和工作中扮演越来越重要的角色,电力的可靠性变得至关重要。不间断电源系统作为一种关键设备,可以提供电力备份,以保障设备在电力中断或波动的情况下能够正常运行。然而,UPS设备的有效监控和管理对于确保其…

unity 使用TriLib插件动态读取外部模型

最近在做动态加载读取外部模型的功能使用了triLib插件,废话不多说直接干货。 第一步下载导入插件,直接分享主打白嫖共享,不搞花里胡哨的。 链接:https://pan.baidu.com/s/1DK474wSrIZ0R6i0EBh5V8A 提取码:tado 导入后第…

录屏软件免费版,精选3款,助你轻松录制!

录屏软件在今天的数字时代中扮演着重要的角色,无论是为了创建教育教程、分享游戏成就,还是记录计算机上的操作步骤。然而,许多用户面临付费和高级功能的限制,很难找到合适的免费录屏软件。那录屏软件免费版都有哪些呢?…

SpringBoot整合Activiti7——全局监听器(八)

文章目录 一、全局监听器事件类型配置方式(选)日志监听器代码实现xml文件创建全局监听器全局配置类测试流程部署流程启动流程 一、全局监听器 它是引擎范围的事件监听器,可以捕获所有的Activiti事件。 事件类型 ActivitiEventType 枚举类中包含全部事件类型 配置方…

【接口测试】Postman登录接口鉴权实战案例,跟着大牛通关...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 在做接口测试的时…

双十一快递“当天达”?宏电助力物流分拣系统高效运行

​众所周知,每年双11都是快递业务的高峰期,是对各大物流企业运输能力的一次大考。为了持续提升快递配送的速度,自动化物流仓储建设的速度也在不断的加快,而在一个完整的自动化物流仓储系统中,输送分拣设备是物流自动化…

掌握视频剪辑技巧:高手教您如何批量减少片头时长并调整播放倍速

随着社交媒体的普及,视频已经成为人们传递信息、表达观点的重要方式。而视频剪辑则是在这个过程中不可或缺的一环。在视频剪辑过程中,时长是一个重要的因素。有时候,我们需要对视频进行裁剪,以减少其时长。今天,我们讲…

分享一下在微信小程序里怎么做一个投票链接

在当今信息化社会,投票已成为各行各业收集意见、汇聚智慧的重要手段。传统的投票方式往往需要投入大量人力物力,而如今,借助微信小程序,我们可以在几分钟内创建一个高效、便捷的投票平台。本文将详细介绍如何在微信小程序中添加投…

OpenCV检测圆(Python版本)

文章目录 示例代码示例结果调参 示例代码 import cv2 import numpy as np# 加载图像 image_path DistanceComparison/test_image/1.png image cv2.imread(image_path, cv2.IMREAD_COLOR)# 将图像转换为灰度 gray cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 使用高斯模糊消除…

喜讯!云起无垠获评GEEKCON 2023“前沿突破奖“

近日,“GEEKCON 2023”中国站的比赛在上海西岸艺术中心成功举办。这场活动围绕着人工智能与专业安全的前沿技术展开了深入的探讨和实践活动。本次活动特设五大系列专场:“对抗研判 AVSS挑战赛”、“深蓝洞察之特别披露”、“年度主题大碰撞:G…

分享74个Python管理系统源代码总有一个是你想要的

分享74个Python管理系统源代码总有一个是你想要的 源码链接:https://pan.baidu.com/s/1JXFePOOk_ot4Jdu6_RylOg?pwd8888 提取码:8888 项目名称 ais系统后台项目,基于python flask框架 BNUZ教务系统认证爬虫Python语言实现,你…

java服务器环境配置以及项目搭建

一. 内容简介 使用Mavn聚合工程,springboot整合spring,springmvc,mybatis框架,完成项目搭建 二. 软件环境 2.1 java 1.8.0_144 2.2 mysql Ver 8.0.30( 8.10的好像出问题,我给重装了) 2.3 IntelliJ IDEA 2023.1 2.4 Apache Maven 3.9.5 …

冬天女儿的羽绒服就选它了,哈哈很喜欢

长款设计感满满的羽绒服 真的一下子就戳中了我的心巴 90白鸭绒+杜邦三防工艺+精细压线 厚实保暖不臃肿,粉色撞色甜美又可爱

【MongoDB】索引 - 单字段索引

MongoDB支持在集合文档中的任意字段上创建索引,默认情况下所有的集合都有一个_id字段的索引,用户和应用可以新增索引用于查询和操作。 一、准备工作 这里准备一些学生数据 db.students.insertMany([{ _id: 1, name: "张三", age: 20, clas…

springboot整合七牛云oss操作文件

文章目录 springboot整合七牛云oss操作文件核心代码(记得修改application.yml配置参数⭐)maven依赖QiniuOssProperties配置类UploadControllerResponseResult统一封装响应结果ResponseType响应类型枚举OssUploadService接口QiniuOssUploadServiceImpl实现…