下载  >  课程资源  >  软件测试  > Web自动化测试之Webdriver(TestNG).pdf

Web自动化测试之Webdriver(TestNG).pdf 评分:

较全面地介绍了selenium webdriver(TestNG)的用法,对完善代码架构、实现自动化测试项目化有不小帮助
类,方便所有的测试用例来调用及专人维护。 (2)创建 package src/ Test Cases:用于存放具体的测试用例,这里 的测试用例是具体的操作与判断语句 (3)创建 package src/ TestData:用来存放测试用例对应的测试数 据,为xm1格式 (4) Test ing.xm1: TestNg用米组织测试用例,以及设置是否进行多 线程操作等。 3,创建 Testng测试用例 回」x New TestnG class ecity additional information about the test class. Source folder: \Test\src Browse Package name: TestCases Browse Class name: HelloWorld Annotation □@ Before Method回@ AfterMethod回@ Data Provider @ Before Cla3日@ CercLa5s 回@ BeforeTest回@ AfterTest 回@ Before suite-口@ After suite XML suite file: testng.xml E BaL Next s Finish Cancel 新建 TestNG Classic,在弹出的对话框中选择 Beforetest和 Aftertest,并在 XML suite file后输入 testng.xml,单击 Finish按 钮,则会创建相应该的He1 loWorld.java测试用例文件及 testng.xm1。 4,添加我们的测试代码 具体的测试代码如下 //HelloWorld.java package Tes tEases import org. testng annotations. Test: import org. testng annotations. BeforcTest import org. testng annotations. AfterTest public class helloWorld Test lic void fo System. out. println( hello World! Beforetest public void beforeTesto t System. out. printIn( before Test running @Aftertest public void aftertest t System. out. println("afterTest running!") 详解讲解: 在主测试函数f(屮,输出我们经典的字符串“ Hello world!”; 在 beforeTest(函数中输出“ beforeTest running!”,在 afterTest( 凼数中输出“ afterTest running!”。我们这样做的目的很简单,就 是检测一下程序输出是不是我们预期的。 ,运行程序 右击 HelloWorld.jaa文件,然后选择 run as> TestNg test,然 后查看输出情况 [TestNG] Running C: Users\lys \AppData Local\Temp\testng-eclipse-1764034129\testng-customsuite xml before test runnil Hello world afterTest running! PASSEd f De fault test run: 1, Failures: 0, skips: e 输出顺序和我们预期的一样,所以,在具体的测试用例编与过程 中,我们通常把变量定义或是测试用例的前置操作放到 beforeTesto 函数中,而对测试使用产生的数据清除或是关闭浏览器,放到 afterTest函数中。 到目前为止,一个简单的 Testng测试用例已经写完了,可是我们 好像还没有用到 Webdriver呢?其实很简单, WebDriver的应用和其 他的类似,如: //HelloWorld. java package Testcases; import org. testng annotations. Test import org. testng annotations. BeforeTest import org.testng annotations. AfterTest //添加对 webdriver的引用 import org. openga selenium WebDriveri mport org. openga selenium firefox. FirefoxDriver; public class Helloworld t aTest public void f() throws Exception //System. out. println( "Hello World! " ) //创建浏览器,并打开百度 WebDriver driver new FirefoxDriver o; drivergethttp://www.baiducom"); //Do anything with baidu what you want! Thread. sLeep(5000); driver. quito; @BeforeTest public void beforeTesto) t System. out. println("beforeTest running! ")i @AfterTest public void after Teston System. out. println("afterTest running! ") 再次运行 Helloworld.java,就可以打开火狐浏览器,并打开百度 网页,等上5秒钟后关闭浏览器。其实在打开网页后,你可以利用 Webdriver做任何与具体测试用例相关的操作。 TestNG进阶篇 在前面我们利用 TestNG+ ebdriver能操作浏览器,打开测试网站 了,可是我们还没有实现测试用例和测试数据的分离,所以你需要继 续学习进阶篇。 DataProvider的使用 DataProvider是 TestNG数据提供者,利用这个机制,我们可以 实现测试用例与测试数据的分离,网上有很多相关的讲解,如: http://www.cnblogs.com/zhangfei/archive/2012/10/09/2717043 html 而我们的使用方法是什么呢? (1)读取 Test Data文什夹卜的测试数据文件,如: Helloworlo.xml (2)根据节点来读取数据。 这就要求我们实现下面的功能,读取xml文件,及访问节点数据。 代码详解 (1)创建 DataProvide.java文件来提供 DataProv ider。 //DataProvide. java package Common Function; import java.loFile; import java. lang reflect Method; import org.testng annotations. Dataprovider; import org. W3c dom. j import javax. xml parsers DocumentBuilder; import javax. Xml parsers DocumentBuilder Factory i public class DataProvide i public Document doc; public void init(string filename)throws Exception File inputXml new File(new File(filen ame).getAbsolutePath o); // documentBuilder为抽象不能直接实例化(将XML文件转换为DoM文件) DocumentBuilder db null DocumentBuilderFactory dbf null; try t //返回 documentUm1 der Factory对象 dbf DocumentBuilderFactory newInstance o; /返回d对象用 documentBuilderFatory对象获得返回 documentBuildr 对象 db =dbf. new Document Builder; //得到一个D0M并返回给 document对象 doc =(Do cument)db parse(inputXm1); catch (Exception e)i e. printstackTraceo @DataProvider(name="Test xml dataprovider") public object[][] providerMethod (Method method)[ return new object]inew Object[]idoc; 读取传递过来的Xm1文件,并传递 Documen对象给调用的函数 (2)创建 Datareader.java文件米读取Xm1的内容。 DataReader. java package Common Function; import org.W3Cdom.* public class DataReader i 水水 *从Xm1中获取相应的节点的数据 *@ param doc数据文件的 Document @ param firsttag子节点 *@ param secondtag要获取的元素的节点 @ return要查找的节点数据 public String readnodevalue(Document doc, String firsttag, String secondtag) String result= Element root=doc. getDocumentElement(; Nodelist childnode =root. getElements By TagName(firsttag); Nodelist resnode=childnode item(0).getchildNodes o; for (int i=0; i<resnode getLength (; i++) if(resnode item(i).getNode Name(.equals( secondta)) result=resnode item().getTextContent i break: return result (3) Helloworld.xm1的内容 <?xml version="1.0 encoding="UTF-8?> <testdata> <he11 o name="测试数据"> <name>Webdriver</name> </hello> </testdata> (4)He1 loWorld.java最终版本 package Testcase import org. testng annotations. Test, import org.testng annotations. Before Test; import org. testng annotations. AfterTest; import org.w3cdom Document; import org.openga selenium By i //添加对 webdriver的引用 import org. openga. selenium. WebDriverj import org. openga. selenium. WebElement; import org. openga selenium firefox. FirefoxDriver import static org. junit Assertk; //添加对 Dataprovider的引用 import Common Function DataProvide; import Common Function DataReader public class Helloworld extends DataProvide t pub] ic Datareader dr;/定义 Datareader @Test( dataProvider="Test_Ⅻm1_ dataprovider")/添加 dataprovider public void f(Document params)throws Exception f //System. out. println("Hello World! "); //创建浏览器,并打开百度 WebDriver driver new FirefoxDriver( driverget(http://www.baidU.com") //查询从He11Wor1d.xm1中读取的数据 WebElement input=driver. findElement(By id( kw")); input. click; input sendKeys(dr. readnodevalue(params, "hello","name ));//i HXXm1 中的数据并输入到搜索框 Thread. sleep(2000) WebElement submit=driver. findElement(By id( kw )); submit. click (j Thread. sLeep (5000); //检测查询结果 Webelement result=driver. findelement (By xpath("//divl@id=content left]/div/h3/a )); String text=result. getText) System. out. println(text) assertNotEquals(e,text indexof(dr. readnodevalue (params, "hello name" )) driver. quito @BeforeTest public void beforeTest() throws Exception i //System. out. println("beforeTest running! ")3 dr= new datareader();//实例化 DataReader init("src/ TestData/ Heliodor ld.xm");//设置数据源 @AfterTest public void afterTest)[ System. out. println( afterTest running!"; 经过上面代码的编写,现在再运行一下 Hello World. java程序,我们就 可以看到有如下操作: A打开火狐浏览器,同时打开www.baiducom B,输入 webdriver然后搜索。 C判读搜索结果中有没有 webdriver D,五秒之后关闭浏览器 testng.xm文件的配置 Testing.xm是 TestNG的配置文件,拥有强大的功能,可以根据需 要来配置测试用例的运行。具体参数有: name sute的名字(他会出现在测试报告中) unit 是否以juni模式运行 verbose 在控制台中如何输出,这个设置不影响htm|版本的测试报告 parallel 是否使用多线程测试(可能加速测试) configfailurepolicy 是否在运行失败了一次后继续尝试或跳过

