APP测试,尤其是APP的自动化测试,在软件测试工程师的面试中越来越会被问到了。为了更好的回答这个问题,我今天就给大家分享一下,如何进行APP的自动化测试。
一、为了实现Java+Appium+Junit技术用于APP自动化测试,所以需要完成以下内容:
1、完成环境配置:
2、安装JDK,配置Java开发环境。JDK版本为1.8.
3、下载和配置完成ADT环境。Android Development Tools环境。
4、调试完成adb命令。
5、安装和使用Android模拟器工具。
6、下载和配置好Appium,需要安装node.js环境(一般是为了安装appium)。
7、将Java开发Appium的相关文件(Jar文件准备好)。
8、下载和配置Junit环境。
二、开始编写和准备测试脚本。
1、创建Java工程和项目。
2、创建一个Junit的Java文件,将Junit4的相关包添加到build path中。
3.将appium相关的三个Jar包,放在项目的lib文件中,并添加到build path中。
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");
使用adb命令,获取设备名称。打开模拟器,使用adb命令:adb devices.
使用adb命令,获取Android系统版本号。
使用adb命令,获取APP的包名称。
使用相关的adb命令,获取到被测APP的activity名称。
定义驱动对象
//生成对象的地址和路径
AppiumDriver driver = new AppiumDriver(new URL(" http://127.0.0.1:4723/wd/hub"),dc);
使用UIautomatorViewer。定位界面元素,并对元素进行操作。
开始编写代码。
//定位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))
运行脚本。这个地方没法截图了。(大家脑补一下吧)
学习安排上
如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片进群即可自行领取。