windows在cmd中执行testNG自动化测试的jar包

1.编写主函数TestMain.java,调用testng.xml

public class TestMain {
    public static void main(String[] args) {
        TestNG tng = new TestNG();
        List<String> suites = Lists.newArrayList();
        //添加要执行的testng.xml文件
        suites.add("testng.xml");
        tng.setTestSuites(suites);
        tng.run();
    }

2.打jar包

1.1 改写文件路径

防止报错:

D:\SVN\soutu-autotest221228\soutu-autotest\out\artifacts\soutu_autotest_jar>java -jar soutu-autotest.jar
错误: 找不到或无法加载主类 com.yuanqing.TestMain

把所有除java以外的文件路径都改成.
然后执行jar包的时候,把这些文件都复制一份到jar的同目录下
(因为打的jar包里面不会把这些文件打进去)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 打jar包

File—Project Structure—Artifacts—右边的+号—JAR—From modules with dependencies…在这里插入图片描述
在这里插入图片描述

直接点击ok

3.点击Build/Rebuild刚才生成的文件

在这里插入图片描述
构建后自动生成out文件夹,target文件夹和META-INF文件,如下图:
在这里插入图片描述

4.执行jar包

将testng.xml文件复制一份到jar包同目录下:在这里插入图片描述
PS:这里的chromedriver.exe和url.properties是用例中调用的文件,路径直接写文件名,如:

properties.load(new FileInputStream("url.properties"));

Win+R打开cmd,进入jar包所在目录。输入:

C:\Users\Desktop\autotest\out\artifacts\tiansu_autotest_jar>java -jar tiansu-autotest.jar

此时报错
Error: A JNI error has occurred, please check your installation and try again
原因:java -verion 和 javac -version 版本不一致,编译的版本更高。因为我打包用的是IDEA自带的JDK11,而本机装的是JDK1.8。
解决方法:把IDEA里JDK版本改成1.8,重新打jar包。
部分转载自:https://www.cnblogs.com/hkgov/p/8074085.html

1.打开project settings,确定项目的jdk和sdk是是否配置正确

1.1 project 下的project SDK,是否为项目需要的jdk

在这里插入图片描述

1.2 确定SDK是否选中

在这里插入图片描述

1.3 language level不能比项目的jdk版本高

在这里插入图片描述

1.4 确定modules下dependencies配置的jdk是否正确

在这里插入图片描述

2 “run–edit configurations” >>>需要运行的项目名称 >>>>>>runner >>>>JRE配置是否正确

在这里插入图片描述

3.再次执行,成功

  1. 进入jar包所在目录,执行:
    java -Dfile.encoding=utf-8 -jar tiansu-autotest.jar
    (-Dfile.encoding=utf-8是为了防止乱码)在这里插入图片描述

4.查看测试报告

测试报告路径:tiansu_autotest_jar\test-output\html\ index.html

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值