1

我最近用 Java 编写了一个与 FireFoxDriver() 完美配合的 Selenium 程序。我的第 2 步是能够在我的带有 Selendroid 的 Android 设备上运行这个程序。我在这里访问了他们的网站,并且已经能够下载 jar 并使用端口:4444 连接到他们的本地主机。
但是,当我尝试他们的示例时,Eclipse 无法识别 SelendroidDriver() 并建议我返回 WebDriver()。
这是他们的代码:

SelendroidCapabilities capa = new SelendroidCapabilities("io.selendroid.testapp:0.10.0");

// My error appears when I create the new SelendroidDriver().
WebDriver driver = new SelendroidDriver(capa);
WebElement inputField = driver.findElement(By.id("my_text_field"));
Assert.assertEquals("true", inputField.getAttribute("enabled"));
inputField.sendKeys("Selendroid");
Assert.assertEquals("Selendroid", inputField.getText());
driver.quit();

我还注意到 SelendroidDriver 类没有出现在我的文件中,尽管我下载了 Selendroid jar 文件,版本 0.10.0。

4

3 回答 3

2

对于那些对我如何解决我的问题感到好奇的人,这就是我所做的:我去这个站点获取与我拥有的独立版本相对应的 selendroid-client jar 文件。不知何故,下载独立的 jar 文件是不够的。

于 2014-05-26T19:21:55.910 回答
0

在我在这里SelendroidDriver找到课程之前,我面临着同样的问题。导入它并根据您的项目更改包名称。

SelendroidDriver.java具有实现接口方法的类,在 Java 1.6 中可以使用@Override. 但是,在 Java 1.5 中,@override只能应用于覆盖超类方法的方法。

转到您的项目首选项并将“Java 编译器级别”设置为 1.6,并确保您选择 JRE 1.6 以从 Eclipse 执行您的程序。

添加此类后,您仍然会看到多个依赖项错误,但现在在SelendroidDriver.java文件中。您现在可以导入这些类来解决这些错误。确保根据 GitHub 目录和您的工作项目正确维护包层次结构。

导入所有这些类后,常量 fieldsSWITCH_TO_CONTEXTGET_CONTEXT_HANDLESGET_CURRENT_CONTEXT_HANDLE没有被解析。我使用了一个糟糕的解决方法,将它们更改为其他一些可用的常量字段来测试这个样本。

于 2014-05-23T13:49:21.170 回答
0

我为这个错误做了很多努力,最后才知道路径在最新版本中已经改变。使用这些路径,它应该工作:

导入 io.selendroid.common.SelendroidCapabilities;

导入 io.selendroid.client.SelendroidDriver;

对此版本 0.15.0 和 0.17.0 进行了测试

于 2019-05-10T06:36:12.960 回答