TESTNG |从可运行的jar内的主要方法调用testng.xml文件

来源:爱站网时间:2021-09-16编辑:网友分享
我是testng + maven的新手,我需要使用可运行的jar运行脚本。该套件需要针对多个区域执行。执行jar时,将区域名称作为参数传递。 ...

问题描述


我是testng + maven的新手,我需要使用可运行的jar运行脚本。该套件需要针对多个区域执行。执行jar时,将区域名称作为参数传递。现在,我的要求是根据提供的区域名称在多个testng.xml文件之间切换。所有的testng.xml文件都放在资源文件夹->“ resources / testngA.xml”和“ resources / testngB.xml”中。当我从eclipse运行脚本时,它工作正常,但是当我尝试通过runnable.jar执行脚本时,它显示java.io.FileNotFoundException exception。谁能帮我解决这个问题。

public class TestRunner {

    static TestNG testng;
    static List suites;
    public static void main(String[] args) {
        String xmlFileName = "";
        List suite;
        String region = arg[0];
        try
        {
            if(region.equals("A")){
                xmlFileName = "resources/A_TestNG.xml";
            }else if(region.equals("B")){
                xmlFileName = "resources/B_TestNG.xml";
            }else{
                System.out.println("No matching region found")
            }
            suite = (List )(new Parser(xmlFileName).parse());
            testng.setXmlSuites(suite);
            testng.run();
        }
        catch (ParserConfigurationException e)
        {
            e.printStackTrace();
        }
        catch (SAXException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}

思路:


当您处理资源时,应使用以下方法:

1)获取资源URI

URI aTestNgURI = TestRunner.class.getClassLoader().getResource("A_TestNG.xml").toURI();

2)获取文件的路径

String aTestNgFilePath = new File(aTestNgURI).getAbsolutePath();

上一篇:布尔如何排序? [关闭]

下一篇:android中listview中的重复值

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载