版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、自动化测试学习总结Selenium的简单介绍Selenium是一套不同的软件工具,使用不同的方法来支持自动化测试。许多 selenium QA Engineers专注于一个或两个满足他们项目需求的工具,然而学 习所有的工具将给他们解决不同的测试问题提供许多不同的选项。整套工具提供 了非常丰富的功能,可以满足各种种类的Web应用的测试需求。这些操作非常灵 活,允许有多种定位UI元素和比较期望结果的方法。Selenium的一个关键特性 是一个测试案例可以在多个操作系统平台上运行。要不要自动化自动化永远都有优势么?什么时候应该选择自动化?不,有时候手工测试更适合。例如,如果应用的用户界面在不远的将来
2、会改 变,那么自动化需要重写。或者,没有足够的时间来创建自动化测试。短期来说, 手工测试更有效率。如果一个应用有很紧的期限,暂时没有自动化测试,而且测 试必须在一个时间段里完成,那么手工测试是最好的选择。Selenium自动化测试的好处频繁的回归测试快速的反馈Test Case几乎无限次的执行支持Agile和Extreme开发模式Test Case的有纪律的文档定制的缺陷报告寻找被手工测试忽略的缺陷学习的目的本次主要是对功能测试工具Selenium2 Webdriver的学习和使用,作为一个 之前没接触过selenium的新手,本次主要围绕Selenium对其测试框架进行挖掘, 其次就是对于j
3、ava语言的回顾和学习。学习过程中用到的软件及插件浏览器使用的 FireFox35.0.1,Selenium IDE,Firebug,FirePathWebdriver+eclipse+Junit+testNG+reportNG,测试结果的控制(Excel 测试用例).testn g.eclips e_6 9.10.: n sorg .testn g.ecli psej qg .testn g.ecli pse_6.9 org .testn g.ecli pse_6. 使用的jar包.testn g.eclips e_6 9.10.: n sorg .testn g.ecli psej qg
4、.testn g.ecli pse_6.9 org .testn g.ecli pse_6. : Qic testng.jar - L:UsersvrvDesktopeclip5e-jee-mars-K-wino2ecl 1 psepIug 1 nsor(冒 jcommander.jar - C:U sersvrvDes Icto pecli pse-jee- mars- R-win32ecli psep I u g咨 bsh-2.0b4.jar - C:UsersvrvDesktopeclipse-jee-mars-R-win32eclipsepluginsm snakeyaml.jar -
5、 C:UsersvrvDesktopeclipse-je-e-mars-R-/.!n32eclipsepIuginB. Referenced Libraries皿 selenium-seirver-standalone-2.43.1.jar - C:UsersvrvDesktopTM窟 selenium-java-2.42.2.jar - C:UsersvrvDesIctopT-B:jxl.jar - C:UsersvrvDesktop0心 roboguice-S.O.l.jar - C:LJsersvrvDesktop叩 repoirtn g -1.1.4.j a r - C:U 5 ers
6、vrvD es kto p在Eclipse IDE中建立一个Java project,建立如下的文件夹结构,com data unitA JRE System Library JavaSE-1.7TestNG也 Referenced Libraries臼? test-output 图Login.xls)velocity.log编写Web应用程序的单元测试用例,如下所示/BeforeBeforeSuitepublic void setUpf) throws Exception driver=new FirefoxDriverf);driver.manage().windowf).maximize
7、f);d rive r.ma n a ge()-timeoutsf).implicitlyWait(3j Time Un it-SECONDS);driver“ get(url+/vdsm);Thread.steep;Testpublic void test() throws InteriruptedException crsse rtTrue (IsE leme nt Pre sent (By.su bmit *);d rive r. findE leme nt (By. id(uac cou nt) -clearf);driver.findElement(By.id(usubmit) -c
8、lick();Thread.steep(2000);Syst em. out. pint In (”此/为建新项:+d river. findE lement ( By xpath ( / html/body/ div2/spanl1). getT ext(). cont 2n s (重为建新项祈 driver,findElement(By.id(account) .sendKeys(Im);driverfindElement(By.id(submit) - diek();Thread.steep(2000);Syst em. out. print In (11 踏为 JMt 耍*+d riv
9、er , fin dE lement ( By xpath ( / html/body/div2/spanl). getT ext(). cont ains(设初顷削 d rive r. findE leme nt (By. id(uac cou nt) -clearf);driver . findElement (By. id(password) clearf);d rive r. findE leme nt (By. id(*ac cou nt) .send Keys ( W d min );d rive r. findE leme ntfBy.idfpas sword *) .send
10、Keys (vs e cvrv c o mu);driver,findElement(By.id(submit) -click();Thread.steep(2000);Syst em. out. print In (主上角捏宙 y 魁+d rive r. fin dE lement (By. t言页”).getT e xt () cont 曰比 5 (苜页);d rive r. f i n d E leme nt ( By. xpath (/a on c lie k= * logout (); )-clickf);Thread.5teep(2000);protected boolean Is
11、ElementPresent(By by) try driver,findElement(by);return true; catch (Exception e) return false;此为Junit框架,该框架只适合单元测试。采用testNG可对同一业务流程多个测试用例同时进行测试,如下图所示(0Testpublic void testl() throws InterruptedEKception boolean strl=unit. isWebElementExist (By.submitIF);tew.write(new File(IF Login. xlsIF) Login1 41
12、, strl);(fflTestpublic void test2() throws InterruptedException unit. clear (By. id( accountIF);unit. cliclc(By.subnit) jThreads sleepflWO);boolean str2=unit. signfBy.xpE(/htmL/bocly/1cliM2/wpan.)_l tew.write(nw File(Login .xls) j1login11 j 42, str2);?(STestpublic void test3() throws InterruptedExce
13、ption unit. sendKeysfBy. id( accountIF)j admin);unit. click(By. subnit);Thread s/,eep(20);boolean str3=unit. sign By. xpath /html/bodly/d iv 2 /s pa n 1 ) jtew-write(new File (IF Login . xlsIF) j IFloginIFj 4j 3j str3);通过Xml文件控制测试用例是一次性执行还是单个执行,并可以控制测试用例执行的顺序,xml文件如下图:com. Login,rname=l,testl/name=l
14、,test2/name=l,com. Login,rname=l,testl/name=l,test2/name=l,test3/name=l,test41,/name=l,test5/name=l,test61,/在xml文件完成后,需要书写一个主函数来控制xml文件的执行,并制定执行完 成后测试结果的输出路径,如下图所示public static void main(String args) fTest NIG testN:G=new TestNH5() j/testNG.setUseDefaultListeners(false);/HTHLReporter cp=n剥 HTTlMLRep
15、orterf);/testNG.addlListenerfcB:.) JSystem se tProp e rty (orgBunco mmon s . report ngB t it leLogin Test Re port er ) jList list=new ArrayList()jlist add(,pC : User5vrvworkspacetestTng+File. separator+,Bsrc/CQm,B+File . separa testNG.setTestSuites(list);/File file=new File (1BC : test Wresult11);Fi
16、le file=new FilefC : UsersvrvworkspacetestTngtest -output11) jif(!file.exists()file.mkdirf)jtest NIG. setOutputDirectory (f ile - getAbsolutePath ();test NIG. run();|每次执行完成后,testNG会生成一个默认的测试报告(test-output),该报告的路径可自行指定j 曰 testTng J RE System Library JavaSE-1.7* TestN G或 Referenced Libraries build.xml
17、图Login.xls用浏览器打开test-output下的index.html,可以看到该测试报告,如下图 所示Test results1 suite com.Login com.LoginsuiteInfoCAUsers vTvworkspace testTng src comconfigljcmlsuiteInfoCAUsers vTvworkspace testTng src comconfigljcml1 tesE0 groupsTimesReporter outputIgnored methodsChronological viewResults. 6 methods. 6 Resu
18、lts. 6 methods. 6 passed Passed methods (hide) (show)C:UsersvrvworkspacetestTngsrccomconfigl.xml12 3 4 5 6 rrL t L rrL bL rru s s s s s s e e e e e e UL LL UL LL UL UL include include include include include include /classes name=wtestl/ name=wtest2/ name=wtest3/ name=resr4/ name=wt;esc5/ name=nt-es
19、t6/利用testNG+jxl直接将测试结果输入到excel测试用例中,先导入jxl.Jar包,然后封装一个控制excel操作的方法To Ecx Writepublic 匚1目ssTo Ecx Write/private static final Writ able Font HE ADE R_FONT_STYLE = null;public void write (File filej String stringint nunij int numlj baolean str) try Workbook rwb = Workbook. getJiforfetioofe(file);File t
20、empfile = new F ile ( Sy st em. gre tProp e rty (u s e r. d ir11) + tempf ile . xls) j WritableWorkbook wb = Workbook.erecrtelitorfebooi|?(tempfilej rwb);WritableSheet ws = wwb.getSheet(string);ws. setColumnView(4Ji 10); / 世置矿宣WritableFont font=new Writ able Font (Writ able FontWrit able Font .BOLDf
21、 alsej Underline St yle.AUNDF/ILIjVF/Colour./IFD);Writ a bleC ellFormat cFormat = new WritableCellFormat(font);水平居中再表c Format setAlignment (Alignment . CENTRE)/史宜方向居中.对寺cFo rmat s etVert ic a lAlignme nt (V ertica lAlignme nt. CENTRE);/云址垣军迎忍跳方空墓(寂从.是驱生一一世可以甘址M地百生)c Fo rmat s et Bo r d e r(j xl.form
22、at.Bor d e r. TOP. Bo rd e rLin e Style. THIN);在i*打实映c Fo rmat - s et Bo rd e r ( j xl. format. Bord er. RIGtfTt Bord e rLi n e Style . THIN);String 5trl=str+,lllj;Label label = new Labelfnumj numlj strljCFormat)j ws.addCell(label)j wwb.write();wwb.closef)j并在test中调用此方法,完成对excel测试用例结果的输出Thread.sLeep(
23、10&0);(fflTestpublic void testlf) throws InterruptedException _ hcicilwn Mrl=unit, isWEBEleniEiTtEKimt (By 元日 Lwubmit);_tewwrite(new File(11 Login.xls11)j11 login11, 4j lt strl);H(fflTestpublic void test2() throws InterruptedException unit. clear (By. ( account);unit.己般曰丫.田诚”submit) jThread.sleep(10&0);boolean str2=unit. signfByxp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年监理工程师继续教育房建试题与答案(新)
- 2025年二级建造师之二建市政工程实务题库带答案(模拟题)
- (2025年)食品安全师考试真题常考点试题带答案
- 综合解析人教版八年级上册物理光现象《光的反射》同步训练试题(含答案及解析)
- 解析卷人教版八年级物理上册第5章透镜及其应用-透镜重点解析练习题(含答案解析)
- 2025年高三生物创新能力评估题
- 2024年南充市高坪区招聘研究生和部属公费师范毕业生笔试真题
- 2025年高二生物下学期生物微生物爱恨题
- 读书分享会模板 127
- 2025年高二(下)生物微生物平行题
- 坚持立足中国又面向世界讲解
- 《昆虫的美食》课件
- 《新能源汽车动力电池及管理系统检修》 课件 7-2 了解废旧动力电池的回收、拆解与相关政策(制作中)
- 健身器材采购项目投标方案(技术方案)
- 制程工序能力分析报告
- TRIZ试题库资料整理
- 双室平衡容器原理
- 焊接热源及其热作用
- 等腰三角形的性质市公开课金奖市赛课一等奖课件
- 生产车间行为规范
- 平面构成教案市公开课金奖市赛课一等奖课件
评论
0/150
提交评论