我有Marathon JAVA驱动程序可以在Eclipse中工作,当我从Eclipse运行代码时,它可以很好地工作。然而,当我将项目导出为可运行的JAR文件,然后执行JAR文件时,我会收到以下错误,并且应用程序不会启动。
,网址:org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61(导致原因:java.lang.NullPointerException位于net.sourceforge.markather.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行以供参考。
为了快速修复,导出马拉松式jar并将其添加到类路径中,并编写一个批处理脚本来执行测试用例。
- 下载selenium独立jar并将其添加到项目构建路径中
- 正如Aditya所建议的,将项目导出为可运行的JAR文件,并带有选项";将所需的库复制到生成的JAR"旁边的子文件夹中
- 在导出的JAR中,确保清单文件包括selenium独立JAR和类路径中的其他依赖项
这为我解决了问题。