欢迎来到天天文库
浏览记录
ID:41393009
大小:92.35 KB
页数:9页
时间:2019-08-24
《TestNG系列教程:并行执行测试-Java开发Java经验技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、TcstNG系列教程:并行执行测试-编程开发技术TestNG系列教程:并行执行测试木文由ImportNew・杨昆,仑翻译自LokeshG叩ta。欢迎加入翻译小组。转载请见文末要求。并行(多线程)技术在软件术语里被定义为软件、操作系统或者程序可以并行地执行另外一段程序屮多个部分或者子组件的能力。TestNG允许我们以并行(多线程)的方式来执行测试。这就意味着基于TestNG测试组件的配置,多个线程可以被同吋启动然后分别执行各自的测试方法。相对于传统的单线程执行测试的方式,这种多线程方式拥有很大的优势,主要是它可以减少测试运行时间,并且可以验证某段代码在多线程环境中运行的止
2、确性。冃录1.并行执行测试的优势2.如何并行地执行测试方法3.如何并行地执行测试类4.如何并行地执行同一测试套件内的各个测试组件5.如何配置需要在多线程环境屮执行的测试方法并行执行测试的优势并行(多线程)执行测试可以给用户带来很多好处,主要包括以下两点:1)减少了执行时间:并行测试也就意味着多个测试可以在同一时间被同时执行,从而减少了整体测试所花费的时间。2)允许多个线程并行地测试同一个测试组件:有了这个特性,我们就能够写出相应的测试用例來验证应用程序中包含多线程部分的代码的正确性。以上特性被广泛地应用在QA领域的自动化功能测试方而。通过简单的配置,QA人员就可以很轻松
3、地使得他们的测试用例在多个浏览器或者操作系统屮并行地执行。TestNG提供了三种不同类型的配置方案来实现并行测试。如何并行地执行测试方法TcstNG为我们提供了多种方式來实现并行测试,其中一种就是每一个独立的线程分别执行各自的测试方法。这种方式能够显著地减少测试执行时间,这是因为当有越多的测试方法被并行执行时,总体测试消耗时间将会越少。packagecom.howtodoinjava,paralleiism;importorg.tcstng.annotations.AfterMethod;importorg.testng.annotations.BeforeMethod
4、;importorg.testng.annotations.Test;publicclassParallelMethodTest{@BeforeMethodpublicvoidbeforeMethod(){longid=Thread,currentThread()•getld();System,out.println("Beforetest-method.Threadidis:〃+id);}©TestpublicvoidLestMethodsOne(){longid=Thread,currentThread()•getld();System,out.printIn(''
5、Simpletest-methodOne.Threadidis:"+id);}@TestpublicvoidtestMethodsTwo(){longid=Thread.currentThread().getld();System・out・printin("Simpletest-methodTwo.Threadidis:”+id);}©AfterMethodpublicvoidafterMethod(){longid=Thread,currentThread()•getld();System,out.println("Aftertest-method.Threadidi
6、s:"+id);上述测试类包含了两个测试方法,每个测试方法在执行吋都会在控制台屮打印出一条信息。每个测试方法以及它们各自的beforeMehod>afterMethod方法都会通过Thread.currentThread.getTd()这段代码打印出执行该测试方法的线程的IDo在项目中新建一个名为mcthods-tcst-tcstng.xml的文件并将卜•述代码写入该文件中。7、-instances二气rue〃>在Eclipse屮选屮该文件并月•以TestNG测试套件方式运行它。你将会在控制台屮看到以下输岀信息:Beforetest-method.Threadidis:10Beforetest-method.Threadidis:9Simpletest-methodTwo.Threadidis:10Simpletest—
7、-instances二气rue〃>在Eclipse屮选屮该文件并月•以TestNG测试套件方式运行它。你将会在控制台屮看到以下输岀信息:Beforetest-method.Threadidis:10Beforetest-method.Threadidis:9Simpletest-methodTwo.Threadidis:10Simpletest—
此文档下载收益归作者所有