...展开详情
2015-10-19 上传 大小:863KB
举报 收藏
分享
Web接口开发与自动化测试 pdf

Web接口开发与自动化测试-基于Python

立即下载
基于Selenium 2的自动化测试 从入门到精通PDF完整版

《基于Selenium 2的自动化测试:从入门到精通》向开发人员和测试人员展示了如何使用Selenium进行Web自动化测试。《基于Selenium 2的自动化测试:从入门到精通》从自动化测试的特点娓娓道来,引出了主角Selenium;介绍了Selenium IDE的使用;讲述了获取页面元素和定位页面元素的多种方式;讲解了WebDriver与Selenium RC的区别、WebDriver的架构和设计理念;阐述了WebDriver的部署、基本使用方法、对HTML5特性的支持,以及如何迁移已有的Selenium RC代码到Selenium WebDriver的解决方案;展示了在嵌入式系统中使用S

立即下载
Selenium2 Java自动化测试实战(最新版)高清完整.pdf版

Selenium2 Java自动化测试实战(最新版)

立即下载
web自动化测试

web自动化测试-HTTP层面的Web Service自动化测试

立即下载
web自动化测试视屏

我今天主要概括一下对于Web自动化测试而言,现在最火的一个工具----Selenium的学习思路。   1.首先,对于想学自动化测试的朋友,那么你得懂一种语言,常用的比如Java或者Python。因为没有语言基础,你是写不出自动化脚本的。   2.有了开发语言的铺垫,那么开始入手Selenium。了解它的发展,了解它的组成,了解它的实现原理。   3.当你对Selenium有了整体的了解后,可以开始学习了。实际上,我现在说的Selenium就是Selenium2。   4.(第一层次)首先你得知道:什么是元素?怎么去定位一个页面元素?怎么去控制元素?怎么控制浏览器?.....学完这些,

