Cafe
Cafe copied to clipboard
Cafe测试方法传递参数
Cafe是否有给测试方法传递参数的机制?如果没有强烈建议加上去。比如有以下场景,要做手机适配测试,实现我针对多种手机写好了拍照的类,运行时要通过传递的参数去new出不同类,调用拍照方法,或者我测试方法里有个循环,传递参数控制循环次数,再比如一个app不允许多点登陆,大量跑case时,用户密码不能写死在case中,只能通过外部传入。据我所知robotium不支持外部传递参数,只能通过读取配置文件的方式,这用起来很不方便。
有啊,只是我一直没写到文档里。。 adb shell am instrument -e custom "你的参数" -w $test_package/com.zutubi.android.junitreport.JUnitReportTestRunner 在testcase中JUnitReportTestRunner.mCustom这个类成员变量就是你传进去的参数:D
只能加一个? 不太灵活啊, 如果我想传递账户名和密码,肯定想这么写 -e user “fdaf” - password "kkk“ ,如果你这样只能-e custom ”fdaf--kkk“, 最后收到再处理了,如果参数更多那就是噩梦了,BTW, 源码里只看见你往JunitReportTestRunner中增了这个参数处理,但没有见到把这个参数最终传递给testcase,这个在测试类里怎么得到这个参数?getParams().getString("custom"); ???
如果不限制传参个数,最好把整个Bundle传递给TestCase是吧,但是这样JunitReportTestRunner里用于控制生成xml格式的参数也传递进去了,筛选出来用户自定义的new一个Bundle然后再传递个TestCase?
多谢好建议,我已经改成支持多个参数的形式了。调用方式为local.getStringFromArguments("username"),启动时-e username就可以了。 代码改动见https://github.com/BaiduQA/Cafe/commit/7568cb151e0778772f04ea21711906fd1d2bbc7f 由于github取消了download page,我把编译产出放在https://github.com/BaiduQA/Cafe/tree/master/out 请下载试用:D
谢谢啊,但是大哥,上个问题也给解决一下呗?难道是我手机的问题?那好歹也保证hirerachyviewer能获取property的情况下, Cafe也照样能获得啊,还有就是在文档或者程序Log里能不能把Cafe不适用的情况重点提一下,这样可以保证后续试用者不会犯跟我一样的疑惑
请问有cafe源码的jar包么?我一直没有找到呢?