温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在JAVA中使用Maven与TestNG框架实现一个Appium测试功能

发布时间:2021-01-29 16:09:47 来源:亿速云 阅读:170 作者:Leah 栏目:开发技术

本篇文章为大家展示了怎么在JAVA中使用Maven与TestNG框架实现一个Appium测试功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

一、准备

安装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测试功能

上述内容就是怎么在JAVA中使用Maven与TestNG框架实现一个Appium测试功能,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI