Robotium自动化测试(“半”架构)

作者: tyoko | 来源:发表于2016-12-05 18:01 被阅读0次

    例子使用android studio,网上下载oschina的源码(使用2.6.6版本,2.6.9版本有些依赖下不下来会报错)

    使用android studio打开oschina源码

    打开oschina源码

    然后按照提示修改各个配置(keystore、jdk)

    1.修改keystore。

    配置

    在android-app下的build.gradle配置。配置完后点右上角的Try Again

    keystore

    2.jdk。本地未安装android-24,所以未匹配到

    android-24

    点击提示信息的链接,android studio会帮助下载

    下载android-24

    配置完,项目结构会发生变化(文件重新摆放位置了)。

    在gradle下的build.gradel(Module:app)的文件-Dependencies下添加robotium依赖

    添加robotium依赖

    因为现在最新版本是2.6.9,所以为了防止每次打开app会弹出升级提示,我们把版本号更改成最新版。gradle下的build.gradle(Project)。修改versionCode为2.6.9

    修改versionCode

    每次有什么修改的时候,顶部都会有sync的提示。点一下更新即可

    sync

    没有报错就ok了。接下来开始写测试

    在app-java-net.oschina.app(androidTest)中新建SoloWrap的类,用来重写solo类

    可能用到的方法

    在app-java-net.oschina.app(androidTest)中新建文件夹Page。用来存放各个页面上的元素

    Page

    目前只测试login,用的界面有底部的各个tab、我的界面、登录界面、设置界面

    Page

    page页面:声明元素、初始化solo、初始化各个元素、可能使用到的元素。以下以登录界面为例,其他界面雷同

    PageMy

    新建一个PageHelper的类,之后调用可以直接调用pageHelper。pageLogin.initViews是用来每次使用该页面的元素时重新获取页面元素的。在自动化测试中,一次获取到的元素只能被使用一次,如果下次要再使用,需要重新获取。

    pageHelper

    新建一个Basic的类,用来声明公共的信息:比如公共的变量、setUp方法、tearDown方法。注:如果代码中有的方法被划上了删除线,是说该方法已经在新版本中废弃了,但是还是可以使用的

    Basic

    开始写测试用例。新建一个文件夹testcase。用来存放各个用例的

    testcase

    新建testSuite的文件夹。把测试用来集合起来

    testSuite

    新建Runner的类。用来执行testSuite。使用默认的Runner(InstrumentationTestRunner)

    Runner

    更改运行全部test,点击运行类旁的下拉菜单,选择Edit Configurations进入配置界面

    Edit Configurations

    选择All in Module,输入包名+Runner

    Run Configurations

    直接运行就可以了。

    但是这种报告需要通过ide导出。所以引用JunitTestRunner

    网上下载android-junit-report-1.5.8.jar,回到android studio,把模式更改为Project,把jar包拷贝到app-libs下,在该目录下选择jar包,右键选择add as library

    add as library

    在build.gradle(app)下可以看到jar包被引进去了

    build.gradle(app)

    把Runner类中的继承改成JunitReportTestRunner

    JunitReportTestRunner

    JunitReportTestRunner的报告默认是保存在手机/data/data/package/files下,文件名为junit-report.xml

    在命令行中运行命令,可以修改保存的位置和保存的文件名(如果手机没有权限进入/data/data目录的时候可以使用)先确认该app有写入到手机存储卡的权限

    AndroidManifest cmd运行 pull

    运行成功后把报告pull到pc就可以了

    相关文章

      网友评论

        本文标题:Robotium自动化测试(“半”架构)

        本文链接:https://www.haomeiwen.com/subject/ibtlmttx.html