微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我已经让 Marathon JAVA 驱动程序在 Eclipse 中工作,当我从 Eclipse 运行代码时它工作正常。但是,当我将项目导出为可运行的 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 以供参考。

为了快速修复导出马拉松 jars 并将它们添加到类路径并编写批处理脚本来执行测试用例。

,

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

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

这为我解决了问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?