Web測試工具Selenium入門心得

發表于:2014-11-17來源:uml.org.cn作者:lotuswlz點擊數: 標簽:selenium
一直做開發,很少關注測試工具,尤其是以往的測試都主要是Junit測試,難免在web層面上因沒有嚴格測試而經常出現bug,近來小小接觸了一下這一類的測試工具,感覺蠻好玩的,在此和大

  一直做開發,很少關注測試工具,尤其是以往的測試都主要是Junit測試,難免在web層面上因沒有嚴格測試而經常出現bug,近來小小接觸了一下這一類的測試工具,感覺蠻好玩的,在此和大家分享一下,希望多多交流。

  一、Selenium IDE 介紹

  下載selenium ide插件并安裝(firefox),在tools菜單下可以看到。

  單擊上面的紅色原點,即可對你在網頁上的任何操作做記錄,以命令方式記錄。這些命令你也可以自己寫下來,再批量運行,就會看到瀏覽器自動執行所有的動作,這樣就可以保存為測試腳本了,也就可以對每次的測試做備案了。

  下面來說說selenium的命令格式,主要由三部分組成:

  command 操作命令

  target 操作對象,通常是頁面及頁面元素

  value 作為斷言的值

  1、元素locator的訪問方式:

  1)id=id,假如元素id是username,則target直接寫username即可

  2)name=name,可以通過name直接獲得第一個該名稱的元素

  例如:username

  name=username

  3)dom=javascript表達式:

  例如:dom=document.forms['myForm'].myDropdown

  dom=document.images[56]

  dom=function foo() { return document.links[1]; }; foo();

  4)xpath=xpath表達式,使用xpath表達式來定位一個元素。

  例如:xpath=//img[@alt='The image alt text']

  xpath=//table[@id='t1']//tr[4]/td[2]

  xpath=//a[contains(@href,'#id1')]

  5)link=textPattern

  例如:link=新聞

  主要的訪問方式即以上幾種。

  2、常用Actions

  1)open(url)

  接收一個參數url,即command=open, target=url

  2)type(locator,value)

  給locator指定的元素或屬性賦值以value

  3)click(locator)

  單擊一個鏈接、按鈕、checkbox或radio等等,locator即元素定位

  4)clickAndWait(locator)

  單擊一個鏈接、按鈕等等元素,單擊后等待新的頁面加載

  我們的表單提交,就可以用這個方法來單擊submit按鈕。

  類似的方法還有selectAndWait、typeAndWait、focusAndWait……

  5)verifyLocation(pattern)

  校驗當前頁面的絕對路徑(url)是否與pattern匹配,關于pattern的解釋,我們在下面具體說明。

  6)verifyValue(locator, pattern)

  校驗指定元素的值是否與指定pattern匹配

  7)verifyVisible(locator)

  校驗指定元素是否可見,如果當前元素的style="display:none",即不可見。

  8)verifyTextPresent(pattern)

  校驗當前頁面是否出現該文字

  9)verifyChecked(locator)

  用于校驗checkbox是否被選中

  10)verifyAttribute(locator, pattern)

  校驗指定的元素屬性值,是否匹配pattern

  例如:verifyAttribute(link=All Search Results for "bike"@href, 'glob:*/search/bike?c=0*')

  即校驗指定的link的href屬性是否匹配"glob:*/search/bike?c=0*"

  11)fireEvent(locator,eventName)

  用于調用locator指定的元素的指定eventName的事件,例如:

  fireEvent(userLoginName,blur),即調用文本框userLoginName的失去焦點事件

  以上是較為常用的幾個方法,還有許多方法的詳細介紹可以參見:http://seleniumhq.org/projects/core/reference.html

  3、pattern的寫法

  在firefox的selenium IDE中,方法的參數pattern,即匹配的文本,共有三種匹配方式:

  1)exact:string

  精確匹配,必須完全匹配當前字符串

  2)regexp:regexp

  正則表達式匹配,這里主要是針對javascript中支持的正則表達式

  3)glob:pattern

  通配符匹配,*表示任意長度任意字符串,?表示任何單個字符,

  例如方法 verifyLocation(*/search?key=bike&c=*),即開頭的域名部分和之后可能附帶的一些參數都做了忽略。

  需要說明的是:這里pattern的寫法,僅僅是在IDE工具,即用瀏覽器以html方式直接運行腳本執行測試案例的方式中才有效。在后臺test case中,只能使用equals或者matches的方式,才能驗證。

  二、Selenium Test Case介紹

原文轉自:http://www.uml.org.cn/Test/200902057.asp

...
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97