持续集成:TestNG中case之间的关系

 

poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200。

我们写培训单元测试,写case代码的时候,可能会遇到一条case依赖另外一条case,比如我现在用一个xml文件生成html文件,但是这个xml文件就是另外一条case生成的。所以我们需要定义一种依赖就是生成html的case要在生成xml文件的case之后生成,看看有什么解决的方法

dependsOnGroups

生成xml的单测case如下:

@Test(groups = { "unittest","androidtestresult" })

public void generateAndroidXmlTestResult()

生成html的单测case如下:

@Test(groups = { "unittest" }, dependsOnGroups = { "androidtestresult" })

public void generatorAndroidReportByMuiltDirTest()

在需要依赖的case上定义了dependsOnGroups属性,里面就是被依赖case所在的组,这样当该case执行的时候,被依赖组中的case都会被执行。而我只是给groups定义为androidtestresult,所以androidtestresult组中只有一条case为generateAndroidXmlTestResult,所以只会执行这条case。

执行结果:

[TestNG] Running:

/private/var/folders/3j/s3hfvmy572vcn3h02c_rxcbm0000gn/T/testng-eclipse-774643464/testng-customsuite.xml

2015-07-31 12:21:10 INFO  TestResult:156 - Created testResult.xml  file at file:///Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/result/android/MI_2G_dksldfdffdf_4.4.2_201507210823923/testResult.xml

2015-07-31 12:21:10 INFO  TestResult:93 - TestResult [rootDir=/Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/result/android/MI_2G_dksldfdffdf_4.4.2_201507210823923, loops={case3=com.wuba.result.TestCaseLoop@3c6210fb, case1=com.wuba.result.TestCaseLoop@4a48edb5, case2=com.wuba.result.TestCaseLoop@79ee2c2c}, device=MI, network=2G, sn=dksldfdffdf, version=4.4.2]

2015-07-31 12:21:10 INFO  XmlReportGenerator:108 - Read testResult.xml finished

2015-07-31 12:21:10 INFO  XmlReportGenerator:109 - TestResult [rootDir=/Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/result/android/MI_2G_dksldfdffdf_4.4.2_201507210823923, loops={case3=com.wuba.result.TestCaseLoop@661736e, case1=com.wuba.result.TestCaseLoop@67e13e07, case2=com.wuba.result.TestCaseLoop@74af72d8}, device=MI, network=2G, sn=dksldfdffdf, version=4.4.2]

2015-07-31 12:21:10 INFO  XmlReportGenerator:108 - Read testResult.xml finished

2015-07-31 12:21:10 INFO  XmlReportGenerator:109 - TestResult [rootDir=/Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/result/android/MI_3G_dksldfdffdf_4.4.2_20150721082392, loops={case4=com.wuba.result.TestCaseLoop@4b1c2b67, case5=com.wuba.result.TestCaseLoop@26659db7, case6=com.wuba.result.TestCaseLoop@59556d12}, device=MI, network=3G, sn=dksldfdffdf, version=4.4.2]

2015-07-31 12:21:10 INFO  XmlReportGenerator:108 - Read testResult.xml finished

2015-07-31 12:21:10 INFO  XmlReportGenerator:109 - TestResult [rootDir=/Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/result/android/MI_4G_dksldfdffdf_4.4.2_20150721082392, loops={case7=com.wuba.result.TestCaseLoop@1a0fced4, case8=com.wuba.result.TestCaseLoop@3d3cdaa, case9=com.wuba.result.TestCaseLoop@466355dc}, device=HW, network=4G, sn=1232324343, version=4.4.2]

2015-07-31 12:21:10 INFO  XmlReportGenerator:108 - Read testResult.xml finished

2015-07-31 12:21:10 INFO  XmlReportGenerator:109 - TestResult [rootDir=/Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/result/android/HW_4G_12323242_4.4.2_20150721082392, loops={case7=com.wuba.result.TestCaseLoop@5421e554, case8=com.wuba.result.TestCaseLoop@7d5718f2, case9=com.wuba.result.TestCaseLoop@6126f827}, device=MI, network=4G, sn=dksldfdffdf, version=4.4.2]

2015-07-31 12:21:10 INFO  TestReport:78 - Created file at file:///Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/report/2015-07-31_12-21-10/testReport.xml

2015-07-31 12:21:10 INFO  HtmlReportGenerator:95 - Created report html file at file:///Users/wuxian/Documents/sourcecode/self/ResponseTimeTool/repo/report/2015-07-31_12-21-10/testReport.html

PASSED: generateAndroidXmlTestResult

PASSED: generatorAndroidReportByMuiltDirTest

===============================================

Default test

Tests run: 2, Failures: 0, Skips: 0

===============================================

===============================================

Default suite

Total tests run: 2, Failures: 0, Skips: 0

===============================================

[TestNG] Time taken by org.testng.reporters.jq.Main@fcfa52: 31 ms

[TestNG] Time taken by org.testng.reporters.XMLReporter@388ee016: 7 ms

[TestNG] Time taken by org.testng.reporters.EmailableReporter2@351563ff: 3 ms

