【问题标题】:How to Create a Compatible JAR File for Selenium Tests?如何为 Selenium 测试创建兼容的 JAR 文件?
【发布时间】:2014-09-19 18:02:41
【问题描述】:

我创建了一个脚本来在 Selenium 中为一个在 Eclipse 中使用 Java 的网站执行一些自动化测试。

我的目标是为我的自动化测试创建一个 JAR 文件,以便在简单地执行该文件时,测试将在配置有 Selenium 环境的任何其他系统上运行。为此,我通过单击“文件”菜单中的“导出”选项从 Eclipse 创建了一个可运行的 JAR 文件。 JAR 文件的名称是Test MyWebsite.jar

我的Java类的源代码如下:

Main.java

package testproject.main;

import testproject.testmywebsite.*;


public class Main {

    public static void main(String[] args) {
        TestMyWebsite tmw = new TestMyWebsite();
        tmw.testMyWebsite();
        tmw.stopTest();
    }
}

TestMyWebsite.java

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import java.io.*;
import testproject.testmywebsite.tools.*;
import testproject.testmywebsite.login.*;

public class TestMyWebsite {

    private WebDriver driver;

    public TestMyWebsite() {
        setUp();
    }

    private void setUp() {
        // Create a new instance of the Chrome driver
        driver = new ChromeDriver();
        driver.manage().window().maximize();
    }

    public void testMyWebsite() {
        testLogin();
    }

    public void testLogin() {
        TestLogin tl = new TestLogin(driver);
        tl.testLogin();
    }

    public void stopTest() {
        //Close the browser
        driver.quit();
    }
}

TestLogin.java

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;

public class TestLogin {

    private WebDriver;

    public TestLogin(WebDriver driver) {
        this.driver = driver;
    }

    public void testLogin() {
        //Perform the login test
    }
}

这里的问题是,尽管用Selenium webdriver在其他电脑上设置和配置环境,复制第三方电脑中的Test MyWebsite.jar并双击运行该文件,测试没有成功运行.发生的情况是 Chrome 浏览器会立即打开,然后在没有打开“我的网站”URL 的情况下关闭。换句话说,只执行Main.java 类中的两行代码。 JAR 文件无法在 Eclipse 项目中找到其他两个关联的类。但是,当我在计算机中执行该文件时,测试会完美运行,这意味着我创建 JAR 文件的方式存在问题。请注意,这些只是我在 Eclipse 项目的 5 个不同包中创建的 12 个类中的三个类,以便于理解。

谁能告诉我在创建我的 JAR 文件时哪里出错了,该文件既可以在我的计算机上运行,​​也可以在另一台配置了 Selenium 环境的计算机上运行?作为 Selenium 的初学者,我在 Eclipse 中创建 Selenium 项目时遵循了these 的说明。尽早回复将不胜感激。

谢谢。

【问题讨论】:

    标签: java eclipse selenium jar


    【解决方案1】:

    好的,我自己找到了问题的解决方案。

    问题在于我在 Eclipse 中创建 Runnable JAR 文件的方式。我在第一页的库处理标签下选择了将所需库提取到生成的 JAR 选项(默认情况下由 Eclipse 选择)。通过这样做,它没有在我的可运行 JAR 中打包所需的外部 Selenium、TestNG 和 JRE 系统库、JAR 文件库,因此它无法找到所需的类。选择第二个选项后,我的 JAR 开始完美运行,将所需的库打包到生成的 JAR 中。

    【讨论】:

      【解决方案2】:

      一方面,您应该使用测试运行程序(例如 JUnit 或 TestNG)来运行您的测试。另一件事是确保您使用的是 Maven 并符合它的“standard directory layout”。通过使用 Maven,您将能够运行“安装”或“打包”目标/任务来创建独立的“可执行 jar”。请记住,您需要以一种不寻常的方式配置 Maven,您告诉它将 'src/main/java' 和 'src/test/java' 下的所有文件包含到同一个 .jar 文件中。此外,您需要将 Maven 配置为 create a .jar that is actually executable

      【讨论】:

      • 非常感谢您的回复。 :-) 无论您的解决方案是否有效,我都会浏览您提供的链接并返回此处。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-22
      • 1970-01-01
      • 1970-01-01
      • 2020-06-26
      • 2012-12-02
      • 2021-05-24
      相关资源
      最近更新 更多