温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

扩展InstrumentationTestRunner,传递自定义参数

发布时间:2020-04-24 18:44:35 阅读:1695 作者:心如明镜 栏目:开发技术
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

 通过继承InstrumentationTestRunner,就可以传递自定义参数到TestRunner。这里是传递port、packageName、activityName,其中port是用于在手机侧启动一个TCP服务的端口,packageName和activityName是用于指定首个启动的activity的参数配置:

import android.os.Bundleimport android.test.InstrumentationTestRunner;  public class AthrunInstrumentationTestRunner extends InstrumentationTestRunner {         private static String packageName = "com.taobao.fario";         private static String activityName = "com.taobao.fario.MainActivity";                      private static String port = "1234";         public static String getPort() {         return port;     }      public static String getPackageName() {         return packageName;     }      public static String getActivityName() {         return activityName;     }          @Override     public void onCreate(Bundle arguments) {         if (arguments != null) {             String port = arguments.getString("port");             String packageName = arguments.getString("packageName");             String activityName = arguments.getString("activityName");             if (port != null) {                 AthrunInstrumentationTestRunner.port = port;             }             if (packageName != null) {                 AthrunInstrumentationTestRunner.packageName = packageName;             }             if (activityName != null) {                 AthrunInstrumentationTestRunner.activityName = activityName;             }         }                  super.onCreate(arguments);     } 

执行命令变成:

adb -s SH14MTJ01900 shell am instrument -w -e port 1234 -e class org.athrun.remoterunner.TravelTest#test org.athrun.remoterunner/org.athrun.instrumentation.AthrunInstrumentationTestRunner 

在Testcase中如何使用传入的packageName和activityName:

public class TravelTest extends ActivityInstrumentationTestCase2 {          private static String getPkgName() {         String packageName = AthrunInstrumentationTestRunner.getPackageName();         return packageName;     }      private static String getActivityClassStr() throws ClassNotFoundException {         String activityName = AthrunInstrumentationTestRunner.getActivityName();         return activityName;     }      public TravelTest() throws Exception {         super(getPkgName(), getActivityClassStr());     } 

-e 是属于扩展参数,使用这种方法是可以不断扩展的。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×