Marathon JAVA 驱动程序 - 在从 Eclipse 导出的 JAR 文件中 运行 时出错

Marathon JAVA Driver - Error when running inside an exported JAR file from Eclipse

我有 Marathon JAVA 驱动程序可以在 Eclipse 中工作,当我 运行 来自 eclipse 的代码时它工作正常。但是,当我将项目导出为 运行nable JAR 文件,然后执行 JAR 文件时,出现以下错误并且应用程序未启动。

在 org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61) 原因:java.lang.NullPointerException 在 net.sourceforge.marathon.javadriver.JavaProfile.(JavaProfile.java:205)

import java.io.IOException;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import net.sourceforge.marathon.javadriver.JavaDriver;
import net.sourceforge.marathon.javadriver.JavaProfile;
import net.sourceforge.marathon.javadriver.JavaProfile.LaunchMode;
import net.sourceforge.marathon.javadriver.JavaProfile.LaunchType;

public class SwingAutomationSample {
    public static JavaDriver driver;
    public static JavaProfile profile;

@BeforeClass 
public void setUp() throws IOException {

        try {           
        profile = new JavaProfile(LaunchMode.EXECUTABLE_JAR);                   
        profile.setLaunchType(LaunchType.FX_APPLICATION);                
        profile.setExecutableJar("C:/Users/KarthikRaja/Desktop/Projects/xxyy.jar");
        profile.setWorkingDirectory("C:/Users/KarthikRaja/Desktop/Projects");      
        driver = new JavaDriver(profile);      
        }catch(Exception e) {
            System.out.println("java driver error ------------ " + e.toString());
        }
}

@Test
public void Form15CBFill() throws Exception {
    System.out.println("Inside Test Class");
    }
}```

Marathon Java 驱动程序使用它的 jar 文件以便它可以设置 JAVA_TOOL_OPTIONS。所以它需要jar文件在文件系统中是可访问的。

请检查 JavaProfile.java 行号 204 以供参考。

快速修复导出 marathon jar 并将它们添加到 class 路径并编写批处理脚本来执行测试用例。

@Aditya,再次感谢您为我指明了正确的方向。以下步骤为我解决了这个问题。

  1. 下载 selenium-standalone-jar 并将其添加到项目构建路径
  2. 按照 Aditya 的建议,将项目导出为可运行的 JAR 文件,并选择“将所需的库复制到生成的 JAR 旁边的子文件夹”
  3. 在导出的 JAR 中,确保清单文件在类路径中包含 selenium-standalone-jar 和其他依赖项

这解决了我的问题。