Selenium自行整理【二十七】

4.18、窗口截图

       自动化用例是由程序去执行,因此有时候打印的错误信息并不十分明确。如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看出出错的原因。WebDriver 提供了截图函数getScreenshotAs()来截取当前窗口。

       在本例中用到了 Java 的异常处理,打开百度首页,执行 getScreenshotAs()对当前窗口进行截图,这里需要指定图片的保存路径及文件名,并且关闭当前驱动。

       脚本运行完成后打开对应的盘,就可以找到截图文件了。

 

4.19、关闭窗口

         在前面的例子中我们一直使用 quit()方法,其含义为退出相关的驱动程序和关闭所有窗口。除此之外,WebDriver 还提供了 close()方法,用来关闭当前窗口。例如本章 4.10 节多窗口的处理,在用例执行的过程中打开了多个窗口,我们想要关闭其中的某个窗口,这时就要用到 close()方法进行关闭了。

 

4.20、验证码处理

        对于 Web 应用来说,大部分的系统在用户登录时都要求用户输入验证码。验证码的类型很多,有字母数字的、有汉字的,甚至还有需要用户输入一道算术题的答案的。对于系统来说,使用验证码可以有效地防止采用机器猜测方法对口令的刺探,在一定程度上增加了安全性。

        但对于测试人员来说,不管是进行性能测试还是自动化测试,都是一个比较棘手的问题。在 WebDriver 中并没有提供相应的方法来处理验证码,这里笔者根据自己的经验来谈谈处理验证码的几种常见方法。

            ●1、【去掉验证码】

        这是最简单的方法,对于开发人员来说,只是把验证码的相关代码注释掉即可。如果是在测试环境,这样做可省去测试人员不少的麻烦;但如果自动化脚本是在正式环境测试,那么这样就给系统带来了一定的风险。

            ●2、【设置万能验证码】

        去掉验证码的主要问题是安全,为了应对在线系统的安全威胁,可以在修改程序时不取消验证码,而是在程序中留一个“后门”,即设置一个“万能验证码”。只要用户输入这个“万能验证码”,程序就认为验证通过,否则就判断用户输入的验证码是否正确。

            ●3、【例子讲解】

        设计万能验证码的方式非常简单,只需对用户的输入信息多加一个逻辑判断,下面通过例子演示。

         nextInt()用于生成随机数,设置随机数的范围为1000~9999之间。运行程序分别输入正确的验证码、万能验证码和错误的验证码

 

4.21、WebDriver原理

● WebDriver 是按照 Server – Client 的经典设计模式设计的。

● Server 端就是 Remote Server,可以是任意的浏览器。当我们的脚本启动浏览器后,该浏览器就是 RemoteServer,它的职责就是等待 Client 发送请求并做出响应。

● Client 端简单说来就是我们的测试代码。我们测试代码中的一些行为,例如打开浏览器,转跳到特定的 url等操作是以 http 请求的方式发送给被测试浏览器的,也就是 Remote Server。Remote Server 接受请求,并执行相应操作,并在 Response 中返回执行状态、返回值等信息。

WebDriver 的工作流程:】

        1、 WebDriver 启动目标浏览器,并绑定到指定端口。该启动的浏览器实例,作为 WebDriver 的 Remote Server。

        2、Client 端通过 CommandExcuter 发送 HTTPRequest 给 Remote Server 的侦听端口(通信协议:the webriverwire protocol)。

        3、Remote Server 需要依赖原生的浏览器组件(如 IEDriverServer.exe、chromedriver.exe),来转化浏览器的native 调用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值