立即下载
web 自动化测试 webdirver

最近几年自动化测试好像挺火的,去各大招聘网站上一搜,什么 自动化测试工程师,测试开发工程啊,都挺多的而且待遇也挺高!那 么回过头来,我们要考虑一下,为什么很多公司都这么重视自动化测 试呢?

立即下载
Web自动化测试框架搭建

Web自动化测试框架搭建:内含自动化测试理念介绍及分层的自动化测试框架搭建,整个自动化测试采用CI管理

立即下载
Pamie web自动化测试

pamie 1.0 2.0 3.0全系列 网上大多例子是用的2.0~~~ 需要安装 a.python-2.5.4.msi b.pywin32-213.win32-py2.5.exe

立即下载
web自动化测试方案设计

web自动化测试方案设计

立即下载
Web自动化测试环境搭建

本次Web自动化环境的搭建教程是基于Selenium+Eclipse+Testng框架,感兴趣的朋友可以看下去,开始你的web自动化测试之旅。

立即下载
web自动化测试框架文档

文档主要有以下4大部分的内容: 1:自动化测试的关键思路介绍 2:自动化测试编码基础的介绍 3:框架的介绍 4:对于以上内容的总结 等等 本文档对于web应用如何开展自动化测试会有很好的指导作用。

立即下载
selenium-web自动化测试

当前绝大多数企业应用系统都是基于web的应用系统,人们可以通过internet浏览器便捷的访问他们,在可预见的将来,云计算会进一步推动这一趋势,当前很多组织和公司,采用持续改进的开发模式来应对这一种趋势,在持续改进开发模式中(比如敏捷和极限开发模式)需要不断的进行迭代测试。传统人工测试,效率低下,而且很难满足需要。那么在这个时候,自动化测试就充分体现出了他的优越性,自动化测试意味着,你可以在任何时候使用工具反复的执行测试。

立即下载
web自动化测试全套流程

该文件详细实践了Python+selenium自动化测试的整体流程,包括编写用例、执行用例、生成HTML格式的测试报告、识别图片验证码功能、在测试过程中的截图功能。用例执行结束邮件推送给相关人员 ,在邮件中显示测试结果。

立即下载
基于Selenium的web自动化测试

基于Selenium的web自动化测试

立即下载
WEB自动化测试-RobotFramework验收测试框架搭建

WEB自动化测试-RobotFramework验收测试框架搭建,内含ATDD思想介绍,实例运行,验收测试框架搭建

立即下载
零成本实现Web自动化测试

零成本实现Web自动化测试-基于Selenium和Bromine].温素剑.扫描版,教材,很全面

立即下载
selenium--WEB自动化测试

有关WEB 自动化测试的解决方案有很多,selenium因为开源和支持多语言测试脚本的特点受到很多人的青睐。在语言的选择上,综合语言本身的优缺点,普及率最后选择了JAVA做了一次尝试。

立即下载
watir Web自动化测试框架 api

Watir 是一个使用 Ruby 实现的开源Web 自动化测试框架,相对于那些庞大的商业工具来说,它很小巧,也很灵活,提供的功能也足够用。最近抽时间试用了一下,感觉还不错,准备下一步在公司推广使用。因为 Watir 的网站上用户手册、示例代码以及 FAQ 都维护的不错,所以已有的东西我就不重复了,在这里简单介绍一下,如果同行们有兴趣,可以一起研究一下。   Watir 是一个使用 Ruby 实现的开源Web 自动化测试框架,相对于那些庞大的商业工具来说,它很小巧,也很灵活,提供的功能也足够用。最近抽时间试用了一下,感觉还不错,准备下一步在公司推广使用。

立即下载
WEB自动化测试框架文档.doc

WEB自动化测试框架文档.docWEB自动化测试框架文档.docWEB自动化测试框架文档.docWEB自动化测试框架文档.docWEB自动化测试框架文档.docWEB自动化测试框架文档.doc

立即下载