WebDriver自动化测试的伟大演变之路(图解)

Posted 光荣之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebDriver自动化测试的伟大演变之路(图解)相关的知识,希望对你有一定的参考价值。


Web自动化现状

据我观察,想学自动化的同仁都是冲着以下几点去学:

1:为了找工作学自动化,觉得这个高大上,面试时说了这个有加分项

2:看到人家学,自已也想跟风

3:在实际测试过程中重复操作太多,跳过重复测试项又担心测试不严,担心出现线上Bug

带着以下几个问题,我带大家来了解下自动化前世今生,如何一步步优化让自动化真正服务于企业。

演变之一 Selenium IDE

首先大家刚入门肯定会听到过IDE吧,对,我也是从IDE录制入门,录完之后就能看到画面在动,选择文件导出之后就可以自动生成代码,觉得好兴奋,感觉一下子就可以成为会自动化的测试人员了!

在这顺便也将最入门的知识一普及下,如何使用IDE工具。

首先下载xpi(http://down.51cto.com/data/2041803)并解压缩,之后拖动文件到游览器。

WebDriver自动化测试的伟大演变之路(图解)

可以选择不同语言安装。

WebDriver自动化测试的伟大演变之路(图解)

WebDriver自动化测试的伟大演变之路(图解)

重启浏览器,在菜单栏找这个图标。

WebDriver自动化测试的伟大演变之路(图解)

将会弹出如下窗口。WebDriver自动化测试的伟大演变之路(图解)

浏览器输入网址执行任意操作,执行之后切换到Selenium IDE窗口。

WebDriver自动化测试的伟大演变之路(图解)

就能看到有部分控件id,点击运行之后浏览器会自动执行相关操作。WebDriver自动化测试的伟大演变之路(图解)

选择文件导出之后可以自动生成自动化代码。

WebDriver自动化测试的伟大演变之路(图解)

IDE在刚入门时部分控件定位方式不知怎么写时,可以试着录制一次,之后导出源代码,查test()方法中的定位方式。

还有另一种方法是在IDE窗体中选中一行控件,之后点find按键,系统会在浏览器对应元素上高亮一下,如可能高亮,代表定位方式是正确的,另外IDE窗体中Command和Target下拉菜单是可以选择的。

WebDriver自动化测试的伟大演变之路(图解)

优缺点总结

优点:入门简单,安装之后就可以使用,也能自动生成代码,对无代码功底同仁不失为一个很好的学习范例。

缺点:脚本录制之后只能执行一次完全相同的操作,即使是数据相同,操作完全相同也无法执行第二次。

演变之二 手工编写硬代码(元素,数据,代码全集成在一起)

基于以上缺点我们将代码做一些优化,手动编写代码的方式,可以对关键操作之后增加断言,确认结果是否与预期相同。

publicstaticvoid test() {

WebDriver driver=newFirefoxDriver();

driver.get("http://www.baidu.com/");

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);

}

WebDriver自动化测试的伟大演变之路(图解)

类似于上面手工编写代码如果步骤比较多的话,相同代码会很多,比如点击操作,那一条操作会要写一次。

driver.findElement(By.id("xxxxxx")).click()
优缺点总结

优点:手工编写代码较IDE 生成代码要灵活,可以断言,可以任意增加删除代码

缺点:相同操作代码要重复编写,而已每一行还很长


(未完待续)


 
   
   
 

一字一句当思来之不易,感谢作者,传播测试知识、技能与正能量!

光荣之路软件测试培训

官网:http://www.gloryroad.cn/

微信公众号:gloryroadtrain


以上是关于WebDriver自动化测试的伟大演变之路(图解)的主要内容,如果未能解决你的问题,请参考以下文章

免费送书 | 《Selenium WebDriver 3 实战宝典(Java版)》

免费送书 | python版《Selenium WebDriver 3.0 自动化测试框架实战指南》

图解Nacos,注册中心演变 + Nacos核心功能

如何自动测试 playframework 演变

从事自动化测试必须知道的Webdriver标准

Selenium自动化测试Python三:WebDriver进阶