频道栏目
首页 > 资讯 > 其他综合 > 正文

使用Appium进行自动化测试教程

18-07-25        来源:[db:作者]  
收藏   我要投稿

搭建Appium测试环境分为三部分。第一部分是使用MyEclipse(也可使用其它IDE)中的Maven添加与Appium有关的jar包;第二部分是安装Appium server或者desktop版,用于解释java代码;第三部分为安装Android SDK用于创建虚拟机器或者连接真机。(因为目前缺少mac机器,无法在苹果ios进行测试,所以这里选择Android作为测试的平台,最后测试采用的是Android版本号为5.0.2的真机,也可用模拟器)。环境搭建步骤因为网上资料很全,所以不重点说明,可参考http://www.testclass.net/appium/

经过上述步骤已经能够搭建出基于java client + appium server + android的自动化测试环境。本节将以新建歌单为例,介绍如何使用Appium自动化测试工具对网易云音乐App进行测试。

1. DesiredCapabilities设置

通过设置DesiredCapabilities来说明测试的机器、环境、入口等。代码如下:

DesiredCapabilities cap=new DesiredCapabilities();
cap.setCapability("automationName", "Appium");//appium做自动化
 //cap.setCapability("app", app.getAbsolutePath());//安装apk
cap.setCapability("deviceName", "oppo-oppo_a33-9729eb6b");//设备名称
cap.setCapability("platformName", "Android"); //安卓自动化还是IOS自动化
cap.setCapability("platformVersion", "5.1.1"); //安卓操作系统版本
cap.setCapability("appPackage","com.netease.cloudmusic");//被测app的包名
cap.setCapability("appActivity",".activity.LoadingActivity");//被测app的入口Activity名称
cap.setCapability("noSign", "True"); //不重新签名apk
cap.setCapability("noReset", "True"); //是否不需要重新安装app
cap.setCapability("unicodeKeyboard", true);//使用 Unicode 输入法
cap.setCapability("resetKeyboard", true); //重置输入法到原有状态

其中第3行注释为设置app的位置,如果待测试app未安装可以通过指定app的位置直接进行安装,如果已安装可以将该行代码进行注释。

第[4-6]行是设置测试的机器信息。其中设备名称中的udid需要通过在cmd命令行下,使用下面的命令得到:

adb devices

第[7-8]行是设置程序的包名和app测试的入口。一般可以在Android源文件中的AndroidManifest.xml中找到,如果没有源码,先对待测app进行一些操作,然后通过cmd下的命令:

adb shell dumpsys activity activities > log.txt

最后在log.txt中找到相应的信息,如下图所示:

其中红框部分分别为appPackage、appActivity。

第[9-10]行是设置每次测试是否不重新安装app以及签名。

第[11-12]行是解决在使用sendKeys()方法时出现无法输入中文的问题。

2. 定位App上的元素

测试过程中非常重要的一个环节是如何定位App上的元素,本文使用Android SDK中的uiautomatorviewer工具来辅助寻找定位信息。uiautomatorviewer可以显示App页面上每个元素的class,index,text等,能够方便找到页面元素的定位信息,如下图所示:

3.自动化测试代码与测试结果

通过2节找到相关元素的定位信息,并通过以下代码,实现自动化新建歌单,歌单名字为“新创建的歌单”。

driver.findElement(By.name("我的")).click();//找到页面text为"我的"的元素
driver.findElementById("com.netease.cloudmusic:id/ana").click();
driver.findElement(By.name("创建新歌单")).click();
driver.findElementById("android:id/input").sendKeys("新创建的歌单");
driver.findElement(By.name("提交")).click();

将以上代码放入循环中,不停的新建歌单,直到到达上限。然后在歌单达到上限的基础上,再测试新建歌单与恢复歌单功能。测试内容及结果如下表所示:

编号

用例名称

测试步骤

测试结果

1

歌单上限

使用Appium不停新建歌单

如图1所示,歌单上限为1000

2

歌单达到上限后继续新建歌单

在“歌单上限”测试基础上,继续新建歌单

如图2所示,提示已达到上限

3

歌单达到上限后恢复歌单

在“歌单上限”测试基础上,进行恢复歌单

如图3所示,提示恢复失败

相关TAG标签
上一篇:栈的压入、弹出序列解析
下一篇:Gitlab管理学习之Gitlab服务器的维护实例
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站