Maven TestNG 项目,将命令行参数传递给 testng.xml 文件

2023-12-05

我有一个 Maven TestNG 项目,并且正在尝试将几个命令行参数传递到 testng.xml 文件中。

testng.xml 文件如下所示:

<suite name="Test Suite" parallel="classes" thread-count="100" >
  <test name="VIP Tests">
    <parameter name="browser" value="${browser}" />
    <groups>
        <run>
            <include name="${test.scope}" />
        </run>
    </groups>
    <packages>
        <package name="com.tests.*" />
    </packages>
  </test> 
</suite>

pom.xml 文件如下所示:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Test_Project</groupId>
<artifactId>TP_X</artifactId>
<version>1.0-SNAPSHOT</version>
  <build>
    <resources>
        <resource>
            <directory>src/test/resources</directory>
        </resource>
    </resources>
    <sourceDirectory>${src.dir}</sourceDirectory>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version>
            <configuration>
                <suiteXmlFiles>
                   <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
                </suiteXmlFiles>
            </configuration>
        </plugin>
    </plugins>
  </build>
</project>

现在,每次我尝试执行 Maven 测试命令时

mvn clean test -U -Dtest.scope=smoke -Dbrowser=chrome

我在命令行中收到以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project VIP_QE: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test failed: There was an error in the forked process
[ERROR] java.util.regex.PatternSyntaxException:
[ERROR] Illegal repetition near index 0
[ERROR] ${test.scope}

有人可以帮忙吗?我已经被这个问题困扰了大约一周。


TestNG 和 Surefire 不支持${var}符号。

但你可以使用Maven的过滤功能。然后你必须选择修改后的资源:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Test_Project</groupId>
<artifactId>TP_X</artifactId>
<version>1.0-SNAPSHOT</version>
  <build>
    <testResources>
        <testResource>
            <directory>src/test/resources</directory>
            <filtering>true</filtering>
        </testResource>
    </testResources>
    <sourceDirectory>${src.dir}</sourceDirectory>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version>
            <configuration>
                <suiteXmlFiles>
                   <suiteXmlFile>target/test-classes/testng.xml</suiteXmlFile>
                </suiteXmlFiles>
            </configuration>
        </plugin>
    </plugins>
  </build>
</project>

注意之间的区别testResources and resources: 如何在maven中过滤测试资源?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Maven TestNG 项目,将命令行参数传递给 testng.xml 文件 的相关文章

  • Karaf / Maven - 无法解决:缺少需求 osgi.wiring.package

    我无法在 Karaf 版本 3 0 1 中启动捆绑包 该包是使用 Maven 构建的并导入gson http mvnrepository com artifact com google code gson gson 2 3 1 我按照要求将
  • 无法将 Maven 项目导入 IntelliJ IDEA

    我在将任何 Maven 项目导入 IntelliJ IDEA 时遇到问题 我创建一个空的 Maven 项目 如下所示 mvn archetype generate DgroupId com mycompany app DartifactId
  • 降低 Sonar 2.1.x 中的日志级别

    我有一个 Maven 3 x 版本 它使用 Sonar 2 1 x 进行质量控制 maven sonar 插件在 Jenkins 内部使用来运行声纳检查 在 Jenkins 构建过程中 当 Sonar 启动时 它会在 INFO 级别记录很多
  • Maven/Junit 并行执行 - Cucumber-JVM v4.0.0

    我正在努力获取与 JUnit Maven 一起使用的 Cucumber JVM v4 0 0 的新并行执行功能 作为指定here https github com cucumber cucumber jvm tree v4 0 0 juni
  • 从插件设置 Maven 属性

    我在这里阅读了一些关于如何从 Maven 插件设置属性的问题 其中大多数讨论了应用程序的版本号 似乎没有简单的方法可以做到这一点 我发现的最佳解决方案是拥有一个从插件更新的 filter properties 文件 并由主 pom 文件使用
  • Maven:无法在 OS X 上找到 java.lang 问题

    当我尝试时遇到以下问题mvn clean install显然它无法找到运行时 jar 但我需要做什么 错误日志 ERROR COMPILATION ERROR INFO ERROR Failure executing javac but c
  • 使用 Spark SQL 时找不到 Spark Logging 类

    我正在尝试用 Java 进行简单的 Spark SQL 编程 在程序中 我从 Cassandra 表获取数据 将RDD into a Dataset并显示数据 当我运行spark submit命令 我收到错误 java lang Class
  • 如何在 Surefire 测试报告中显示 log4j 输出

    当 Maven 中的测试失败时 surefire 测试报告 xml 文件位于target surefire reports TEST
  • 使用 Netbeans 7.0.1、Maven 在 JSF2 中打包复合组件

    我在 Internet 上阅读了很多有关将 JSF2 复合组件打包到 JAR 文件中的内容 有人知道我在哪里可以找到 JAR 的结构 规格 官 方文档等 有没有办法使用 Netbeans IDE 来做到这一点 或者 Maven 是否存在原型
  • Windows 相当于 Unix find 命令,用于搜索多种文件类型

    虽然在 Windows 中安装了 cygwin 可以提供大部分 unix 命令 但我仍然想知道如何使用 Windows find 命令在一个命令中搜索多个文件类型 ie find name cpp o name h o name java
  • Maven:命令行下载pom.xml中描述的依赖项

    我想知道maven命令行下载pom xml中描述的依赖项 是这样的 mvn dependency copy dependencies Try the 依赖 离线 http maven apache org plugins maven dep
  • 从 CLI 部署 Maven 项目?

    在 IDE 中构建并运行良好 cd home thufir NetBeansProjects HelloMaven JAVA HOME usr lib jvm java 8 openjdk amd64 home thufir local s
  • 如何在maven程序集插件中指定所有者/组?

    我通过詹金斯设置了一个构建过程 其中包括组装 tarball 由于 jenkins 在系统上以 jenkins 用户身份运行 这意味着文件由该 uid gid 拥有 因此 当我在另一个系统上解压 tarball 时 这些文件由随机用户 或根
  • 为什么 Maven 会生成此错误:“...在 -source 1.5 中不支持”?

    今天早上 Maven 开始抱怨这个错误 error multi catch statement is not supported in source 1 5 奇怪的是 我使用的是 JDK 7 并且这段代码已经构建良好数周了 我只是将 m2e
  • 如何创建特定于组织的 Maven Parent POM?

    任何人都可以解释如何创建特定于组织的父 POM 在这里我不是在寻找多模块项目 我要创建的 POM 将被所有项目使用 每个项目都有自己的父 pom 它扩展了组织特定的 POM 请提供一些如何在 Eclipse 中创建的步骤 父POM在Mave
  • 如何在maven中使用pom.xml解压任意文件

    我的路径 C ptc Windchill 10 1 Windchill 中有一个 zip 文件 请谁能告诉我如何使用maven解压这个文件 Maven 有一个与 Ant 一起使用的插件 使用该插件 您可以创建 Ant Tasks 该任务是一
  • 如何在 Grails 2.4 中外部化 Maven 凭证

    我正在尝试在 Grails 2 4 项目中从使用 Ivy 迁移到使用 Aether 解析器 我遇到的问题与外部化凭证有关 与此相关的信息可以在 Grails 手册中找到 http grails org doc latest guide co
  • Maven Surefire:附加到 argLine

    我有 2 个配置文件 可能会也可能不会一起使用来运行一组测试 它们各自需要不同的 vmargs 来运行 但如果它们一起使用 则可以将它们相互附加 我正在寻找一种将 argLine 设置为其当前值加上我设置的值的串联的方法 我希望它会像这样简
  • JBehave 和 Maven - 如何跳过场景测试

    我正在使用 jbehave 和 jbehave maven 插件来运行一组场景测试 让我的测试类扩展 JUnitStories 一切都运行良好 唯一的问题是 我无法停止运行测试 每次我运行 Maven 安装目标时 它都会运行测试 我尝试在下
  • 如何在 TestNG 报告中包含 Log4j2 消息

    我希望在所有测试用例的 TestNG 报告中提供 Log4j2 日志记录信息 TestNG 使用一个名为 Reporter java 的特殊记录器类来跟踪日志输出并将其保存在其结果 XML 中 在 log4j 中 可以简单地创建一个路由到

