如何使用TestNG仅执行Test类中的第一个测试

亨德森

我正在组装一个导航测试套件,以使用 Java/Selenium/TestNG 在我公司内部应用程序的每个页面上练习一些功能。

假设我的 NavigationTests 目录中有一个名为 ApplicationsIT 的测试类。在这个类中,我有 10 个 @Tests 注释,所以每次我运行完整的 NavigationTests 套件时,都会运行 10 个测试。

但是,为了时间,有没有办法让我只在每个测试类中运行第一个测试?

我尝试弄乱“(alwaysRun = false)”标签,但它似乎没有按我的预期工作。

我知道这是一个结构不佳的问题/帖子,所以我很乐意澄清我能做的任何事情。

克里希南·马哈德万

至少有两种动态执行此操作的方法。

  1. 使用org.testng.IAnnotationTransformer. 在这里,您基本上实现了接口,org.testng.IAnnotationTransformer并在其transform()方法中检查传入testMethod java.lang.reflect.Method对象以检查其名称是否与您要运行或不运行的内容匹配。您可以通过 JVM 参数指定运行/不运行一堆方法的意图。如果有匹配项,那么您基本上可以通过annotation.setEnabled(false)这里annotationis of type禁用测试方法org.testng.annotations.ITestAnnotation您需要使用<listeners>套件 xml 文件中标记通过服务加载器(或)连接到此侦听器有关一般听众的更多信息,您可以在此处查看我的博客文章
  2. 另一种选择是使用豆壳。下面的示例向您展示了如何使用 beanshell。你可以阅读更多关于如何工作,beanshells,从我的博客文章在这里
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="47230879_Suite" parallel="false" verbose="2">
    <test name="47230879_test" verbose="2">
        <method-selectors>
            <method-selector>
                <script language="beanshell">
                    <![CDATA[
                        try {
                            input = System.getProperty("methods","");
                            if (input.trim().isEmpty()) {
                                return true;
                            }
                            methods= input.split(",");
                            for (int i =0; i< methods.length; i++) {
                                if (method.getName().equals(methods[i])) {
                                    return true;
                                }
                            }
                            return false;
                        } catch( e ) {
                            print(e);
                        }
                    ]]>
                </script>
            </method-selector>
        </method-selectors>
        <classes>
            <class name="com.rationaleemotions.stackoverflow.qn47230879.TestclassSample"/>
        </classes>
    </test>
</suite>

测试类如下所示

package com.rationaleemotions.stackoverflow.qn47230879;

import org.testng.annotations.Test;

public class TestclassSample {
    @Test
    public void a() {
        System.err.println("a()");
    }

    @Test
    public void b() {
        System.err.println("b()");
    }

    @Test
    public void c() {
        System.err.println("c()");
    }

    @Test
    public void d() {
        System.err.println("d()");
    }

    @Test
    public void e() {
        System.err.println("e()");
    }
}

如果您在没有通过 JVM 参数指定任何方法的情况下运行该套件,则所有方法都会运行,但是如果您通过 JVM 参数-Dmethods=a,b,c(例如)指定一堆方法名称,则只会执行那些方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用sed仅删除文件中第一个出现的行

来自分类Dev

如何确定 First 的使用范围以仅获取组中的第一个值?

来自分类Dev

如果第一个测试用例失败,如何停止Robot Framework测试执行?

来自分类Dev

Quartz仅执行连续的第一个作业

来自分类Dev

Makefile仅执行第一个目标

来自分类Dev

Bash数组仅执行第一个索引

来自分类Dev

如何使用类在表的第一个TD中更改颜色

来自分类Dev

如何仅使用String类将字符串的第一个单词更改为大写

来自分类Dev

使用Jquery从仅具有类名的文章中获取第一个子ID

来自分类Dev

如何测试此元素是否是整个文档中带有类的第一个元素?

来自分类Dev

仅将第一个元素执行到数组中的问题

来自分类Dev

如何仅隐藏父类的第一个元素

来自分类Dev

jQuery Waypoints仅使用指定的类处理第一个元素

来自分类Dev

如何使用jinja从Postgres中仅通过Django中的视图获取第一个“ N”元素

来自分类Dev

如何仅使用字符串中的第一个逗号作为分隔符?

来自分类Dev

Group by使用pymongo仅返回mongodb中的第一个匹配文档,如何检索所有匹配的文档?

来自分类Dev

如何使用 Python 仅打印文本文件中字符串的第一个实例?

来自分类Dev

如何仅等待第一个任务完成

来自分类Dev

如何仅显示选择的第一个结果?

来自分类Dev

仅显示数据中的第一个元素

来自分类Dev

仅获取多个事件中的第一个

来自分类Dev

Shell函数仅使用第一个参数

来自分类Dev

如何仅解析android中json对象中的第一个数组?

来自分类Dev

使用 BeautifulSoup 从多个同名类中获取第一个类

来自分类Dev

如何仅返回XPath中的第一个匹配结果?

来自分类Dev

如何仅查找列表中的第一个最小整数

来自分类Dev

如何仅获得列表中没有括号的第一个数字?

来自分类Dev

如何在Powershell中仅删除不带“}”的行的第一个匹配项?

来自分类Dev

我如何仅获取MATLAB中的第一个主要组件?

Related 相关文章

  1. 1

    如何使用sed仅删除文件中第一个出现的行

  2. 2

    如何确定 First 的使用范围以仅获取组中的第一个值?

  3. 3

    如果第一个测试用例失败,如何停止Robot Framework测试执行?

  4. 4

    Quartz仅执行连续的第一个作业

  5. 5

    Makefile仅执行第一个目标

  6. 6

    Bash数组仅执行第一个索引

  7. 7

    如何使用类在表的第一个TD中更改颜色

  8. 8

    如何仅使用String类将字符串的第一个单词更改为大写

  9. 9

    使用Jquery从仅具有类名的文章中获取第一个子ID

  10. 10

    如何测试此元素是否是整个文档中带有类的第一个元素?

  11. 11

    仅将第一个元素执行到数组中的问题

  12. 12

    如何仅隐藏父类的第一个元素

  13. 13

    jQuery Waypoints仅使用指定的类处理第一个元素

  14. 14

    如何使用jinja从Postgres中仅通过Django中的视图获取第一个“ N”元素

  15. 15

    如何仅使用字符串中的第一个逗号作为分隔符?

  16. 16

    Group by使用pymongo仅返回mongodb中的第一个匹配文档,如何检索所有匹配的文档?

  17. 17

    如何使用 Python 仅打印文本文件中字符串的第一个实例?

  18. 18

    如何仅等待第一个任务完成

  19. 19

    如何仅显示选择的第一个结果?

  20. 20

    仅显示数据中的第一个元素

  21. 21

    仅获取多个事件中的第一个

  22. 22

    Shell函数仅使用第一个参数

  23. 23

    如何仅解析android中json对象中的第一个数组?

  24. 24

    使用 BeautifulSoup 从多个同名类中获取第一个类

  25. 25

    如何仅返回XPath中的第一个匹配结果?

  26. 26

    如何仅查找列表中的第一个最小整数

  27. 27

    如何仅获得列表中没有括号的第一个数字?

  28. 28

    如何在Powershell中仅删除不带“}”的行的第一个匹配项?

  29. 29

    我如何仅获取MATLAB中的第一个主要组件?

热门标签

归档