背景

在做moblink自动化测试任务时,遇到以下问题,导致测试用例编写遇到问题。需要在mobLink APP中分享一条链接,并且使用多种浏览器打开链接唤醒mobLinkAPP。

appium提供了一个方法可以在浏览器中打开URL

driver.get(String URL);

此方法执行时,appium会运行以下命令,可以看到后面带了一个被测APP的包名。

由于appium在设置capabilities时,package只能设置被测试APP的package。因为被测试APP不是浏览器,所以此方法无法打开URL。

解决方法

使用driver.executeScript(script,args),此方法可以执行adb的所有命令,比如获取CPU、内存消耗等。

具体使用方法如下

driver.executeScript("mobile:shell",ImmutableMap.of("command","am force-stop com.mob.moblink.demo")); (强行杀掉moblink的进程),使用此方法,在启动appium时必须将Relaxed Security 勾上

在其他浏览器中打开URL,使用以下方法

driver.executeScript("mobile:deepLink",ImmutableMap.of("url","http://www.baidu.com","package","com.android.chrome")); (在谷歌浏览器中打开百度页面)

可以看到日志,后面的包名已经变成了谷歌浏览器的包名了。

executeScript详细支持和使用说明

http://appium.io/docs/en/comm...



中关村科金
136 声望13 粉丝

北京中关村科金技术有限公司(简称“中关村科金”)是国内领先的对话式AI技术解决方案提供商,成立于2014年,注册资本14亿元,总部位于北京,在上海、重庆、深圳、杭州、成都等地设有分支机构,公司规模近千人,其...