WebDriver自动化演变之路合编.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WebDriver 自动化演变之路Web自动化现状据我观察,想学自动化的同仁都是冲着以下几点去学1:为了找工作学自动化,觉得这个高大上,面试时说了这个有加分项2:看到人家学,自已也想跟风3:在实际测试过程中重复操作太多,跳过重复测试项又担心测试不严,担心出现线上Bug带着以下几个问题,我带大家来了解下自动化前世今生,如何一步步优化让自动化真正服务于企业演变之一 Selenium IDE 首先大家刚入门肯定会听到过IDE 吧,对,我也是从IDE 录制入门,录完之后就能看到画面在动,选择文件导出之后就可以自动生成代码,觉得好兴奋,感觉一下子就可以成为会自动化的测试人员了在这顺便也将最入门的知识一普及下,如何使用IDE 工具首先下载/data/2041803xpi并解压缩,之后拖动文件到游览器可以选择不同语言安装重启浏览器在菜单栏找这个图标将会弹出下视窗之后在浏览器输入网址执行任意操作执行之后切换到Selenium IDE 窗口就能看到有部分控件id 点击运行之后浏览器会自动执行相关操作选择文件导出之后可以自动生成自动化代码IDE 在刚入门时部分控件定位方式不知怎么写时,可以试着录制一次,之后导出源代码,查test()方法中的定位方式还有另一种方法是在IDE 窗体中选中一行控件,之后点find 按键,系统会在浏览器对应元素上高亮一下,如可能高亮,代表定位方式是正确的,另外IDE 窗体中Command 和Target 下拉菜单是可以选择的,IDE 工具优缺点总结优点:入门简单,安装之后就可以使用,也能自动生成代码,对无代码功底同仁不失为一个很好的学习范例缺点:脚本录制之后只能执行一次完全相同的操作,即使是数据相同,操作完全相同也无法执行第二次演变之二手工编写硬代码(元素,数据,代码全集成在一起)基于以上缺点我们将代码做一些优化,手动编写代码的方式,可以对关键操作之后增加断言,确认结果是否与预期相同publicstaticvoidtest() {WebDriver driver=newFirefoxDriver();driver.get(/);driver.findElement(By.id(kw)).sendKeys(迅银网);driver.findElement(By.id(su)).click();String text=driver.findElement(By.xpath(//h3/a[@target=_blank][text()=-互联网金融综合服务平台]/em[text()=迅银])).getText();Assert.assertEquals(迅银, text);System.out.println(验证PASS+text);}类似于上面手工编写代码如果步骤比较多的话,相同代码会很多,比如点击操作,那一条操作会要写一次driver.findElement(By.id(xxxxxx)).click()由上面实例我们可以发现优点:手工编写代码较IDE 生成代码要灵活,可以断言,可以任意增加删除代码缺点:相同操作代码要重复编写,而已每一行还很长演变之三 (操作方法二次封装)为解决上述问題我们可以尝试将相同操作二次封装,可以精简每一行代码量这样简单的二次封装下代码量就减少了不少我们还可以将不同的操作放在一个方法里,比如网站登录多个操作封装成一个方法最终爆露给用户的就只要输入用户名,密码两个参数就可以完成网站打开,输入用户名,密码,点登录多个操作Login(driver,”张三”,“123456”);演变之四 (数据驱动)上述操作解决了个简化了部分代码,但如果数据要变化,就需要重新编写代码,所以我们可以继续优化操作,将代码与数据分离,比如上面登录操作,我们可以将用户名和密码放到一个Excel 文件中,在每次执行时去读Excel 相对应的数据第一次执行login 方法时Login(driver,,“QQQQQQ”);第二次执行是:Login(driver,,“QQQQQQ”);类似于这样,相同测试步骤我们就只需要写一次用例,也就是网上所讲的数据驱动测试数据驱动方式有好多种,既可以从Excel 中读取数据,也可以从XML 中读取,还可以从代码数据提供者中读取演变之五 (POM 页面对象管理)到这里我们了解到了数据驱动测试,但还是有个问題,如果公司以这种方式来实施自动化,首先公司得配置大量专业级别的有开发功底的自动化工程师,因为测试系统任意元素变化,与之相关的测试元素定位全要修改所以我们可以再上面数据与代码分离的基础上继续优化,测试元素与代码实现分离使用一个专门的Excel 或TXT 文档来维护测试对象,如果元

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档