在学习TestNG框架注解时发现在执行以下的代码 package com.groups; import org.testng.annotations.AfterGroups; import org.testng.annotations.BeforeGroups; import org.testng.annotations.Test; public class GroupOnMethod { @Test(groups = "1") public void test1(){ System.…
此文主要讲述用 TestNG 基础的 annotation (注解)知识,及其执行的顺序,并通过一个 TestNG 简单的实例演示 annotation 的执行顺序. 希望能对初学 TestNG 测试框架的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激! 言归正传,以下为 TestNG 常用的 annotation 及其释义,敬请参阅. @BeforeSuite:被此注解的方法将在所有测试运行之前运行该方法. @AfterSuite: 被此注解的方法将在所有测试运行之后运行该方法. @Bef…
1. 单个测试用例文件 新建TestDBConnection.java文件 import org.testng.annotations.*; public class TestDBConnection { @Test public void runOtherTest1() { System.out.println("@Test - runOtherTest1"); } @Test public void runOtherTest2() { System.out.println(&quo…
Testng 是一款非常优秀的测试框架,真正从测试角度出发,为测试所想.在测试过程中我们经常会遇到对某一个场景做并发请求,主要想了解该程序在并发时是否会有异常或者没考虑到的其他情况,这时往往不是要做性能测试,又不能因为这个而去用LR来做这件事情.如果你对Testng 比较了解,你会发现只需2个简单的注释就可以实现这个需求. 1.主要使用了@Test 中的2个属性,一个是ThreadPoolSize 和invocationCount,分别是线程池大小,和调用次数线程池属于对象池.所有对象池都具有一…
test失败自动执行大大提高测试结果的准确性, 1.修改testNG源码实现test失败自动执行, 首先获取testng的源码, 获取源代码,构建过程: $ git clone git://github.com/cbeust/testng.git 然后修改src/main/java/org.testng/SuiteRunner.java文件, private void runTest(TestRunner tr) { int reRunTimes = 2;//失败执行的次数 tr.run();…
问题: eclipse中注释的代码在debug的时候居然还能执行.那一刻内心是崩溃的.. 解决方案: 项目重编译显示都正常,并没有报错,然后发现项目编译后,WEB-INF/lib/classes中的class文件并没有更新,这就好理解了,项目其实没有编译成功.然后又发现项目图标上有个感叹号.是因为在 项目右键→Properties→Libraries 中有部分jar不正确,导致项目不能编译自动生成classes.加载一下jar项目就正常了.over..…
先说说我遇到的问题吧.修改别人的代码,注释原来的代码或者添加新的代码,都不执行,还是编译原来的代码.而且还有一个错误:lc.exe 已退出 代码为 -1 解决方法: 1.先把lc.exe 已退出 代码为-1  决解 因为证书的原因,把项目中“properties”目录下的“license.licx”文件删除,如图: 2.保存,重新生解决方案,在编译.问题就解决了. 如果有 lc.exe 已退出 代码为 -1 错误,直接重新生成解决方案,编译会报错.我试过 如果没有 lc.exe 已退出 代码为…
如果在methods中标识了@test的方法,也可以在method中通过include和exclude来控制需要执行哪些方法 <include name="testMethod1" /> <exclude name="testMethod2" /> <include name="testMethod3" /> include:配置是可以执行 ,exclude:配置不执行该方法 执行testMethod1.tes…
1. 单类,无继承父子关系 code: public class basicTest { @BeforeSuite(alwaysRun = true) public void beforeSuite_basicTest() throws InterruptedException { System.out.println("beforeSuite_basicTest"); Thread.sleep(1000); } @AfterSuite(alwaysRun = true) public…
使用TestNG类执行测试用例.这个类的主入口点在TestNG的框架运行测试.用户可以创建自己的TestNG的对象,并调用它以许多不同的方式: 在现有的testng.xml 合成testng.xml,完全从Java创建 直接设定测试类 您还可以定义哪些群体包括或排除,分配参数,命令行参数: -d outputdir: 指定输出目录 -testclass class_name: 指定了一个或多个类名 -testjar jar_name: 指定的jar包含测试 -sourcedir src1;src…
TestNG注释详解 suite 属性说明: @name: suite 的名称,必须参数@junit:是否以Junit 模式运行,可选值(true | false),默认"false"@verbose:命令行信息打印等级,不会影响测试报告输出内容:可选值(1|2|3|4|5)@parallel:是否多线程并发运行测试:可选值(false | methods | tests | classes | instances),默认"false"@thread-count:当…
这一篇我们主要学习如下几个知识点: ⑴关于testng.xml ⑵创建一个测试套件 ⑶执行testng.xml ⑷在测试套件中创建多个测试用例 ⑸在用例中增加class,packages, method ⑹用例中包含/不包含class,packages, method ⑺⑻⑼⑽ 在开始学习这些知识点之前,需要在eclipse中先创建一个java 项目,结构如下: 在每个class文件中增加如下代码 import org.testng.annotations.Test; public class…
前段时间在网络上看到通过重写TestNG的接口,可以再次执行失败的测试用例,于是学习了,我之前的做法是当自己的脚本中碰到异常,就自动调用方法本身来达到再次执行用例的目的,这个过程中有设定重试的次数 对于TestNG,首先重写接口IRetryAnalyzer,重写该接口中的retry方法,自定义需要重试的次数maxReTryNum,如果一个用例失败,自动进入retry方法,在此方法中判断已经重试的次数是否小于等于maxReTryNum,如果是,则返回true,则自动再次执行失败的用例,如果是失败的…
碰到一个场景是,在做自动化中,一个系统往往需要兼容很多浏览器,如何在一个工程中,通过参数化去启动不同的浏览器,而无需改动配置文件呢? 我解决的思路是: 1.通过jenkins的参数传递给maven 2.在通过maven把参数传递给testng 3.testng在把参数传给执行的类 这样就可解决此问题,一下是我具体的配置及使用方法,如下: jenkins中的配置 如下: maven的pom.xml配置如下: testng的xml配置如下: java类中使用testng的xml配置参数,如下: 最后…
前面我们都在IDEA上右键testng.xml文件来运行testng用例,这个在编写测试用例过程是 可以这么做,但是,如果测试用例写完了,也是这么做吗?有没有什么方法,例如自动化去实现.测试脚本维护后期,我们都会考虑持续集成测试,那么如何把运行测试用例实现自动化呢?网上搜索,很多都是testng在cmd中输入命令行,但是这个是有缺陷的,第一需要javac命令去编译你的测试用例,然后才能用这个命令,如果用例很多,你怎么实现在cmd进行批量编译呢?这篇,我们就是来解决这个问题,不用关心TestNG环…
之前在博客上分享过一篇文章,涉及到 Java 中的注释,就信誓旦旦地写了一句话:"注释是不会被执行的!"结果,有小伙伴留言说,"老师,你确定吗?" 我这个人一直有个优点,就是能听得进去别人的声音,管你是赞美的还是批评的,从来都是虚心接受.因为我相信,大多数小伙伴都是出于善的目的. 况且,我在技术上从来没想过要成为多牛逼的大佬,就是喜欢分享的感觉,而已.很多文章中出现的错误,我都原封不动的保留,因为如果把修正了,那么留言中那些指出错误的人,在后来的读者眼里,就会觉得不…
我们知道testng的配置文件,一个.xml里面只能有一个suite,那么如果想要设置多个suite怎么弄呢?这个时候我们需要用到testng的标签<suite-files>. 下面说一下我弄的一个实例,首先我有两的suite,一个是UItest.xml,一个是APITest.xml,代码如下: UITest.xml: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE suite SYS…
原文出处:http://www.cnblogs.com/TankXiao/p/3888070.html 阅读目录 TestNG介绍 在Eclipse中在线安装TestNG 在Eclipse中离线安装Testng TestNG最简单的测试 TestNG的基本注解 TestNG中如何执行测试 使用testtng.xml 文件执行 case TestNG按顺序执行Case TestNG异常测试 TestNG组测试 TestNG参数化测试 TestNG忽略测试 TestNG 依赖测试 TestNG测试结…
TestSuite处理测试用例有6个规约(否则会被拒绝执行测试) A 测试用例必须是公有类(Public) B 测试用例必须继承与TestCase类 C 测试用例的测试方法必须是公有的( Public ) D 测试用例的测试方法必须被声明为Void E 测试用例中测试方法的前置名词必须是test F 测试用例中测试方法误任何传递参数 执行TestNg有几种方式:命令行.Eclipse/IntelliJ.ant等.第一种: 直接执行,右键要执行的方法,点Run As ->TestNG Test第二…
目录 一.概述 二.@Test注解常用参数 三.测试中常用的断言(assert) 四.TestNG常用注解及使用 五.配置文件xml常用标签 六.参数传递 七.测试报告 一.概述 1.TestNG是一个开源自动化测试框架,其灵感来自JUnit和NUnit,TestNG还涵盖了整个核心的JUnit4功能,但引入了一些新的功能,使其功能更强大,使用更方便. 优势:支持依赖测试方法,并行测试,负载测试,局部故障:灵活的插件API:支持多线程测试: 2.Maven依赖 <dependency> <…
阅读目录 TestNG介绍 在Eclipse中在线安装TestNG 在Eclipse中离线安装Testng TestNG最简单的测试 TestNG的基本注解 TestNG中如何执行测试 使用testtng.xml 文件执行 case TestNG按顺序执行Case TestNG异常测试 TestNG组测试 TestNG参数化测试 TestNG忽略测试 TestNG 依赖测试 TestNG测试结果报告 TestNG介绍 TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit,  …
1.-依赖注入 TestNG支持两种不同类型的依赖项注入:本机(由TestNG本身执行)和外部(由诸如Guice的依赖项注入框架执行). 1.1-本机依赖项注入 TestNG允许您在方法中声明其他参数.发生这种情况时,TestNG将自动用正确的值填充这些参数.依赖注入可以在以下地方使用: 任何@Before方法或@Test方法都可以声明ITestContext类型的参数.任何@AfterMethod方法都可以声明ITestResult类型的参数,该参数将反映刚刚运行的测试方法的结果.任何@Bef…
1.简介 TestNG中用到的annotation的快速预览及其属性. 2.TestNG基本注解(注释) 注解 描述 @BeforeSuite 注解的方法只运行一次,在当前suite所有测试执行之前执行 @AfterSuite 注解的方法只运行一次,在当前suite所有测试执行之后执行 @BeforeClass 注解的方法只运行一次,在当前类中所有方法调用之前执行 @AfterClass 注解的方法只运行一次,在当前类中所有方法调用之后执行 @BeforeTest 只运行一次,所有的测试方法运行…
15分钟入门TestNG 阅读目录 TestNG介绍 在Eclipse中在线安装TestNG 在Eclipse中离线安装TestNg TestNG最简单的测试 TestNG的基本注解 TestNG中如何执行测试 使用testtng.xml 文件执行 case TestNG按顺序执行Case TestNG异常测试 TestNG组测试 TestNG参数化测试 TestNG忽略测试 TestNG超时测试 TestNG 依赖测试 TestNG测试结果报告 其他 TestNG介绍 TestNG是Java中…
TestNG 入门教程[转] 国庆7天假期,大部分朋友都出去旅游了,微信圈里全是晒旅游的照片, 东南亚游,欧洲游呀,真是羡慕呀. 悲惨的我只去了上海野生动物园, 在家休息,利用这段假期,把之前学过的东西都总结下. 我前段时间加班太多了,每天忙碌工作,都没精力去管自己的学习新技能的计划, 博客也没写几篇,很多想做的事情都因为工作太忙而耽搁了. 所以工作太忙了也不好,没有精力关注工作以外的事情. 最近写自动化测试每天都用到TestNG,  把常用的TestNG的用法总结下. 阅读目录 TestNG介…
一.testng 介绍 TestNG 是一个测试框架,其灵感来自 JUnit 和 NUnit,但同时引入了一些新的功能,使其功能更强大,使用更方便. TestNG 设计涵盖所有类型的测试:单元,功能,端到端,集成等,它需要 JDK5 或更高的 JDK 版本. 详细使用说明请参考官方链接:https://testng.org/doc/index.html 在 maven 中引入依赖: <dependency> <groupId>org.testng</groupId> &…
TestNG介绍 TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit, 功能都差不多, 只是功能更加强大,使用也更方便. 详细使用说明请参考官方链接:https://testng.org/doc/index.html TestNG安装 <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.10&l…
有必要介绍一下TestNG注解的生命周期,先看一下官网支持的注解有 @BeforeSuite@AfterSuite@BeforeTest@AfterTest@BeforeGroups@AfterGroups@BeforeClass@AfterClass@BeforeMethod@AfterMethod Configuration information for a TestNG class: @BeforeSuite: The annotated method will be run befor…
TestNG TestNG是一个测试框架,灵感来自JUnit和NUnit.但引入了下面这些新的功能,使它更强大和更容易使用. 注解: 可在任意大的线程池运行您的测试(所有方法在它们自己的线程内,一个线程一个测试类): 灵活的测试配置: 支持数据驱动测试(@DataProvider): 支持参数: 强大的执行模型(不再使用TestSuite): 支持各种工具和插件(Eclipse,IDEA,Maven等-): 嵌入BeanShell增加进一步的灵活性: 默认使用JDK函数运行和日志记录(无依赖关系…
package com.course.testng.groups; import org.testng.annotations.AfterGroups; import org.testng.annotations.BeforeGroups; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; public class GroupsOnMethod { @Test(groups = "ser…