我们使用 selenium 2.5.2 进行 Java 测试。我们决定是时候升级到最新的 selenium 版本了(目前是 3.14)。
从 https://www.seleniumhq.org/ 下载 selenium 3.14 后并将其添加到我们的项目中,一些测试存在编译问题
Actions cannot be resolved to a type.
我去了类的导入部分,我看到 import org.openqa.selenium.interactions.Actions
行也有编译问题
The import org.openqa.selenium.interactions.Actions cannot be resolved.
我去了加载的 jar ,我可以在那里看到类。
所以我又采取了一步,尝试使用 DJ Java 反编译器反编译该类。当我尝试这样做时,我遇到了下一个错误
Action violation at address...
我尝试从 jar 中反编译更多的类,它们都成功了。所以我查看了以前的版本,发现在 selenium 3.2 版中,他们向 Actions 类 BuiltAction 添加了内部类。
最后,我进入了 3.1 版,并且能够反编译 Actions 类。我需要帮助来解决这个问题。
最佳答案
好吧,之前有一个答案,但是因为两个人问了相同/相似的问题,所以我就把同样的事情发了两次。
无论如何,模组删除了重复的答案,但我至少希望他们在删除此处的答案后将您链接到另一个问题。唉,人是不完美的。
但是由于其他问题的措辞不当,我已经删除了其他帖子的答案,并在此处重新添加了答案。
交互操作已从 selenium-remote-driver 移至 selenium-api。
我遇到了同样的问题,然后注意到当我将 v3.14.0 用于其他所有内容时,我的 selenium-api 在 v3.12.0 上。
在我明确地在我的 POM 中设置版本后它起作用了:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>3.14.0</version>
</dependency>
希望它对你有用。
关于java - Selenium Actions 类无法在大于 3.1 的 selenium 版本中解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52027324/