背景
在做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...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。