zoukankan      html  css  js  c++  java
  • Seleniumwebdriver系列教程(11)————使用jquery辅助进行测试

    Jquery是当下比较流行的1个js框架,通过使用webdriver的execute_script方法,我们可以将jquery库结合到自动化测试中去。

    结合jquery进行自动化测试的思想是这样的:首先将jquery的源码读到1个string中去,然后使用execute_script执行该string。执行完毕后我们就可以通过execute_script方法来调用jquery库了。

    下面的html代码中有一个隐藏的div,当鼠标移动到(mouseover)页面上名为Mouse Over Here的链接时,隐藏的div将会显示出来。

    <html>
        <head>
            <title>FireEvent</title>
            <style>
                .mo {color: blue;}
                .tips {display:none;border: 1px solid #ccc; background-color:#EFEFEF; 100px;height:100px}
            </style>
            <script>
                function show_tips(){
                    document.getElementById("t").style.display = "block";
                }
                function hide_tips(){
                    document.getElementById("t").style.display = "none";
                }
            </script>
        </head>
        <body>
            <a class = "mo" href = "#" onmouseover = "show_tips()" onmouseout = "hide_tips()">Mouse Over Here</a>
            <div id = "t" class = "tips">This is the tips of link</div>
        </body> 
    </html>
    

    下面的代码使用jquery的库函数实现了不去触发Mouse Over Here链接而直接显示隐藏div的效果(仅在ruby1.9.2下测试过,ruby1.8x应该都不支持)

    jquery_helper.rb
     
    #encoding: utf-8
    module JqueryHelper
        def load_jquery dr,jquery_path
            jq = read_jquery(jquery_path)
            jq.force_encoding('utf-8')
            dr.execute_script jq
        end
     
        def read_jquery(jquery_path)
            js = ''
            File.open(File.expand_path(jquery_path), 'r') do |f|
                js = f.read
            end
            js
        end
    end
     
    fire_event.rb
     
    require 'rubygems'
    require 'selenium-webdriver'
    require './jquery_helper'
    include JqueryHelper
    dr = Selenium::WebDriver.for :firefox
    select_file = 'file:///'.concat File.expand_path(File.join(File.dirname(__FILE__), 'fire_event.html'))
    dr.navigate.to select_file
     
    jquery_path = './jquery-1.6.4.min.js'
    load_jquery dr, jquery_path
    jq = <<JQ
        $("#t").show();
    JQ
     
    dr.execute_script jq
    

    使用jquery来辅助测试实用性应该不是很强,不过有些时候可以使用jquery方法来获得dom节点的css属性,从而达到简化脚本的目的。

    本文源码请点击下面链接下载

    jquery

  • 相关阅读:
    模板方法模式
    Centos 6.4 python 2.6 升级到 2.7
    Python 在Visual studio 中做单元测试进行TDD开发
    C# 代码转换到Python
    VMware Network Adapter VMnet1和VMnet8 未识别的网络的解决方法
    Visual Studio 启动加速
    查询Sqlserver 表结构信息 SQL
    HTTP发送请求模拟
    【Xamarin 开发 IOS --使用 Storyboard Segue 实作 UIViewController 的切换 (实例)】
    【Xamarin 开发 IOS --IOS 页面导航概念Segue】
  • 原文地址:https://www.cnblogs.com/nbkhic/p/2221729.html
Copyright © 2011-2022 走看看