APP自动化框架LazyAndroid使用手册--测试模板工程详解

于今腐草无萤火,终古垂杨有暮鸦。这篇文章主要讲述APP自动化框架LazyAndroid使用手册--测试模板工程详解相关的知识,希望能为你提供帮助。
概述 前面的3篇博文分别对lazyandroid的框架简介、元素抓取和核心API进行了说明, 本文将基于框架给出的测试模板工程, 详细阐述下使用该框架进行安卓UI自动化测试的步骤。
模板工程 先来看一下模板工程中包含哪些东西:

APP自动化框架LazyAndroid使用手册--测试模板工程详解

文章图片

图中标注说明:
1是bean层, 是lazy-uiautomaterviewer自动生成的java代码, 是基于目标控件xpath自动定义的变量。
2是page层, 是基于bean层代码封装的基本操作, 一般以页面为单位。
3是test层代码, 是基于page层操作写的测试case。
4是待测试的目标apk。
5是测试失败的截图, 主要是方便排查case挂掉的原因。
APP自动化框架LazyAndroid使用手册--测试模板工程详解

文章图片

6是工程的pom文件, 主要是不要忘了引入lazyAndroid的jar包。
7是一个配置文件, 里面有3个参数, 含义看看注释就能明白了。
APP自动化框架LazyAndroid使用手册--测试模板工程详解

文章图片

使用LazyAndroid进行测试的步骤 使用LazyAndroid框架进行安卓UI自动化测试, 一般需要分一下几步走:
1.建立maven+ testng的测试工程( 非强制要求) , 导入lazyAndroid的jar包( 需要事先将jar包deploy到某个maven仓库) 。
APP自动化框架LazyAndroid使用手册--测试模板工程详解

文章图片

2.确定测试功能需要覆盖哪些页面和控件, 使用lazy-uiautomaterviewer导出目标页面( 控件) 对应的java文件。具体方法请参考: http://blog.csdn.net/kaka1121/article/details/53301517
例如, 测试京东钱包的转账功能需要导出如下页面的java文件:
APP自动化框架LazyAndroid使用手册--测试模板工程详解

文章图片

3.开始书写page层代码, 封装基本操作, 例如登陆、转账、付款等。
例如, 登陆操作:
/** * 登陆操作 */ public void login() { logger.info(" login by jdpay account!" ); todayBean.textViewToday.expectElementExistOrNot(true); todayBean.textViewMine.expectElementExistOrNot(true); todayBean.textViewMine.click(); lazyDriver.handleFailure(" screen test:" ); mineBean.login.expectElementExistOrNot(true); mineBean.login.click(); loginBean.jdpayAccount.expectElementExistOrNot(true); loginBean.jdpayAccount.click(); loginBean.editTextPhone.input(" 13034631475" ); loginBean.nextStep.click(); loginBean.editjdPayTextPwd.expectElementExistOrNot(true); loginBean.editjdPayTextPwd.input(" haha123" ); loginBean.jdpayLogin.click(); lazyDriver.swipeToLeft(); }

这里需要注意下, page层的构造函数需要使用LazyDriver实例化该page层用到的各个bean层的类:
/** * 构造函数 * @ param aLazyDriver */ public DemoPage(LazyDriver aLazyDriver) { lazyDriver = aLazyDriver; driver = lazyDriver.getDriver(); todayBean = new TodayBean(driver); new LifeBean(driver); lifeBean2 = new LifeBean2(driver); mineBean = new MineBean(driver); loginBean = new LoginBean(driver); }

4.调用page的方法, 完成test层测试case的书写。例如登陆功能测试:
/** * 登陆测试 */ @ Test public void loginTest() { demoPage.login(); }

5.启动Appium, run as “testNG test” 运行、调试测试代码( 别忘了把手机连上电脑) 。大家也可以使用junit等测试框架, 或者直接在main函数中练练手。( Appium的安装和启动方法, 比较简单, 大家自行百度)
【APP自动化框架LazyAndroid使用手册--测试模板工程详解】大家可以下载模板工程练练手, 熟悉后就可以开始自己的app测试了。模板工程下载地址: http://download.csdn.net/detail/kaka1121/9685943, 如果使用过程有任何问题, 欢迎大家留言

    推荐阅读