如何从命令行运行testng.xml?

目录

创建一个新的java项目并从命令行运行testng.xml

使用命令行运行XML文件

从命令行运行现有maven项目的XML文件


在这篇文章中,我们将使用命令行运行testng.xml。有多种场景需要使用命令行工具运行testng.xml。也许您已经创建了一个maven项目,现在想使用命令行运行testng.xml文件,或者您是TestNG的新手,只是想了解一下。别担心,我们将全面涵盖这两种情况。

创建一个新的java项目并从命令行运行testng.xml

创建一个新的Java项目

  • 单击“File(文件)”菜单。
  • 现在,单击New,然后单击Java项目。我们把这个项目命名为实践。你可以选择任何你喜欢的名字牛牛

make a new project

  • 现在,我们将向项目中添加必要的jar。我们会将代码推送到我们的git仓库中,这样你就可以随时查找你需要的任何东西。如果你需要我们使用的jar,你可以从我们的git仓库下载。我们将所需的jar保存在jar文件夹中,如下所示。

adding the jars

  • 右键单击项目Build Path Configure Build Path。

Configure Build Path

  • 现在,转到Libraries选项卡,单击Add External JARs并添加我们之前保存在jars文件夹中的所有jar。
  • 如下图所示,我们现在将创建一个包(比如Test),我们将在该包下创建类(比如CodekruTest)。

Test class

在CodekruTest类中进行简单测试。

package Test;
 
import org.testng.annotations.Test;
 
public class CodekruTest {
 
    @Test
    public void test() {
        System.out.println("Executing the test in the CodekruTest class");
    }
     
}

创建testng.xml文件。

现在我们将创建testng.xml文件来运行我们的测试类。

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
 
<suite name="codekru">
    <test name="codekru">
        <classes>
            <class name="Test.CodekruTest" />
        </classes>
    </test>
</suite>

您也可以从eclipse运行这个XML文件,方法是右键单击XML文件,然后选择RunAsTestNGSuite。

run as testng suite

使用命令行运行XML文件

现在,我们将使用命令行运行testng.xml,为此,您需要做一些事情,

  • 编译后的类的类路径(比如CodekruTest.java,我的CodekruTest.class在哪里生成?).我们不必担心它,因为eclipse会在bin文件夹中生成可编译的类。因此,我们将只把它留在那里。
  • 其次,我们需要必要的jar来运行XML文件。我们也这样做了,因为我们之前将所有需要的文件保存在jars文件夹中。

现在,转到您的项目路径,并在命令行工具中运行以下命令来执行您的testng.xml文件。

java -cp bin\;jars\* org.testng.TestNG testng.xml

这将执行testng.xml文件,如下面的屏幕截图所示。

run command in cmd

注意:bin文件夹包含我们的.class编译文件,但请确保永远不要在命令中使用bin\*,因为它会给你给予以下错误。

[TestNG] [ERROR]
Cannot find class in classpath: Test.CodekruTest

jars文件夹包含执行testng.xml文件所需的jar。

好了,就是这样,我们成功地创建了一个新的java项目,并使用命令行工具运行了testng.xml。现在,是时候看看如果我们有一个现有的maven项目,并希望执行该项目的testng.xml,我们应该做什么了?

从命令行运行现有maven项目的XML文件

我们需要注意两件事-

  • 如果我们使用eclipse,maven项目的编译类将进入target\classes文件夹,而不是bin文件夹,这对于其他IDE可能会有所不同。因此,我们需要在命令中给予编译类文件夹的路径。
  • 我们需要添加必要的jar来执行testng.xml文件。我们可以在jars文件夹中

现在,运行testng.xml文件的命令如下

java -cp target\classes\;jars\* org.testng.TestNG testng.xml

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/328024.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【VTKExamples::PolyData】第三期 DecimatePolylineDeleteCell

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例 DecimatePolyline折线抽取和 DeleteCell样例,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. DecimatePo…

YOLOv8改进 | 主干篇 | 低照度增强网络PE-YOLO改进主干(改进暗光条件下的物体检测模型)

一、本文介绍 本文给大家带来的改进机制是低照度图像增强网络PE-YOLO中的PENet,PENet通过拉普拉斯金字塔将图像分解成多个分辨率的组件,增强图像细节和低频信息。它包括一个细节处理模块(DPM),用于通过上下文分支和边缘分支增强图像细节,以及一个低频增强滤波器(LEF),…

C语言经典算法之顺序查找算法

目录 前言 A.建议 B.简介 一 代码实现 二 算法时空复杂度 A.时间复杂度&#xff1a; B.空间复杂度&#xff1a; 三 优点和缺点 A.优点&#xff1a; B.缺点&#xff1a; 四 现实中的应用 前言 A.建议 1.学习算法最重要的是理解算法的每一步&#xff0c;而不是记住算…

steam搬砖项目风险在哪里?这几点一定要记牢

你可能已经听说过Steam搬砖项目&#xff0c;这是一个通过在Steam平台充值美元&#xff0c;购买道具&#xff0c;然后将这些道具转移到BUFF平台进行交易&#xff0c;从而获取利润的方式。这个项目的操作方法主要是利用一些渠道和经验技巧&#xff0c;购买低价道具&#xff0c;然…

力扣每日一练(24-1-17):轮转数组

方法一&#xff1a;使用额外的数组 这个方法的思路是创建一个新的数组&#xff0c;然后将每个元素放到正确的位置上。新数组的第i个元素应该是原数组的第(i len(nums) - k) % len(nums)个元素。 def rotate(nums, k):n len(nums)rotated [0] * nfor i in range(n):rotated[(…

用Axure RP 9制作元件教程

