概述
执行结果如图5-72所示。
图5-72 执行结果
5.11.2 在Java中使用EventFiringWebDriver
在Java中,可以通过下面的方式来实例化EventFiringWebDriver对象。
WebDriver diver = new FirefoxDriver();
org.openqa.selenium.support.events.EventFiringWebDriver eventDriver=new org.openqa.selenium.support.events.EventFiringWebDriver(diver);
可以看到,首先需要创建一个常规的WebDriver实例,然后创建EventFiring WebDriver实例,并将常规的WebDriver实例作为参数传入到EventFiringWebDriver的构造函数中。
在使用相应事件前,需要新建一个类文件,在这个类文件中定义各个事件的代码,在本例中将其命名为MyWebDriverListener,它继承于WebDriverEventListener,如图5-73所示。
图5-73 MyWebDriverListener
单击Add unimplemented method”将自动添加这些事件,如图5-74所示。
图5-74 自动添加的事件
这些事件的作用如下。
beforeNavigateTo:导航前事件,定义页面在发生跳转前需要执行的代码。
afterNavigateTo:导航后事件,定义页面在发生跳转后需要执行的代码。
beforeNavigateBack:浏览器后退前事件,定义浏览器在执行后退操作前需要执行的代码。
afterNavigateBack:浏览器后退后事件,定义浏览器在执行后退操作后需要执行的代码。
beforeNavigateForward:浏览器前进前事件,定义浏览器在执行前进操作前需要执行的代码。
afterNavigateForward:浏览器前进后事件,定义浏览器在执行前进操作后需要执行的代码。
beforeFindBy:查找元素前事件,定义Selenium在查找元素前需要执行的代码。
afterFindBy:找到元素后事件,定义Selenium在找到元素后需要执行的代码。
beforeClickOn:单击元素前事件,定义Selenium在单击元素前需要执行的代码。
afterClickOn:单击元素后事件,定义Selenium在单击元素后需要执行的代码。
beforeChangeValueOf:元素值变更前事件,定义Selenium更改元素的值前需要执行的代码。
afterChangeValueOf:元素值变更后事件,定义Selenium更改元素的值后需要执行的代码。
beforeScript:脚本执行前事件,定义脚本执行前需要执行的代码。
afterScript:脚本执行后事件,定义脚本执行后需要执行的代码。
onException:异常事件,定义在使用Selenium测试发生异常时需要执行的代码。
与之前在C#中所做的一样,假设现在要执行以下操作:打开百度页面,在搜索文本框中输入Selenium,单击搜索,然后再人为地产生一个异常。
而这些操作都要触发之前提到的一些自定义处理:
(1)在执行打开网页的的操作时,需要分别记录打开前和打开后的URL地址。
(2)在查找某个页面元素时,查找之前和之后都需要记录查找条件。
(3)在对页面元素进行单击操作时,单击前需要记录元素的查找条件,单击后记录Url地址。
(4)在对页面元素的值进行更改时,需要分别记录更改前的值和更改后的值。
(5)在发生异常的时候,需要进行截图,截图保存至D:,命名取当前日期。
本文选自《Selenium自动化测试指南》第五章节,本站经人民邮电出版社和作者的授权,近期将进行部分章节的连载,敬请期待!
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关文章:
55/5<12345
最后
以上就是温暖老虎为你收集整理的java event drive,为测试操作添加事件—Selenium自动化测试指南(8)的全部内容,希望文章能够帮你解决java event drive,为测试操作添加事件—Selenium自动化测试指南(8)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复