如何为Selenium测试创建兼容的JAR文件?

Raz*_*zor 3 java eclipse selenium jar

我创建了一个脚本,在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();
    }
}
Run Code Online (Sandbox Code Playgroud)

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();
    }
}
Run Code Online (Sandbox Code Playgroud)

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
    }
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是,尽管使用Selenium webdriver在其他计算机上设置和配置环境,复制Test MyWebsite.jar第三方计算机并通过双击运行该文件,但测试无法成功运行.Chrome浏览器会暂时打开然后关闭,而不会打开"MyWebsite"的网址.换句话说,只Main.java执行类中的两行代码.JAR文件无法在Eclipse项目中找到其他两个关联的类.但是,当我在计算机中执行该文件时,测试完全运行,这意味着我如何创建JAR文件存在问题.请注意,这些只是我在Eclipse项目中的5个不同包中创建的12个类中的三个类,以便于理解.

任何人都可以告诉我在创建我的JAR文件时哪里出错了,该文件将在我的计算机以及配置了Selenium环境的另一台计算机上运行?作为Selenium的初学者,我在Eclipse中创建Selenium项目时遵循了这些说明.最早的回复将受到高度赞赏.

谢谢.

Raz*_*zor 5

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

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