例子使用android studio,网上下载oschina的源码(使用2.6.6版本,2.6.9版本有些依赖下不下来会报错)
使用android studio打开oschina源码
然后按照提示修改各个配置(keystore、jdk)
1.修改keystore。
在android-app下的build.gradle配置。配置完后点右上角的Try Again
2.jdk。本地未安装android-24,所以未匹配到
点击提示信息的链接,android studio会帮助下载
配置完,项目结构会发生变化(文件重新摆放位置了)。
在gradle下的build.gradel(Module:app)的文件-Dependencies下添加robotium依赖
因为现在最新版本是2.6.9,所以为了防止每次打开app会弹出升级提示,我们把版本号更改成最新版。gradle下的build.gradle(Project)。修改versionCode为2.6.9
每次有什么修改的时候,顶部都会有sync的提示。点一下更新即可
没有报错就ok了。接下来开始写测试
在app-java-net.oschina.app(androidTest)中新建SoloWrap的类,用来重写solo类
在app-java-net.oschina.app(androidTest)中新建文件夹Page。用来存放各个页面上的元素
目前只测试login,用的界面有底部的各个tab、我的界面、登录界面、设置界面
page页面:声明元素、初始化solo、初始化各个元素、可能使用到的元素。以下以登录界面为例,其他界面雷同
新建一个PageHelper的类,之后调用可以直接调用pageHelper。pageLogin.initViews是用来每次使用该页面的元素时重新获取页面元素的。在自动化测试中,一次获取到的元素只能被使用一次,如果下次要再使用,需要重新获取。
新建一个Basic的类,用来声明公共的信息:比如公共的变量、setUp方法、tearDown方法。注:如果代码中有的方法被划上了删除线,是说该方法已经在新版本中废弃了,但是还是可以使用的
开始写测试用例。新建一个文件夹testcase。用来存放各个用例的
新建testSuite的文件夹。把测试用来集合起来
新建Runner的类。用来执行testSuite。使用默认的Runner(InstrumentationTestRunner)
更改运行全部test,点击运行类旁的下拉菜单,选择Edit Configurations进入配置界面
选择All in Module,输入包名+Runner
直接运行就可以了。
但是这种报告需要通过ide导出。所以引用JunitTestRunner
网上下载android-junit-report-1.5.8.jar,回到android studio,把模式更改为Project,把jar包拷贝到app-libs下,在该目录下选择jar包,右键选择add as library
在build.gradle(app)下可以看到jar包被引进去了
把Runner类中的继承改成JunitReportTestRunner
JunitReportTestRunner的报告默认是保存在手机/data/data/package/files下,文件名为junit-report.xml
在命令行中运行命令,可以修改保存的位置和保存的文件名(如果手机没有权限进入/data/data目录的时候可以使用)先确认该app有写入到手机存储卡的权限
运行成功后把报告pull到pc就可以了