zoukankan      html  css  js  c++  java
  • Selenium2学习-027-WebUI自动化实战实例-025-JavaScript 在 Selenium 自动化中的应用实例之三(页面滚屏,模拟鼠标拖动滚动条)

    日常的 Web UI 自动化测试过程中,get 或 navigate 到指定的页面后,若想截图的元素或者指定区域范围不在浏览器的显示区域内,则通过截屏则无法获取相应的信息,反而浪费了无畏的图片服务器资源,当然,最重要的还是未能达到自己的预期,是不是很内伤啊。此时,我们就不得不像正常用户操作一样,通过滚动页面至相应的区域,那么该如何滚动呢,此文就此给出答案。

    此文实现的页面滚动,是通过 js 操作实现的,敬请各位小主参阅。若有不足之处,敬请大神指正,非常感谢!

    直接上码了......

     1     /**
     2      * Scroll screen by JavaScript
     3      * 
     4      * @author Aaron.ffp
     5      * @version V1.0.0: autoUISelenium main.java.aaron.sele.core SeleniumCore.java scrollScreen, 2015-7-26 10:58:14 Exp $
     6      * 
     7      * @param top   : top distance
     8      * @param left  : left distance
     9      */
    10     public void scrollScreen(int left, int top){
    11         // note declare DOCTYPE
    12         String js_body = "document.body.scrollTop = " + top + "; document.body.scrollLeft = " + left;
    13         // declare DOCTYPE
    14         String js_docu = "document.documentElement.scrollTop = " + top + "; document.documentElement.scrollLeft = " + left;
    15         
    16         // decide which the script will be execute by browser type
    17         switch (this.getBrowserType()) {
    18             case "Chrome":
    19                 this.execJS(js_body);
    20                 break;
    21             case "Firefox":
    22             case "InternetExplorerDriver":
    23             case "Safari":
    24                 this.execJS(js_docu);
    25                 break;
    26             default:
    27                 this.execJS(js_docu);
    28                 break;
    29         }
    30     }

    关于上述代码中涉及的获取浏览器类型的方法 getBrowserType,敬请参阅之前的博文 WebUI自动化实战实例-017-获取浏览器类型 

    关于上述代码中涉及的执行 JavaScript 的方法 execJS 如下所示:

     1     /**
     2      * execute JScript
     3      * 
     4      * @author Aaron.ffp
     5      * @version V1.0.0: autoUISelenium main.java.aaron.sele.core SeleniumCore.java execJavascript, 2015-6-17 00:25:38 Exp $
     6      * 
     7      * @param jscript
     8      */
     9     public void execJS(String jscript){
    10         ((JavascriptExecutor)this.webdriver).executeScript(jscript);
    11     }

    至此,WebUI 自动化功能测试脚本第 025-JavaScript 在 Selenium 自动化中的应用实例之三(页面滚屏,模拟鼠标拖动滚动条) 顺利完结,希望此文能够给初学 Selenium 的您一份参考。

    最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

     

  • 相关阅读:
    回调函数、Java接口回调 总结
    java 中hashcode和equals 总结
    单一职责原则
    Java初始化理解与总结 转载
    2019-2020-2 20175305张天钰《网络对抗技术》Exp9 Web安全基础
    2019-2020-2 20175305张天钰《网络对抗技术》Exp 8 Web基础
    2019-2020-2 20175305 张天钰《网络对抗技术》Exp7 网络欺诈防范
    2019-2020-2 20175305张天钰《网络对抗技术》Exp6 MSF基础应用
    2019-2020-2 20175305张天钰《网络对抗技术》Exp5 信息搜集与漏洞扫描
    2019-2020-2 20175305张天钰《网络对抗技术》 Exp4 恶意代码分析
  • 原文地址:https://www.cnblogs.com/fengpingfan/p/4695604.html
Copyright © 2011-2022 走看看