APP测试,尤其是APP的自动化测试,在软件测试工程师的面试中越来越会被问到了。为了更好的回答这个问题,凯哥今天就给大家分享一下,如何进行APP的自动化测试。
一、为了实现Java+Appium+Junit技术用于APP自动化测试,所以需要完成以下内容:
- 完成环境配置:
- 安装JDK,配置Java开发环境。JDK版本为1.8.
- 下载和配置完成ADT环境。Android Development Tools环境。
- 调试完成adb命令。
- 安装和使用Android模拟器工具。
- 下载和配置好Appium,需要安装node.js环境(一般是为了安装appium)。
- 将Java开发Appium的相关文件(Jar文件准备好)。
- 下载和配置Junit环境。
二、开始编写和准备测试脚本。
- 创建Java工程和项目。
- 创建一个Junit的Java文件,将Junit4的相关包添加到build path中。
![af9e5e342c52f8a03a72fc54a69a4dfe.png](https://i-blog.csdnimg.cn/blog_migrate/625bfd62fcfaccfc9bc3984b762cc295.jpeg)
3.将appium相关的三个Jar包,放在项目的lib文件中,并添加到build path中。
![b42662ab802de654da1d9983176bd6c2.png](https://i-blog.csdnimg.cn/blog_migrate/60b703b3a34ebf41710f7f93e1f69e7b.jpeg)
4.开始编写测试脚本。在Junit的Java文件中,设置Desired Capabilities。
DesiredCapabilities dc = new DesiredCapabilities();
//添加属性
dc.setCapability("deviceName", "127.0.0.1:56001");
dc.setCapability("automationName", "Appium");
dc.setCapability("platformName", "Android");
dc.setCapability("platformVersion", "4.4.4");
dc.setCapability("appPackage", "com.ibox.calculators");
dc.setCapability("appActivity", ".CalculatorActivity");
![ff4d0f04c61cf69150d7f3355a8f2406.png](https://i-blog.csdnimg.cn/blog_migrate/293bf298128a35d3e26ceba0628e9f43.jpeg)
使用adb命令,获取设备名称。打开模拟器,使用adb命令:adb devices.
![75b4d6b4cf6cc939119b34d9a8fd07bf.png](https://i-blog.csdnimg.cn/blog_migrate/e61e447df5deff7e52b5e33d8d9908ad.jpeg)
使用adb命令,获取Android系统版本号。
![299fdf760eeba283a83524d2c98106af.png](https://i-blog.csdnimg.cn/blog_migrate/2ce1d3ff2456d69bd414882140f0ac44.jpeg)
使用adb命令,获取APP的包名称。
![80cc588f09081667ce5a01072ebb51a2.png](https://i-blog.csdnimg.cn/blog_migrate/877db00634ca0989ae4eee0393aff73f.jpeg)
使用相关的adb命令,获取到被测APP的activity名称。
![e5edaec9b57a0160c55bcbe60bf37a83.png](https://i-blog.csdnimg.cn/blog_migrate/87200ecb5313736052877c9a1c06f5a0.jpeg)
定义驱动对象。
//生成对象的地址和路径
AppiumDriver driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),dc);
使用UIautomatorViewer。定位界面元素,并对元素进行操作。
![b0dec43e2b7f65362ab06d092d53a541.png](https://i-blog.csdnimg.cn/blog_migrate/fbda35223e6d0d88994985c26d1b8c31.jpeg)
开始编写代码。
//定位APP的界面元素
/*
* 实现计算器计算98+45=
* */
//元素等待
Thread.sleep(10000);
driver.findElement(By.id("com.ibox.calculators:id/user_privacy_ok")).click();
Thread.sleep(3000);
driver.findElement(By.id("com.ibox.calculators:id/digit9")).click();
Thread.sleep(2000);
driver.findElement(By.id("com.ibox.calculators:id/digit8")).click();
Thread.sleep(2000);
driver.findElement(By.id("com.ibox.calculators:id/plus")).click();
Thread.sleep(2000);
driver.findElement(By.id("com.ibox.calculators:id/digit4")).click();
Thread.sleep(2000);
driver.findElement(By.id("com.ibox.calculators:id/digit5")).click();
Thread.sleep(2000);
driver.findElement(By.id("com.ibox.calculators:id/add_item")).click();
启动APPium,并开启服务。(将host设置为127.0.0.1,Port保持默认(4723))
![1454356609e3c9e3967053a595fda392.png](https://i-blog.csdnimg.cn/blog_migrate/7f927ef5962257c8fff97e3e076a76d5.jpeg)
运行脚本。这个地方没法截图了。(大家脑补一下吧)