当前位置: 首页 > news >正文

java APP自动化测试AppIum

一、前言
二、Appium环境搭建
2.1 JDK安装
2.2 Android SDK安装配置
2.3 模拟器安装及配置
2.4 Appium Desktop安装及使用
2.5 Appium配置连接模拟器
三、实战基本脚本编写
3.1 创建Maven项目并配置
3.2 简单Demo
四、写在最后
 

一、前言
随着移动互联网的发展,APP上面的测试逐渐的流行起来。而作为APP自动化测试中最常用的框架就是Appium。Appium是一个开源、跨平台的测试框架。可以用来测试原生及混合的移动端应用。
下面就从Appium环境搭建和基础脚本编写来展开。其中Appium环境搭建中,需要安装JDK、Android SDK、模拟器(或者用真机),从而后续就是使用代码连接Appium来操作模拟器。

二、Appium环境搭建
2.1 JDK安装
关于JDK的安装及环境变量配置就不在这里多做解释了。

2.2 Android SDK安装配置
下载压缩包文件

链接:这是一个链接
提取码:99a6

解压后点击打开SDK Manager.exe文件


勾选Tools下的前三个选项,并安装,安装完成后目录下回多出几个文件夹。


环境变量配置
ANDROID_HOME:SDK安装目录
Path:%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\29.0.3;%ANDROID_HOME%\platform-tools;


验证配置:输入adb和aapt有使用帮助信息说明配置成功了

2.3 模拟器安装及配置
安装模拟器,这里选择的是夜神模拟器,安装的话,直接网上下载后安装即可,记住安装目录即可

打开模拟器并安装APK文件

查看服务是否启动

adb devices
nox_adb.exe connect 127.0.0.1:62001

踩坑问题——adb.exe与nox_adb.exe版本问题
使用adb version、nox_adb version命令查看bin目录下adb.exe、
nox_adb.exe的版本,然后切换到其他目录下,使用adb version查看版本。
如果不一致,就要将Android SDK目录下的adb.exe复制替换到模拟器bin目录下,
并且复制修改名称为nox_adb.exe替换模拟器bin目录下的nox_adb.exe
 

2.4 Appium Desktop安装及使用
  • 下载安装包文件

    链接:这是一个链接
    提取码:99a6

  • 点击安装appium-desktop-Setup-1.3.1.exe文件,直接点击安装即可。

2.5 Appium配置连接模拟器
  • 使用命令查看Android版本
    adb shell getprop ro.build.version.release
    

使用命令APK文件信息

aapt dump badging D:\BaiduMap.apk

Appium 创建连接

{
"platformName": "Android",
"platformVersion": "5.1.1",
"deviceName": "127.0.0.1:62001",
"appPackage": "com.baidu.BaiduMap",
"appActivity": "com.baidu.baidumaps.WelcomeScreen"
}

开启链接后的效果

在模拟器中操作app

三、实战基本脚本编写

3.1 创建Maven项目并配置
<dependency><groupId>io.appium</groupId><artifactId>java-client</artifactId><version>7.5.0</version></dependency><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-remote-driver</artifactId><version>3.141.59</version></dependency><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-api</artifactId><version>3.141.59</version></dependency>
/*** @author YFF* @version 1.0.0* @date 2020/06/06**/
public class AppTest {public static void main(String[] args) throws Exception{AppiumDriver driver=null;DesiredCapabilities cap=new DesiredCapabilities();cap.setCapability("platformName","Android");cap.setCapability("platformVersion","5.1.1");cap.setCapability("deviceName","127.0.0.1:62001");cap.setCapability("appPackage","com.baidu.BaiduMap");cap.setCapability("appActivity","com.baidu.baidumaps.WelcomeScreen");cap.setCapability("unicodeKeyboard","true");cap.setCapability("resetKeyboard","true");cap.setCapability("noSign","true");driver=new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),cap);Thread.sleep(5000);/*点击同意按钮*/driver.findElement(By.id("com.baidu.BaiduMap:id/ok_btn")).click();Thread.sleep(5000);/*点击进入地图*/driver.findElement(By.id("com.baidu.BaiduMap:id/btn_enter_map")).click();Thread.sleep(5000);driver.quit();}
}

四、写在最后

(1)将这个过程中常用的命令写在后面,方面后面查阅。

##模拟器连接
nox_adb.exe connect 127.0.0.1:62001##查看设备信息
adb devices##查看Android版本
adb shell getprop ro.build.version.release##查看APK信息
aapt dump badging D:\BaiduMap.apk##查看adb.exe和nox_adb.exe版本
adb version
nox_adb version

http://www.lryc.cn/news/219437.html

相关文章:

  • 【洛谷 P1303】A*B Problem 题解(高精度+字符串)
  • 计算机网络(43)
  • Ipswitch WS_FTP 12 安裝
  • 二十三种设计模式全面解析-解密组合模式(Composite Pattern):构建统一而强大的对象结构
  • 为什么路由器属于网络层
  • 【0基础学Java第七课】-- 类和对象01
  • 一个JS版寻路的实现
  • Java web应用的目录结构
  • 【Mac环境搭建】JDK安装、多JDK安装与切换
  • C++: 类和对象(中)
  • 图片批量归类:告别混乱,实现高效文件管理
  • 187. 重复的DNA序列 --力扣 --JAVA
  • Mysql高级——Mysql8一主一从,多主多从搭建
  • 【Qt5】QNetworkAccessManager
  • zookeeper节点类型
  • 【C++】一篇文章搞懂auto关键字及其相关用法!
  • 微信小程序overflow-x超出部分样式不渲染
  • Oracle常用运维SQL-SQL执行性能及锁表等查询分析
  • 安装MySQL时出现 由于找不到 MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题。
  • 【基础IO⑧】:文件描述符fd(进程与文件的联系)
  • 搭建WAMP网站教程(windows+apache+mysql+php)
  • 瓦斯抽采VR应急救援模拟仿真系统筑牢企业安全生产防线
  • nodelist 与 HTMLCollection 的区别
  • 系列十二、过滤器 vs 拦截器
  • dockerfile运行apk命令卡住的问题解决——更换镜像
  • Android - 编译 openssl 踩坑之路
  • verdi技巧分享--合并多个fsdb文件、统计信号边沿
  • czmq的4版本中CURVE怎么实现的两个程序之间使用的一个证书?
  • Spring Boot整合Swagger
  • SpringBoot-WebSocket浏览器-服务器双向通信