制作 软件&#xff1a;Axure RP 9 图标&#xff1a;iconfont 制作流程 1.打开Axure RP 9 2.iconfont 搜索眼睛 图标 图标找好之后 我们可以开始了 3.制作 我们用文本框 如图片 第2步 我们选中这2个把他们变成动态面板 在动态面板增加一个状态 如图片 我们接下来…

locust快速入门--使用分布式提高测试压力

背景&#xff1a; 使用默认的locust启动命令进行压测时&#xff0c;尽管已经将用户数设置大比较大&#xff08;400&#xff09;&#xff0c;但是压测的时候RPS一直在100左右。需要增加压测的压力。 问题原因&#xff1a; 如果你是通过命令行启动的或者参考之前文章的启动方式…

Python - 深夜数据结构与算法之 DP 串讲

目录 一.引言 二.DP 知识点回顾 1.递归 2.分治 3.动态规划 三.DP 经典题目回顾 1.Climb-Stairs [70] 2.Unique-Paths [62] 3.House-Robber [198] 4.Min-Path-Sum [64] 5.Best-Time-Sell-Stock [121] 6.Min-Cost-Climb [746] 7.Edit-Distance [72] 8.Longest-Sub-…

AI大模型预先学习笔记一:transformer和fine tune技术介绍

一、商业观点&#xff1a;企业借助大模型获得业务增长可能 二、底层原理&#xff1a;transformer 1&#xff09;备注 ①下面每个步骤都是自回归的过程&#xff08;aotu-regressive&#xff09;&#xff1a;已输出内容的每个字作为输入&#xff0c;一起生成下一个字 ②合起来就…

决战排序之巅(二)

决战排序之巅&#xff08;二&#xff09; 排序测试函数 void verify(int* arr, int n) 归并排序递归方案代码可行性测试 非递归方案代码可行性测试 特点分析 计数排序代码实现代码可行性测试 特点分析 归并排序 VS 计数排序&#xff08;Release版本&#xff09;说明1w rand( ) …

23/76-LeNet

LeNet 早期成功的神经网络。 先使用卷积层来学习图片空间信息。 然后使用全连接层转换到类别空间。 #In[]LeNet,上世纪80年代的产物,最初为了手写识别设计from d2l import torch as d2l import torch from torch import nn from torch.nn.modules.loss import CrossEntropyLos…

Transformer详解(附代码实现及翻译任务实现)

一&#xff1a;了解背景和动机 阅读Transformer论文&#xff1a; 阅读原始的Transformer论文&#xff1a;“Attention is All You Need”&#xff0c;由Vaswani等人于2017年提出&#xff0c;是Transformer模型的开创性工作。 二&#xff1a;理解基本构建块 注意力机制&#…

C++面试宝典第21题:字符串解码

题目 给定一个经过编码的字符串,返回其解码后的字符串。具体的编码规则为:k[encoded_string],表示方括号内部的encoded_string正好重复k次。注意:k保证为正整数;encoded_string只包含大小写字母,不包含空格和数字;方括号确定是匹配的,且可以嵌套。 示例: 编码字符串为…

tcpdump常用参数以及wireshark密文解密

tcpdump常用参数以及wireshark密文解密 文章目录 一、tcpdump命令和常用参数二、在wireshark中协议解析 tcpdump常用参数 一、tcpdump命令和常用参数 tcpdump常用命令&#xff1a;tcpdump -i eth0 src host 11.6.224.1 and udp port 161 -s 0 -w 161.pcap &#xff08;161为sn…

开发知识点-JAVA-springboot

springboot springbootConfiguration注解的底层核心原理Bean注解的底层核心原理 springboot Configuration注解的底层核心原理 https://www.bilibili.com/video/BV1rq4y1E7gK/?spm_id_from333.999.0.0&vd_sourcef21773b7086456ae21a58a6cc59023be spring.io 全家桶 24…

Mysql 数据库DDL 数据定义语言——数据库,数据表的创建

DDL&#xff1a;数据定义语言&#xff0c;用来定义数据库对象&#xff08;数据库&#xff0c;表&#xff0c;字段&#xff09;—Database Definition Language 1、登录数据库&#xff0c;输入用户名和密码 mysql -ufdd -p990107Wjl2、查看数据库 show databases;3、创建一个…

主流人工智能AI工具测评

主流人工智能AI工具测评 主流的人工智能AI工具ChatGPT ——OpenAI研发CHAT_BISON——Google研发Qwen通义千问 ——阿里云研发文心一言——百度研发 根据10个问题分析人工智能的回答女朋友生气了怎么哄千元机性价比推荐小米13 和 vivo iQOO 11s哪个好计算机专业毕业论文护士年终…

node.js(expree.js )模拟手机验证码功能及登录功能

dbconfig.js const mysql require(mysql) module.exports {// 数据库配置config: {host: localhost, // 连接地址port: 3306, //端口号user: root, //用户名password: wei630229, //密码database: exapp2, //数据库名}, // 连接数据库&#xff0c;使用mysql的连接池连接方式…

transfomer的位置编码

什么是位置编码 在transformer的encoder和decoder的输入层中&#xff0c;使用了Positional Encoding&#xff0c;使得最终的输入满足&#xff1a; input_embeddingpositional_encoding 这里&#xff0c;input_embedding的shape为[n,b,embed_dim],positional_encoding和input_…

xilinxi mulitboot 启动

xilinix在线更新有两种方式&#xff0c;一种是使用ICAP原语&#xff0c;另一中是在xdc中约束&#xff0c;根据应用的场景不同&#xff0c;选用不同的启动方式&#xff0c;第二种更为简单。 可参考官方提供的手册和实例 XAPP1247 链接&#xff1a; XAPP1247 golden和updata.b…