[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 0 ms

[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@220ca470: 9 ms

[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@47d62270: 5 ms

持续集成:TestNG中case之间的关系的更多相关文章

  1. 探讨PostgreSQL实例中数据库之间的关系

    疑问 前几天PG学习微信群有人在问"pg_class 存储了对象和命名空间,表空间的对应关系,为什么没有和数据库的关系?我想查数据库下面有多少对象,找不到数据库和对象的关系?" 简 ...

  2. 使用beanstalkd实现定制化持续集成过程中pipeline

    持续集成是一种项目管理和流程模型,依赖于团队中各个角色的配合.各个角色的意识和配合不是一朝一夕能练就的,我们的工作只是提供一种方案和能力,这就是持续集成能力的服务化.而在做持续集成能力服务化的过程中, ...

  3. Spring基础——在 IOC 容器中 Bean 之间的关系

    一.在 Spring IOC 容器中 Bean 之间存在继承和依赖关系. 需要注意的是,这个继承和依赖指的是 bean 的配置之间的关系,而不是指实际意义上类与类之间的继承与依赖,它们不是一个概念. ...

  4. CSS系列:CSS中盒子之间的关系

    1. 标准文档流 标准文档流是值在不使用其他的雨排列和定位相关的特殊CSS规则时,各种元素的排列规则. 1.1 块级元素(block level) 块级元素不会排在同一行中,总是以一个块的形式表现出来 ...

  5. 通过jenkins持续集成 github中的代码到 服务器。

    前言 最近自己在探索springboot框架,了解到 jenkins 具有 自动我github 上带项目部署到 tomcat 中.于是决定先搭建一个jenkins 环境在继续研究. Jenkins简介 ...

  6. CCNet持续集成编译中SVN问题解决

    SVN问题 BUILD EXCEPTION Error Message: ThoughtWorks.CruiseControl.Core.CruiseControlException: Source ...

  7. 在TFS持续集成(持续发布)中执行Telnet任务

    Telnet是一种在因特网或局域网上使用虚拟终端连接,提供双向交互式文本通信设备的协议. 它是最早的互联网通讯协议之一.自1969年启用以来,已经经过了将近50年时间,在开放式的操作系统中拥有广泛的用 ...

  8. (转载)持续集成(第二版)[来自:Martin Fowler]

    转载自:iTech的博客 持续集成(第二版) 作者:Martin Fowler 译者:雷镇 持续集成 是一种软件开发实践.在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以 ...

  9. MCI:移动持续集成在大众点评的实践

    一.背景 美团是全球最大的互联网+生活服务平台,为3.2亿活跃用户和500多万的优质商户提供一个连接线上与线下的电子商务服务.秉承“帮大家吃得更好,生活更好”的使命,我们的业务覆盖了超过200个品类和 ...

随机推荐

  1. [hadoop] - Container [xxxx] is running beyond physical/virtual memory limits.

    当运行mapreduce的时候,有时候会出现异常信息,提示物理内存或者虚拟内存超出限制,默认情况下:虚拟内存是物理内存的2.1倍.异常信息类似如下: Container [pid=13026,cont ...

  2. [转]云计算之hadoop、hive、hue、oozie、sqoop、hbase、zookeeper环境搭建及配置文件

     云计算之hadoop.hive.hue.oozie.sqoop.hbase.zookeeper环境搭建及配置文件已经托管到githubhttps://github.com/sxyx2008/clou ...

  3. 第三方库FMDB的使用

    1.FMDB简介 什么是FMDB FMDB是iOS平台的SQLite数据库框架,FMDB以OC的方式封装了SQLite的C语言API. 为什么使用FMDB 使用起来更加面向对象,省去了很多麻烦.冗余的 ...

  4. 【Zookeeper】源码分析之服务器(二)

    一.前言 前面阐述了服务器的总体框架,下面来分析服务器的所有父类ZooKeeperServer. 二.ZooKeeperServer源码分析 2.1 类的继承关系 public class ZooKe ...

  5. 用PHP ping 一个 IP

    最近要做一个 测试IP列表 是否能连通的功能.大家都知道我们一般用 ping 命令就可以看到IP端口可不可以连通.那在程序里要怎么做呢? 我们在网上找到很多都是使用  exec("ping ...

  6. 10条建议让你创建更好的jQuery插件

    在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & paste 大部分的代码结构,只要专注最主要的逻辑代码就行了.使 ...

  7. Selenium 上传文件失败,解决办法一

    昨个改程序遇到一个问题,UI上面有需要上传文件的地方.但是我不知道怎么让Selenium完成 点击上传文件按钮->在弹出的文件选择窗口中选择路径和文件,点确定. 要知道弹出窗口属于window的 ...

  8. 详解Swing中JTree组件的功能

    JTree组件是另外一个复杂组件,它不像 JTable 那样难用,但是也不像 JList 那么容易.使用 JTree 时麻烦的部分是它要求的数据模型. JTree组件的功能来自树的概念,树有分支和叶子 ...

  9. 交互神器 Facebook Origami

    最近用到了一个非常强大的工具,这是一款由 facebook 出品的原型设计软件,老规矩我们先来看一下效果.大家也可以先进去官网看看效果Origami 官网 scroll.gif swipe.gif O ...

  10. 1965: [Ahoi2005]SHUFFLE 洗牌

    1965: [Ahoi2005]SHUFFLE 洗牌 Time Limit: 3 Sec  Memory Limit: 64 MBSubmit: 408  Solved: 240[Submit][St ...