【发布时间】:2019-09-03 06:55:39
【问题描述】:
我正在远程 android 驱动程序上实现 appium 测试,使用 chrome 浏览器加载 url。 一些 Url 是 pdf,chrome 要求存储这些文件。并且似乎 chrome 无权访问文件系统来存储这些文件,这会导致如下所示的对话框。
请帮助我在没有任何手动输入的情况下通过该对话框。
点击continue后,它将从Android加载实际的权限对话框。
这是我的代码初始化 appium 功能
DesiredCapabilities caps = DesiredCapabilities.android();
caps.setCapability("appiumVersion", "1.9.1");
caps.setCapability("deviceName","Samsung Galaxy S9 Plus HD GoogleAPI Emulator");
caps.setCapability("deviceOrientation", "portrait");
caps.setCapability("browserName", "Chrome");
caps.setCapability("platformVersion", "8.1");
caps.setCapability("platformName","Android");
caps.setCapability("autoAcceptAlerts", true);
caps.setCapability("autoGrantPermissions", true);
caps.setCapability("chromedriverArgs", "--allow-file-access-from-files");
caps.setCapability("maxDuration", 10000);
这是我用来加载 Url 的 sn-p
driver.navigate().to("http://kmmc.in/wp-content/uploads/2014/01/lesson2.pdf");
autoGrantPermission 在这种情况下也不起作用,因为已经安装了 chrome。 Appium 团队已经拒绝了这个问题——
https://github.com/appium/appium/issues/10008
请帮忙!
【问题讨论】:
-
进入设备设置>应用>Chrome>权限并允许存储权限。这应该有效。
-
没有物理设备。我使用 saucelabs 服务即时创建设备
-
假设您为这项服务向 SauceLabs 付费,他们应该能够为您提供答案。我敢肯定这不是客户第一次需要这样做。快速搜索他们的文档让我相信你需要使用真实的设备。我没有使用过 S-Labs,但我假设您在设置时可以在真实或模拟的云设备之间进行选择。
标签: selenium-chromedriver appium appium-android saucelabs