微信号:grzlwx

介绍:光荣之路官方资讯

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

2015-09-18 23:31 刘长新


Web自动化现状

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

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

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

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

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

演变之一 Selenium IDE

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

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

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

可以选择不同语言安装。

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

将会弹出如下窗口。

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

就能看到有部分控件id,点击运行之后浏览器会自动执行相关操作。

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


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

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


优缺点总结

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

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

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

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

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

}

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

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

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

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


(未完待续)

(作者:刘长新 来源:http://blog.csdn.net/liuchangxin1982/article/details/47611299)


 
            
 
            
 
            
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           

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

光荣之路软件测试培训

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

微信公众号:gloryroadtrain

性能测试QQ群:415987441
软件测试招聘QQ群: 203715128
自动化3群QQ: 371211499


 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 封杀还是放任,这是个纠结的问题:专家运营逻辑(四) 程序员的最高境界:呆若木鸡 2016年你应该学习的语言和框架 Python安装扩展库与打包成exe可执行文件的方法 R语言和Spark谁更胜一筹?