欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

程序员文章站 2022-03-20 23:02:47
前言:前段时间做了selenium的学习和实践,有点意犹未尽,所以自己就又学了下appium的使用,因为这一套东西在16年已经停止维护了,不管实现还是设计上都不是很容易,也踩了很多坑,现在在此记录下大...

前言:前段时间做了selenium的学习和实践,有点意犹未尽,所以自己就又学了下appium的使用,因为这一套东西在16年已经停止维护了,不管实现还是设计上都不是很容易,也踩了很多坑,现在在此记录下大概过程。后续有时间再完善手册。

一、准备

安装sdk,配置环境变量

链接: https://pan.baidu.com/s/1g2qawjdfg6txa0gzf9kk3a

提取码: 8aaz

windows配置环境sdk变量
我的电脑右键->属性

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

点击高级系统设置

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

点击环境变量

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

点击新建按钮,变量名输入android_home,变量值输入解压后的sdk目录

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

path变量加入图中两个路径

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

打开cmd命令,输入adb后回车 展示如下内容即可

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

在cmd中输入android并回车,会自动打开android sdk管理器

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

下载appium服务,并启动

链接: https://pan.baidu.com/s/1tf_33zhbmwbmn0hkl-z8uq

提取码: s5qa

双击桌面下载好的appium.exe程序,启动appium服务

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程
使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

出现上图后说明已启动成功

二、代码实现

安装jdk


安装过程比较简单,这里就不做详细的赘述了。
之后设置环境变量java_home

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

编辑path,添加bin目录

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

验证jdk安装,打开cmd输入java,回车。出现下面提示后即配置成功

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

设置capability

// 1.添加配置,创建desiredcapabilities对象
  desiredcapabilities des = new desiredcapabilities();
  // 指定测试设备的名称
  des.setcapability("devicename", utils.getparam("devicename"));
  // 添加操作系统配置
  des.setcapability("platformname", utils.getparam("platformname"));
  // 添加操作系统版本设置
  des.setcapability("platformversion", openapp.getversion());
  // 连接的物理设备的唯一设备标识
  des.setcapability("udid", openapp.getdevicename());
  // 不需要再次安装
  des.setcapability("noreset", boolean.valueof(utils.getparam("noreset")));
  // 设置apk的安装路径
  des.setcapability("app", apkdir.getabsolutepath());
  //指定想要测试应用的包名
  des.setcapability("apppackage", utils.getparam("apppackage"));
  // 指定想要测试应用的入口
  des.setcapability("appactivity", utils.getparam("appactivity"));
  // 支持中文输入
  des.setcapability("unicodekeyboard", boolean.valueof(utils.getparam("unicodekeyboard")));
  des.setcapability("resetkeyboard", boolean.valueof(utils.getparam("resetkeyboard")));
  // 没有新命令时的超时时间设置
  des.setcapability("newcommandtimeout", utils.getparam("newcommandtimeout"));
  // 跳过检查和对应用进行 debug 签名的步骤
  des.setcapability("nosign", utils.getparam("nosign"));
  //自动点击弹窗如:是否允许读取文件权限
  des.setcapability("autograntpermissions",boolean.valueof(utils.getparam("autograntpermissions")));
  //安卓版本较新,使用uiautomator2
//  des.setcapability("automationname", utils.getparam("automationname"));

指定appium通讯的地址,将相对应的配置传入到驱动运行testng.xml文件,执行用例(代码会先检查手机有没有连接,没有连接手机不运行,手机端有没有安装要测试的程序,没有的话先安装,安装完成后启动手机app程序,再执行用例),执行完成后会显示执行结果,也可以设置失败截屏,方便我们排查和分析具体失败原因

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

看失败截图,很显然现在失败的原因是因为网络原因,ui没有加载完成,元素未找到

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

代码中抛异常的地方也是如此

使用JAVA+Maven+TestNG框架实现超详细Appium测试安卓真机教程

sdk下载:

链接: https://pan.baidu.com/s/1g2qawjdfg6txa0gzf9kk3a

提取码: 8aaz

后面也做了定期执行的程序,包括自动发送邮件,省心。因为写的比较仓促,格式和内容都比较简陋,小白可以做参考(大佬勿喷!)

到此这篇关于使用java+maven+testng框架实现超详细appium测试安卓真机教程的文章就介绍到这了,更多相关java+maven+testng框架实现appium测试安卓真机内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!