appium中executeScript使用

时间:2021-06-11 18:13:04   收藏:0   阅读:0

背景

在做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/commands/mobile-command/#appium-server

 

技术图片

 

技术图片

技术图片

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!