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

本文详细介绍如何使用LazyAndroid框架进行安卓UI自动化测试。包括构建测试工程、导出目标页面Java文件、编写page层代码及测试案例等步骤。

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


前面的3篇博文分别对lazyAndroid的框架简介、元素抓取和核心API进行了说明,本文将基于框架给出的测试模板工程,详细阐述下使用该框架进行安卓UI自动化测试的步骤。

模板工程

先来看一下模板工程中包含哪些东西:
这里写图片描述

图中标注说明:
1是bean层,是lazy-uiautomaterviewer自动生成的Java代码,是基于目标控件xpath自动定义的变量。
2是page层,是基于bean层代码封装的基本操作,一般以页面为单位。
3是test层代码,是基于page层操作写的测试case。
4是待测试的目标apk。
5是测试失败的截图,主要是方便排查case挂掉的原因。
这里写图片描述
6是工程的pom文件,主要是不要忘了引入lazyAndroid的jar包。
7是一个配置文件,里面有3个参数,含义看看注释就能明白了。
这里写图片描述

使用LazyAndroid进行测试的步骤

使用LazyAndroid框架进行安卓UI自动化测试,一般需要分一下几步走:
1.建立maven+testng的测试工程(非强制要求),导入lazyAndroid的jar包(需要事先将jar包deploy到某个maven仓库)。
这里写图片描述

2.确定测试功能需要覆盖哪些页面和控件,使用lazy-uiautomaterviewer导出目标页面(控件)对应的java文件。具体方法请参考:http://blog.youkuaiyun.com/kaka1121/article/details/53301517
例如,测试京东钱包的转账功能需要导出如下页面的java文件:
这里写图片描述

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();
    }
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

这里需要注意下,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);
    }
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

4.调用page的方法,完成test层测试case的书写。例如登陆功能测试:

    /**
     * 登陆测试
     */
    @Test
    public void loginTest() {
        demoPage.login();
    }
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

5.启动Appium,run as “testNG test” 运行、调试测试代码(别忘了把手机连上电脑)。大家也可以使用junit等测试框架,或者直接在main函数中练练手。(Appium的安装和启动方法,比较简单,大家自行百度)

大家可以下载模板工程练练手,熟悉后就可以开始自己的app测试了。模板工程下载地址:http://download.youkuaiyun.com/detail/kaka1121/9685943,如果使用过程有任何问题,欢迎大家留言

 
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值