如何让chromedriver在android上工作? java的例子?

时间:2013-10-23 15:12:29

标签: testing selenium automation webdriver selenium-chromedriver

我希望能够在Android设备上使用chromedriver进行测试。怎么可能?

我已根植了Android设备,无法让Chrome测试正常运行。

我尝试遵循本指南:https://sites.google.com/a/chromium.org/chromedriver/getting-started/getting-started---android
我找不到我应该在Android设备上安装哪个Chromedriver版本。

有没有人为此提供示例或分步指南?

2 个答案:

答案 0 :(得分:3)

您不需要在手机上安装chromedriver,只需要您想要运行测试的本地计算机。我实际上是在几周前设置的。这是您需要的基本设置:

public WebDriver getMobileChromeDriver() { ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.setExperimentalOption("androidPackage", "com.android.chrome"); chromeOptions.setExperimentalOption("androidDeviceSerial", deviceId); return new ChromeDriver(chromeOptions); }

deviceId变量包含取自特定设备的adb的uuid。如果你不提供它,chromedriver将在第一个可用节点上运行。

在运行测试之前,还需要做的一件事是启动adb服务器。

在基于Linux的机器上,它将是这样的: adb start-server (假设你的道路上有adb)

如果您在确定本地机器所需的chromedriver时遇到问题,请告诉我。

如果您使用的是Windows机器,则可能需要再添加一行代码来指向您的chrome二进制文件:

System.setProperty("webdriver.chrome.driver", "<path_to_your_chrome_binary>");

答案 1 :(得分:0)

对我来说,上一个答案有效,但Chrome版本为66,Chrome驱动程序为37。

System.setProperty("webdriver.chrome.driver", "<path_to_your_chrome_binary>"); 

即使系统属性为&#34; webdriver.chrome.driver&#34;,您也必须在设备上设置Chrome的路径,例如&#34; /data/app/com.android.chrome-1.apk&#34;