Selenium-webdriver系列教程(11)————使用jquery辅助进行测试
Jquery是当下比较流行的1个js框架,通过使用webdriver的execute_script方法,我们可以将jquery库结合到自动化测试中去。
结合jquery进行自动化测试的思想是这样的:首先将jquery的源码读到1个string中去,然后使用executescript执行该string。执行完毕后我们就可以通过executescript方法来调用jquery库了。
下面的html代码中有一个隐藏的div,当鼠标移动到(mouseover)页面上名为Mouse Over Here的链接时,隐藏的div将会显示出来。
下面的代码使用jquery的库函数实现了不去触发Mouse Over Here链接而直接显示隐藏div的效果(仅在ruby1.9.2下测试过,ruby1.8x应该都不支持)jquery_helper.rb#encoding: utf-8module 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 endendfire_event.rbrequire 'rubygems'require 'selenium-webdriver'require './jquery_helper'include JqueryHelperdr = Selenium::WebDriver.for :firefoxselect_file = 'file:///'.concat File.expand_path(File.join(File.dirname(__FILE__), 'fire_event.html'))dr.navigate.to select_filejquery_path = './jquery-1.6.4.min.js'load_jquery dr, jquery_pathjq = <<JQ $("#t").show();JQdr.execute_script jq使用jquery来辅助测试实用性应该不是很强,不过有些时候可以使用jquery方法来获得dom节点的css属性,从而达到简化脚本的目的