您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Selenium
Selenium webdriver系列教程(4)?如何定位測(cè)試元素
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/9/18 13:22:07 ] 推薦標(biāo)簽:

  測(cè)試對(duì)象定位一般都是各種web自動(dòng)化測(cè)試框架或工具的核心內(nèi)容。

  selenium-Webdriver的對(duì)象定位方法非常的豐富和強(qiáng)大。一般來(lái)說(shuō)強(qiáng)大的對(duì)象定位都會(huì)提供如下的一些方法。

  ·單個(gè)對(duì)象的定位方法

  ·多個(gè)對(duì)象的定位方法

  ·層級(jí)定位

  selenium-Webdriver很好的支持了上述的3種定位方式。

  定位單個(gè)對(duì)象

  在定位單個(gè)對(duì)象時(shí),selenium-Webdriver支持使用如下的一些屬性對(duì)元素進(jìn)行定位。

:class             => 'class name',
:class_name        => 'class name',
:css               => 'css selector',
:id                => 'id',
:link              => 'link text',
:link_text         => 'link text',
:name              => 'name',
:partial_link_text => 'partial link text',
:tag_name          => 'tag name',
: xpath             => 'xpath',

  使用class或class_name進(jìn)行定位

  當(dāng)所定位的對(duì)象具有class屬性的時(shí)候我們可以通過(guò)class或class_name來(lái)定位該對(duì)象。

  下面的例子定位了soso首頁(yè)上class為"new"的span。

require 'rubygems'
require 'selenium-webdriver'
require 'pp'
url = %q{http://www.soso.com/}
dr = Selenium::WebDriver.for :ie
dr.navigate.to url
sleep 1
new_icon = dr.find_element(:class => 'ico_new')
puts new_icon.tag_name # ---> span

  使用id屬性定位

  soso首頁(yè)的搜索輸入框的html代碼如下:

  <input type="text" name="w" smartpid="sb.idx" smartch="sb.c.idx" autocomplete="off" id="s_input" value="">

  在進(jìn)行定位前我們先動(dòng)態(tài)定義highlight方法,該方法的作用是高亮顯示有id屬性的頁(yè)面元素。

  隨后的代碼演示了如何使用id屬性來(lái)定位soso首頁(yè)上的搜索輸入框。

require 'rubygems'
require 'selenium-webdriver'
require 'pp'
Selenium::WebDriver::Element.module_eval do
def highlight
e_id = self.attribute('id')
puts "#{e_id} = e_id"
js = <<JS
document.getElementById("#{e_id}").style.border = "3px solid red"
JS
@bridge.executeScript(js) if e_id
end
end
url = %q{http://www.soso.com/}
dr = Selenium::WebDriver.for :ie
dr.navigate.to url
sleep 1
s_input = dr.find_element(:id => 's_input')
# 或者使用語(yǔ)法糖衣
# s_input = dr['s_input']
s_input.highlight

上一頁(yè)12下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd