java - 如何在 TestNG xml 文件中参数化方法名称?

标签 java selenium testing cucumber testng

下面是 testng.xml 代码。这里我有测试名称 Test1,我想包含以回归标签开头的所有场景(标签存在于 cucumber 功能文件中)。

我想要参数化“regression.*”值,并希望在运行时作为参数传递(Runas testng)。

<test name="Test1">
  <groups>
    <run>
      <include name="regression.*"/>
    </run>
  </groups>
<小时/>

有人可以帮我解决这个问题吗?

提前致谢......

最佳答案

您应该能够使用 beanshell 作为方法选择器来构建在运行时挑选和选择组的动态能力。

这是一个由 beanshell 驱动的套件 xml 示例。在下面的示例中,我们使用 JVM 参数 -DgroupToRun 来传入我们想要执行的组的名称。

有关如何在 TestNG 中使用 beanshell 的更多详细信息,请查看

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="false">
    <test name="Test">
        <method-selectors>
            <method-selector>
                <script language="beanshell">
                <![CDATA[
                    whatGroup = System.getProperty("groupToRun");
                    groups.containsKey(whatGroup);
                ]]>
                </script>
            </method-selector>
        </method-selectors>
        <classes>
            <class name="organized.chaos.GroupsPlayGround" />
        </classes>
    </test> <!-- Test -->
</suite> <!-- Suite -->

关于java - 如何在 TestNG xml 文件中参数化方法名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60264920/

相关文章:

java - 我们什么时候应该使用远程过程调用?

java - 无法从 Firebase(Cloud Firestore 数据库)获取数据

java - Selenium webdriver - 鼠标悬停和下拉菜单 - 鼠标在浏览器内部/外部问题

java - 如何存储列表中多个项目的全局数组以供以后使用

javascript - 应返回的数字是数组中的第一个或最后一个

java - Hibernate事务超时事件

java - 如何迭代列出的元素数组,每次完成一组操作

algorithm - 如何检查用户选择算法

amazon-web-services - 我应该如何测试我的 "Serverless"(API Gateway/Lambda/ECS) 应用程序?

java - 使用 FileReader 只显示文本文件的最后一行?