随机推荐

  • Python SqlAlchemy - AttributeError:映射器

    基于我的模型 from sqlalchemy ext declarative import declarative base from sqlalchemy import Column Integer String ForeignKey f
  • iOS:如何查询WiFi状态

    是否可以以编程方式查询 iOS 上的 WiFi 状态 启用 禁用 当启用 WiFi 并且设备未连接到任何网络时 查询应返回 true EDIT 我知道提供的功能Reachability类 据我了解 它无法识别 WIFI 的已启用但未连接状态
  • while 循环 PHP get_result 不起作用

    我正在尝试使用 MySQl 准备好的语句从数据库中获取行并获取结果 然而这不起作用 请有人能看到我哪里出了问题吗 我已经尝试了几个小时的解决方案 但无法使其发挥作用 该页面只是不加载 就好像查询失败一样 tag trim GET tag s
  • 部署后在django中使用scipy.stats.stats

    我正在为一个严重依赖 scipy stats stats scipy 版本 0 9 0 的包创建一个由 django 支持的 1 3 接口 称为ovl 在早期开发阶段 使用 djangos 自己的开发服务器 这没有问题 使用apache d
  • 带有 WSDL for R 的 SOAP 客户端

    我正在尝试使用 SSOAP 包为 R 的 SOAP 客户端编写代码 这是我最初的代码 wsdl lt getURL http sistemas cvm gov br webservices Sistemas SCW CDocs WsDown
  • 如何在 WinForms 中绘制形状[重复]

    这个问题在这里已经有答案了 我正在尝试编写类似绘画的程序 您可以通过选择所需的形状来绘制填充形状 单击图片框并拖动鼠标以获得所需的尺寸 但THIS当我拖动时可能会发生 当我使用refresh 之前绘制的形状会自行删除 我应该怎么做才能绘制填
  • 无法创建圆角对话框(Android-Eclipse)

    我正在尝试为我的应用程序的对话框制作自定义对话框形状 我已经搜索这个主题几个小时了 但我找到的解决方案对我不起作用 这就是为什么我向你询问我自己的问题 我想要一个带有圆角并显示标题的对话框 然后是一个带有一些文本的 ScrollView 唯
  • Excel VBA For-Next 循环将数据从一个 WB 提取到另一个 WB

    我正在开发一个 for 循环 该循环根据第 12 列中等于 Airfare 的字符串提取整行数据 这个想法是复制第 12 列 EXPENSE TYPE 是机票的数据行并将其粘贴到第二个工作簿中 我的代码 如下 未正确循环所有 120 行数据
  • 查找忽略重叠的总分钟数(将基于光标的答案转换为 CTE)

    有一个现有问题该问题询问如何查找多个日期范围内有多少分钟 忽略重叠 给出的示例数据是 userID 不是特别相关 Available ID userID availStart availEnd 1 456 2012 11 19 16 00
  • 从低完整性进程获取对 MemoryMappedFile 的访问

    我试图在中等完整性进程上创建 MemoryMappedFile 然后在低完整性子进程上打开相同的文件 并将此共享内存用于 IPC 没有真正的磁盘文件 使用MemoryMappedFile CreateNew 我的问题是低完整性进程无法打开共
  • 如何仅按顶部标题行对表格进行排序

    我知道这个问题以前曾被问过 但没有解决方案让我满意 我想将列过滤输入放置在正文和列标题之间 我把它们放在一个额外的 tr inside thead 许多消息来源说这有效 一切正常 只是现在它链接了这些输入而不是标题的排序 你可以看一个例子h
  • 我们是否应该始终在类中包含默认构造函数?

    一位同事问我这个问题 我们是否应该始终在类中包含默认构造函数 如果是这样 为什么 如果不是 为什么不呢 Example public class Foo Foo Foo int x int y 我也有兴趣从专家那里得到一些关于这个问题的见解
  • android:TextView每行限制10个字符

    我从 EditText 读取值并将其写入 TextView editTitle1 addTextChangedListener new TextWatcher public void afterTextChanged Editable s
  • 将EventListener添加到多个复选框

    下面 我有一个简单的表单 其中有 4 个复选框作为席位 我想做的是 当访客选择带有 ID 的座位复选框时A2 and A4 我希望在单击名称为的段落后立即显示这些 ID 及其总价值id demo 单击 立即预订 按钮后 应将总值分配给名为的
  • 连接 Java - MySQL:不允许公钥检索

    我尝试使用连接器 8 0 11 将 MySQL 数据库与 Java 连接 一切似乎都很好 但我得到了这个例外 Exception in thread main java sql SQLNonTransientConnectionExcept
  • React Native iOS 中的键盘语言?

    有没有办法知道 React Native iOS 应用程序中键盘的语言 因为我想切换TextInput根据当前语言自动指示 您可以使用以下方式获取设备区域设置 import NativeModules from react native c
  • iOS:如何在运行时使用音频单元重新采样音频(PCM 数据)?

    如何在运行时 实时使用音频单元重新采样音频 PCM 数据 我的音频单元设置如下 void setUpAudioUnit OSStatus status AudioComponentInstance audioUnit AudioCompon
  • 创建自定义对话框时出现问题

    我在创建自定义对话框时遇到问题 但我没有发现失败 希望有人能帮助我 protected Dialog onCreateDialog int id Dialog dialog null switch id case DIALOG ABOUT
  • 如何从java程序在终端运行命令?

    我需要从 JAVA 程序在 Fedora 16 的终端运行命令 我尝试使用 Runtime getRuntime exec xterm 但这只是打开终端 我无法执行任何命令 我也尝试过这个 OutputStream out null Pro
  • Maven TestNG 项目,将命令行参数传递给 testng.xml 文件

    我有一个 Maven TestNG 项目 并且正在尝试将几个命令行参数传递到 testng xml 文件中 testng xml 文件如下所示