java - 在另一台未配置的计算机上运行 selenium webdriver 测试

标签 java selenium jar selenium-webdriver webdriver

我希望能够在另一台机器上执行我用 java 编写的测试,该机器没有进行其他配置。目前,我必须在安装了 Java SDK 并设置了 Maven 的机器上打开 IDE,才能运行测试。我想让其他人,在没有开发环境、没有任何技术知识的情况下,也能够按照上面的方式运行我的程序并验证结果。

如果可能的话会是这样的:

  • 将可执行文件放在我从未接触过的计算机上,
  • 运行可执行文件,
  • 查看测试结果。

如何生成最简单可行的独立可执行文件来运行与我已经在 IDE 中运行的相同的 selenium 测试?

最佳答案

这是完全可能的,只要你运行测试的机器有java.lang.以正常方式构建测试,并创建包含所有依赖项的可执行 jar。然后您可以将该 jar 部署到另一台计算机上并从那里运行它。

如果您使用的是 Maven,则 shade将为您构建包含所有依赖项的 jar 文件。您还可以使用 assembly 来完成此操作虽然有点难。

解决方案中不太明显的部分是使用 JUnit 运行程序主类作为可执行文件的主类,您可以根据Oracle's tutorial进行设置。 。由于您的 jar 中已包含所有依赖项,因此您不必担心类路径。您需要知道的是要运行的类是 org.junit.runner.JUnitCore (see this answer) ,并且它采用您要运行的带注释的测试类的名称。完成所有这些后,您只需运行 java -jar YourJarFileOfTests.jar yourorg.yourpackage.YourJunitTestClass

如果您想更进一步并消除将测试类名称传递到 java -jar 的麻烦,那么您可以 create a simple suite为了方便起见,它会拉入所有测试类。您甚至可以创建自己的主类,并使用硬编码的 include-all-tests 套件将其委托(delegate)给 JUnitCore。完成此操作后,您只需运行 java -jar YourJarFileOfTests.jar 即可,它将使用您的套件类作为参数调用 JUnitCore,而 Robert 是您母亲的兄弟。

关于java - 在另一台未配置的计算机上运行 selenium webdriver 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24601757/

相关文章:

java - 不同操作系统的jar包

java - 尝试使用 JAVA 读取滚动锁定状态

java - 从具有颜色强度的双数组创建图像

java - NoClassDefFoundError SecretKeySpec 与 JSch

java - 如何在不从其后代检索文本的情况下获取元素的文本

python - 使用 selenium python 将焦点放在对象上

java - 从存储库中的 Jar 获取文件,而无需从 Java 下载整个 Jar

java - 如何递归地找到链表中的最大值?

java - css img :hover working, img:active 不是

c# - Selenium WebDriver MoveToElement - 隐藏元素、悬停和切换类