Selenium 中文API

Selenium 中文API

轉自:http://blog.csdn.net/lh9529/article/details/3946567

概念

Selenium?通過命令進行驅動。Selenium?可歸納為三種“風格”:動作輔助斷言。每一個命令調用就是下表中的一行。

命令

目標

動作(Actions)命令一般用于操作應用程序的狀態。它們通過如”點擊鏈接”和”選擇選項”的方式進行工作。如果一個動作執行失敗,或是有錯誤,當前的測試將會停止執行。

許多動作可以被包含后綴”并等待”的方式進行調用,例如,”點擊并等待”。這個后綴告知Selenium,該命令將使瀏覽器向服務器產生一個請求,并使得Selenium等待加載一個新的頁面。

輔助(Accessors)用于檢查應用程序的狀態并將結果存儲在變量中。例如”storeTitle”。它們同樣可用于自動生成斷言。

斷言(Assertions)類似于輔助,但它們可以驗證應用程序的狀態是否同所期望的相一致。例如包括”確認頁面標題為X”和”驗證該復選框是否被勾選”。

所有的Selenium斷言可以被用于三種模式:”assert”, “verify”,和”waitfor”。例如,你可以”assertText”,”verifyText”,及”waitforText”。當”assert”失敗時,該測試將終止。當”verify”失敗時,該測試將繼續執行,并將錯誤記入日志。這就允許了通過單條”assert”確保應用程序在正確的頁面上,而通過一系列的”verify”斷言測試表單上的區域值,標簽等。

“waitfor”命令用于等待某些條件變為真(可用于Ajax應用程序的測試)。如果該條件已經為真,他們將立即成功執行。反之,如果該條件不為真,則將失敗并暫停測試,直到超過當前所設定的超時時間(參照后面的setTimeout動作)。

元素定位器(Element Locators)告訴Selenium是向HTML中的哪一個元素發送命令。許多命令需要一個如”target”屬性的元素定位器。這其中包括”elementId”和”document. forms[0].element”。在接下來的部分將更詳細的描述它們。

式樣(Patterns)由于多種因素被使用著,如指定一個輸入域的期望值,或識別一個選擇選項。Selenium支持許多類型的式樣,其中包括正則表達式,所有這些將在接下來的章節中進行更詳細的描述。

定義一個類用于運行Selenium命令。

元素定位器(Element Locators)

元素定位器(Element Locators)告訴Selenium是向HTML中的哪一個元素發送命令。一個定位器的格式如下:

???????locatorType = argument

我們支持如下寫法用于定位元素:

·identifier=id?:根據指定的@id屬性選擇元素。如果沒有匹配的值,則選擇第一個@name屬性為id的元素。(參照后面)

·id=id?:根據指定的@id屬性選擇元素。

·name=name?:選擇第一個根據指定的@name所查找到的元素。

????〇 username

????〇??name=username

這里的name可以作為可選項跟在一個或多個元素過濾器的后面,通過空格進行分隔。如果沒有指定過濾類型,則假定為value

????〇??name=flavour value=chocolate

·dom=javascriptExpression:?通過檢測指定字符串查找元素。這使得你可以通過?JavaScript貫穿HTML文檔對象。注意在這個字符串中返回值不是必須的;僅僅只需要確保這條語句是你塊中的最后一條。

????〇??dom=document.forms[′myForm′].myDropdown

???????〇??dom=document.images[56]

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

·xpath=xpathExpression:?通過XPath?表達式定位元素。

????〇??xpath=//img[@alt=′The image alt text′]

????〇??xpath=//table[@id=′table1′]//tr[4]/td[2]

????〇??xpath=//a[contains(@href,?′#id1′)]

????〇??xpath=//a[contains(@href,?′#id1′)]/@class

????〇??xpath=(//table[@class=′stylee′])//th[text()=′theHeaderText′]/../td

????〇??xpath=//input[@name=′name2′?and @value=′yes′]

????〇??xpath=//*[text()=″right″]

·link=textPattern:?選擇所包含的文字匹配指定式樣的鏈接(錨)。

????〇??link=The link text

·css=cssSelectorSyntax:?通過css選擇器選擇元素。請查詢CSS2?選擇器,CSS3?選擇器以獲得更多信息。在下載下來的selenium core package中的selenium test suite?里的TestCssLocators test ,你同樣可以查看到使用例子。

????〇??css=a[href=″#id3″]

???????〇??css=span#firstChid + span

當前css選擇過濾器支持所有的css1,css2,css3,除了css3中一些虛擬類(:nth-of-type,:nth-last-of-type,:first-of-type,:last-of-type,:only-of-type,:visited,:hover,:active,:focus,:indeterminate)以及虛擬元素(::first-line,::first-letter,::selection,::before,::after)。

如果沒有一個顯式的前綴,Selenium使用以下默認寫法:

·dom,用于開頭為″document.″的定位器

·xpath,用于開頭為″//″的定位器

·identifier,其他

元素過濾器(Element Filters)

?

元素過濾器可以同選擇器一起使用,從一堆候選元素中進行篩選。它們當前僅使用于’name’元素選擇器。

過濾器看起來更像是選擇器,也就是:

???????filterType=argument

?

所支持的元素過濾器為:

value=valuePattern

?????????匹配元素時基于它們的值進行匹配。這在對一堆相似命名的關聯按鈕的篩選中顯得尤其有用。

index=index

????????選擇單個元素基于其在列表中的位置(從0開始)。

字符串匹配?式樣

有各種各樣的式樣語法可用于匹配字符串值:

·glob:pattern:?用″glob″去匹配一個字符串。″Glob″是一種用于命令行shells的代表性的有限正則表達式語法。在一個glob式樣中, ″*″代表任意序列字符集,而″?″則代表任意單個字符。Glob式樣匹配整個字符串。

·regexp:regexp:?使用正則表達式匹配字符串。可使用所有的JavaScript正則表達式。

如果沒有指定式樣前綴,Selenium假定其為″glob″式樣。

Selenium Actions

addLocationStrategy (strategyName, functionDefinition)

??為selenium定義一個新的函數用于定位頁面上的元素。例如,如果你定義了一個方法″foo″,并運行了click(″foo=blah″),我們將運行你的函數,傳遞給你字符串″blah″,并點擊該函數所返回的元素,如果返回為null,則拋出一個″Element not found″的錯誤。我們將給該函數傳遞三個參數。

????·locator:?用戶傳遞過來的字符串

????·inWindow:?當前所選中的窗體

????·inDocument:?當前所選中的文檔

如果未找到相應的元素,則函數必須返回一個null。

參數:

·strategyName –?定義的方法名;只能使用字母[a-zA-Z],不能包含空格或其他標點符號。

·functionDefinition –?在JavaScript函數中的一個定義body的字符串。

如:return inDocument.getElementById(locator);

addSelection (locator, optioLocator)

為通過使用選擇定位器,在一個可多選元素中所選擇的集合添加一個selection。@查看#doSelect關于選擇定位器的細節。

參數:

·locator –?用于指定一個多選框的元素定位器

·optionLocator –?一個選擇定位器(默認為標簽)

allowNativeXpath (allow)

指定Selenium是否使用XPath的本地瀏覽執行(如果有可用的本地版本);如果傳遞的值為″false″,我們將使用pure-JavaScript xpath?庫。使用pure-JS xpath庫可以提高xpath元素定位器在不同瀏覽器中的一致性,但其執行速度將大大低于本地執行。

參數:

·allow – Boolean,true意味著我們更愿意使用本地XPath;false則意味著我們將只使用JS XPath

altKeyDown()

按下alt鍵并保持其按下狀態,直到doAltUp()被調用或一個新的頁面被加載。

altKeyUp()

釋放alt鍵

answerOnNextPrompt (answer)

通知Selenium返回下一次JavaScript prompt[window.prompt()]所指定的回答字符串。

參數:

??·answer –?對彈出的提示所給與的回答

assignId (locator,identifier)

臨時為指定元素設定一個″id″屬性,使你可以在將來使用其ID,以代替緩慢且更復雜的XPath。該ID將在頁面重載后消失。

參數:

????·locator –?指向某個元素的元素定位器

??·identifier –?為指定元素作為ID使用的字符串

break()

暫停當前正在進行的測試,并等待用戶按下繼續按鈕。這個命令對于調試非常有用,但使用時要特別小心,因為他將強制暫停自動化測試,直到用戶手動操作。

check(locator)

勾選一個關聯性按鈕(checkbox/radio)

參數:

??·locator –?一個元素定位器

chooseCancelOnNextConfirmation()

默認情況下,?Selenium的重載window.confirm()函數將返回true,等同于用戶手動點擊OK;執行該命令后,下一次調用confirm()將返回false,等同于用戶手動點擊了Cancel。Selenium對后來的確認動作將繼續使用默認行為,自動返回true(OK),除非/直到你為每個確認動作明確的調用此命令。

chooseOkOnNextConfirmation()

撤銷調用chooseCancelOnNextConfirmation的效果。注意,Selenium的重載window.confirm()函數通常將自動返回true,等同于用戶手動點擊OK,因此你沒有必要使用此命令,除非由于某種原因使你在下一次確認動作前不得不改變你先前的想法。在任意確認動作后,Selenium對后來的確認動作將繼續使用默認行為,自動返回true(OK),除非/直到你為每個確認動作明確的調用chooseCancelOnNextConfirmation()。

click(locator)

點擊一個鏈接、按鈕、多選框或單選框。如果該點擊事件導致了新的頁面加載(如同鏈接通常所作的),將調用waitForPageToLoad。

參數:

??·locator -一個元素定位器

clickAt(locator,coordString)

點擊一個鏈接、按鈕、多選框或單選框。如果該點擊事件導致了新的頁面加載(如同鏈接通常所作的),將調用waitForPageToLoad。

參數:

??·locator -一個元素定位器

·coordString –?指定由定位器返回的鼠標事件相關聯的元素x,y?坐標(也就是?– 10,20)

close()

模擬用戶點擊彈出窗體或表單標題欄上的″關閉″按鈕。

controlKeyDown()

按下control鍵并保持其按下狀態,直到doControlUp()被調用或一個新的頁面被加載。

controlKeyUp()

釋放control鍵

createCookie(nameValuePair,optionsString)

創建一個新的cookie,除非你清楚的指定該cookie的路徑,否則其路徑和域將與當前測試的頁面相同。

參數:

??·nameValuePair –?該cookie的名稱和值,使用如下格式″name=value″

·optionsString –?該cookie的選項。當前支持的選項包括’path’和’max_age’。optionsString的格式為”path=/path/,max_age=60”。選項的順序無關緊要。

deleteCookie(name,path)

刪除指定路徑下的該名稱cookie。

參數:

????·name –?被刪除cookie的名稱

·path –?被刪除cookie的路徑屬性

doubleClick(locator)

雙擊一個鏈接、按鈕、多選框或單選框。如果該雙擊事件導致了新的頁面加載(如同鏈接通常所作的),將調用waitForPageToLoad。

參數:

??·locator -?一個元素定位器

doubleClickAt(locator,coordString)

雙擊一個鏈接、按鈕、多選框或單選框。如果該雙擊事件導致了新的頁面加載(如同鏈接通常所作的),將調用waitForPageToLoad。

參數:

??·locator -?一個元素定位器

·coordString –?指定由定位器返回的鼠標事件相關聯的元素x,y?坐標(也就是?– 10,20)

dragAndDrop(locator,movementsString)

拖動元素一定的距離并放下

參數:

????·locator -?一個元素定位器

??·movementsString –?從當前位置到指定位置的像素偏移量,如,”+70,-300”

dragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinationObject)

拖動元素到另一元素

參數:

????·locatorOfObjectToBeDragged –?被拖動的元素

·locatorOfDragDestinationObject –?被拖動的元素將拖向的元素的坐標?(如,其最中心像素)

Dragdrop(locator,movementsString)

不建議?–?用dragAndDrop?代替

參數:

????·locator -?一個元素定位器

·movementsString –?從當前位置到指定位置的像素偏移量,如,”+70,-300”

Echo(message)

打印指定消息到你的Selenese?表的第三個表單元。有利于調試。

參數:

????·message –?要打印的消息

fireEvent(locator,eventName)

明確地模擬一個事件,觸發”onevent”響應句柄。

參數:

????·locator -?一個元素定位器

????·eventName –?事件名,如”focus”?或”blur”

getSpeed()

獲取執行速度(也就是,獲取接下來的每一個selenium操作的延遲豪秒長度)。默認情況下,是不會有延遲的。也就是延遲為0毫秒。參照setSpeed。

goBack()

模擬用戶點擊其瀏覽器上的”back”按鈕

highlight(locator)

暫時將指定元素的背景色改變為黃色。有利于調試。

參數:

????·locator -?一個元素定位器

keyDown(locator,keySequence)

模擬用戶按下一個鍵(除了還沒釋放的)

參數:

????·locator -?一個元素定位器

????·keySequence –?可以是個字符串(“/”后跟隨要被按下鍵的數字鍵碼,通常是該鍵的ASCII值),或是個單字符,如“w“, “/119“。

keyPress(locator,keySequence)

模擬用戶按下和釋放一個鍵。

參數:

????·locator -?一個元素定位器

????·keySequence –?可以是個字符串(“/”后跟隨要被按下鍵的數字鍵碼,通常是該鍵的ASCII值),或是個單字符,如“w“, “/119“。

keyUp(locator,keySequence)

模擬用戶釋放一個鍵。

參數:

????·locator -?一個元素定位器

????·keySequence –?可以是個字符串(“/”后跟隨要被按下鍵的數字鍵碼,通常是該鍵的ASCII值),或是個單字符,如“w“, “/119“。

metaKeyDown()

按下meta鍵并保持其按下狀態,直到doMetaUp()被調用或一個新的頁面被加載。

metaKeyUp()

釋放meta鍵

mouseDown(locator)

模擬用戶在指定元素上按下鼠標按鈕(除了還沒釋放的)。

參數:

????·locator -?一個元素定位器

mouseDownAt(locator,coordString)

模擬用戶在指定位置上按下鼠標按鈕(除了還沒釋放的)。

參數:

????·locator -?一個元素定位器

·coordString -指定由定位器返回的鼠標事件相關聯的元素x,y?坐標(也就是?– 10,20)

mouseMove(locator)

模擬用戶在指定元素上按下鼠標按鈕(除了還沒釋放的)。

參數:

????·locator -?一個元素定位器

mouseMoveAt(locator,coordString)

模擬用戶在指定位置上按下鼠標按鈕(除了還沒釋放的)。

參數:

????·locator -?一個元素定位器

·coordString -指定由定位器返回的鼠標事件相關聯的元素x,y?坐標(也就是?– 10,20)

mouseOut(locator)

模擬用戶從指定元素上移開鼠標指針。

參數:

????·locator -?一個元素定位器

mouseOver(locator)

模擬用戶鼠標滑過指定元素。

參數:

????·locator -?一個元素定位器

mouseUp(locator)

模擬用戶在指定元素上釋放鼠標按鈕時發生的事件(也就是,停止保持按鈕按下)。

參數:

????·locator -?一個元素定位器

mouseUpAt(locator,coordString)

模擬用戶在指定元素上釋放鼠標按鈕時發生的事件(也就是,停止保持按鈕按下)。

參數:

????·locator -?一個元素定位器

·coordString -指定由定位器返回的鼠標事件相關聯的元素x,y?坐標(也就是?– 10,20)

open(url)

在測試框架中打開一個URL,可以為相對和絕對URLs。”open”命令將等待頁面加載完成才繼續進行,也就是明確的指名”并等待”后綴。注意:由于瀏覽器安全策略(相同來源方針)這個URL必須和當前運行的HTML在相同的域。如果你不得不在另一個域打開一個URL,則需要用Selenium服務在另一個域去打開一個新的瀏覽器會話。

參數:

????·url –?要打開的URL,可以為空

????·windowID –?要選擇窗體的JavaScript window ID

pause(waitTime)

等待指定時間(以毫秒為單位)

參數:

????·waitTime –?要睡眠的時間(以毫秒為單位)

refresh()

模擬用戶點擊瀏覽器上的”Refresh”按鈕。

removeAllSelections(locator)

取消所有可多選元素的選擇狀態。

參數:

????·locator –?一個用于識別多選框的元素定位器

removeSelection(locator,optionLocator)

從用選項定位器進行篩選的多選元素的篩選集合中移除一個集合。@在#doSelect中查看選項定位器的詳細信息。

參數:

????·locator –?一個用于識別多選框的元素定位器

????·optionLocator –?一個選項定位器(默認為一個標簽)

runScript(script)

在當前測試窗體的body中創建一個新的”script”標簽,并在body中添加指定的命令文本。用這種方式執行腳本,通常可以比使用Selenium的”getEval”方式更簡易的進行調試。要注意的是,由這種腳本標簽所拋出的異常不受Selenium管理,因此當該腳本有可能會拋出異常時,你需要用try/catch塊將其包含起來。

????·script –?需要執行的JavaScript?片段

select(selectLocator,optionLocator)

用選項選擇器從一個下拉框中選擇一個選項。

選項選擇器提供不同的方法從一個HTML選擇元素中識別選項。(例如:選擇一個指定選項,或斷言一個滿足某種規范的選項)有許多種形式的選擇選項定位器。

????·label=labelPattern:?基于其標簽匹配選項,如其有效文本。(默認)

??????〇?label=regexp:^[Oo]ther

????·value=valuePattern:?基于其值匹配選項。

??????〇?value=other

????·id=id:?基于其id匹配選項。

??????〇?id=option1

????·index=index:?基于其索引匹配選項(從0開始)。

??????〇index=2

如果沒有為選項定位器提供前綴,則默認匹配為標簽行為。

參數:

????·selectLocator –?一個用于識別下拉菜單的元素定位器

????·optionLocator –?一個選項選擇器(默認為標簽)

selectFrame(locator)

在當前窗體中選擇一個框架(你可以多次調用這個命令用于選擇嵌套框架)。要選擇父框架,用”relative=parent”作為定位器;要選擇頂級框架,用”relative=top”。你同樣可以通過基于0的索引號選擇框架;用”index=0”選擇第一個框架,或者用”index=2”選擇第三個框架。

你同樣可以直接使用一個DOM表達式來識別你要的框架。像這樣:dom=frames[“main”].frames[“subframe”]

參數:

????·locator –?一個用于識別框架或子框架的元素定位器

selectWindow(windowID)

選擇一個彈出窗體;一旦一個彈出窗體被選中,所有的命令將指向該窗體。要再次選擇主窗體,將對象設定為null。

注意:window的內在JavaScript的”name”屬性和被給與的window文檔(通常是你實際看到的,作為最終用戶,在窗體的標題欄上)的”title”之間有一個很大的不同。”name”對于最終用戶通常是不可見的;它是作為第二個參數”windowName”傳遞給JavaScript函數window.open(url,windowName,windowFeatures,replaceFlag)(被Selenium截取)。

Selenium有許多方法用于查找被”windowID”參數所提及的窗體對象。

1.)????如果windowID為null,(或是字符串”null”),則假定為用戶是提交給由瀏覽器最初實例化的窗體。

2.)????如果”windowID”參數的值是當前應用窗體的一個JavaScript變量名,則假定該變量包含一個由調用JavaScript window.open()函數所產生的返回值。

3.)????另外,selenium looks in a hash it maintains that maps string names to window “names”.

4.)????如果失敗了,我們將循環遍歷所有已知的窗體以便試圖找出適合的”title”。由于”title”不是必須唯一,因此可能會產生一些非期望的行為。

如果很難判定你所要操作的窗體的名稱,你可以查看為識別通過window.open(被Selenium截取)所打開窗體的名稱時所產生的selenium?日志消息。在每個窗體被打開時,你通常可以看到如下信息:

debug: window.open call intercepted; window ID (你可以用于?selectWindow()) is “myNewWindow”

在某些情況,Selenium會無法截取window.open的調用(例如,如果該調用發生在”onLoad”事件之間或之前)。(該BUG標記為SEL-339)。在這些情況,你可以使用Selenium的openWindow命令強制Selenium去通告打開窗體的名稱,使用一個空(blank) url,像這樣:openWindow(“”,”myFunnyWindow”)。

參數:

????·windowID –?要選擇窗體的JavaScript?窗體ID

setBrowserLogLevel(logLevel)

設定瀏覽器方日志信息級別;在此級別之下的日志信息將被丟棄。有效的日志級別字符串有:”debug”,”info”,”warn”,”error”,或”off”。要查看瀏覽器日志,在GUI模式下打開日志窗口,或在Selenium RC中將瀏覽器端記入日志設定為enable。

參數:

????·logLevel –?以下之一:”debug”,”info”,”warn”,”error”,或”off”

setCursorPosition(locator,position)

將文本光標移動到被給與的輸入元素或文本域的指定位置。若指定元素不是一個可輸入元素或文本域,該方法將失敗。

參數:

????·locator –?一個指向輸入元素或文本域的元素定位器

????·position –?該范圍的光標數字位置;position如果設定為0,則為該范圍域的最開始位置,你同樣可以將光標設定為-1以移動到該范圍域的最末端。

setMouseSpeed(pixels)

配置在dragAndDrop?命令執行期間,”mousemove”事件時的像素數字(默認為10)。

將這個值設定為0,意味著我們將向從開始位置到結束位置的每一個像素發送一個”mousemove”事件;那將會非常緩慢,且可能導致某些瀏覽器將該JavaScript強制設定為超時。

如果該鼠標速度大于兩個拖動對象間的距離,我們將只向開始位置和結束位置發送一個”mousemove”事件。

參數:

????·pixels –?兩個“mousemove”事件間的像素間隔

setSpeed(value)

設定執行速度(也就是說,設定將要執行的每條selenium操作間的毫秒延遲間隔長度)。默認情況下,沒有延遲,也就是延遲為0毫秒。

參數:

????·value –?在操作后的暫停毫秒數

setTimeout(timeout)

指定Selenium等待動作完成的等待時間。

需要等待的動作包括”open”和”waitFor*”。

默認超時為30秒。

參數:

????·timeout –?以毫秒為單位,超過后該命令將返回錯誤。

shiftKeyDown()

按下shift鍵,并保持按下狀態,直到doShiftUp()被調用或一個新的頁面被加載。

shiftKeyUp()

釋放shift鍵。

store(expression,variableName)

該命令是存儲表達式的同義詞。

參數:

????·expression –?要存儲的值

????·variableName –?用于存儲結果的變量名

submit(formLocator)

提交給指定表單。這對于沒有提交按鈕的表單特別有用,如,簡單輸入的”search”表單。

參數:

????·formLocator –?一個指向你要提交的表單的元素定位器

type(locator,value)

設定一個輸入域的值,如同你輸入進去一樣。

其同樣可用于單選框,多選框等。在這些情況,value應為選項選擇時的值,而不是有效文本。

參數:

????·locator –?一個元素定位器

????·value –?要錄入的值

typeKeys(locator,value)

模擬在指定元素上的按鍵事件,如同是你一個鍵一個鍵敲上去一樣。

比起為指定字符串的每個字符調用keyDown,keyUp,keyPress方法,這個函數要方便的多;其對于需要明確按鍵事件的動態UI組件(如自動完成的combo box)同樣有用。

不同于簡單的”敲打”命令——將指定值直接強制賦給頁面,該指令可能有,也可能沒有任何效果,即時在敲打按鈕通常會有效的情況下。例如,如果你在一個表單元素上使用”typeKeys”,你可能可以,也可能不可以看到看到你在該區域錄入的效果。

在有些時候,你可能不得不使用簡單的”type”命令去設定域的值,然后用”typeKeys”命令去發送按鍵事件以告知你所錄入的值。

參數:

????·locator –?一個元素定位器

????·value –?要錄入的值

uncheck(locator)

取消選中一個關聯性按鈕(checkbox/radio)

參數:

????·locator –?一個元素定位器

waitForCondition(script,timeout)

重復執行指定JavaScript片段直到其值為”true”。

該片段可以有多行,但只考慮其最后一行的結果。

要注意:默認情況下,該片段會在運行者的測試窗體運行,而不是在你的應用程序窗體。要得到你的應用程序窗體,你可以使用JavaScript片段selenium.browserbot.getCurrentWindow(),然后讓你的JavaScript在那運行。

參數:

????·script –?要運行的JavaScript片段

????·timeout –以毫秒為單位,超過后該命令將返回錯誤。

waitForFrameToLoad(frameAddress,timeout)

等待一個新的框架加載。

Selenium通常會持續跟蹤新頁面和框架的加載狀態,當其第一次注意到頁面加載完成,將會設定一個”newPageLoaded”標志。

查看waitForPageToLoad獲得更多信息。

參數:

????·frameAddress –?服務端的框架地址

????·timeout -?以毫秒為單位,超過后該命令將返回錯誤。

waitForPageToLoad(timeout)

等待一個新的頁面加載。

你可以使用此命令以代替”AndWait”后綴,”clickAndWait”,”selectAndWait”,”typeAndWait”等(僅在JS API中有效)。

Selenium通常會持續跟蹤新頁面的加載狀態,當其第一次注意到頁面加載完成,將會設定一個”newPageLoaded”標志。當此標志變為false后再運行其他Selenium命令。因此,如果你要等待一個頁面加載完成,當一個Selenium命令導致一個頁面加載后就需立即開始等待。

參數:

????·timeout?-?以毫秒為單位,超過后該命令將返回錯誤。

waitForPopUp(windowID,timeout)

等待一個彈出窗體出現和加載。

參數:

????·windowID –?將出現窗體的JavaScript?窗體ID

????·timeout -?以毫秒為單位,超過后該命令將返回錯誤。

windowFocus()

將焦點賦給當前選擇窗體

windowMaximize()

重新設定當前窗體大小為全屏

?

Selenium Accessors

assertErrorOnNext(message)

告訴Selenium在下一個命令執行時期待有錯誤。

參數:

????·message –?我們所期望的錯誤信息。如果出現不正確的錯誤信息,該命令將失敗。

同斷言相關聯,自動生成:

????·assertNotErrorOnNext(message)

????·verifyErrorOnNext(message)

????·verifyNotErrorOnNext(message)

????·waitForErrorOnNext(message)

????·waitForNotErrorOnNext(message)

assertFailureOnNext(message)

告訴Selenium在下一個命令執行時期待有失敗。

參數:

????·message –?我們所期望的失敗信息。如果出現不正確的失敗信息,該命令將失敗。

同斷言相關聯,自動生成:

????·assertNotFailureOnNext(message)

??·verifyFailureOnNext(message)

??·verifyNotFailureOnNext(message)

??·waitForFailureOnNext(message)

??·waitForNotFailureOnNext(message)

assertSelected(selectLocator,optionLocator)

驗證從下拉框中選擇的選項滿足選項指定器。

注意,不贊成使用該命令;你應該使用assertSelectedLabel, assertSelectedValue, assertSelectedIndex,或assertSelectedId進行代替。

查看選擇命令獲取更多關于選擇定位器的信息。

參數:

????·selectLocator -?一個用于識別下拉菜單的元素定位器

????·optionLocator –?一個選項定位器,代表性的就是一個選項標簽(如”John Smith”)

同斷言相關聯,自動生成:

????·assertNotSelected(selectLocator,optionLocator)

??·verifySelected(selectLocator,optionLocator)

??·verifyNotSelected(selectLocator,optionLocator)

??·waitForSelected(selectLocator,optionLocator)

??·waitForNotSelected(selectLocator,optionLocator)

storeAlert(variableName)

返回在之前動作所產生的JavaScript警告消息,如果沒有警告將失敗。

得到一個警告同手動點擊OK有著相同的效果。如果產生了一個警告,而你并不去得到/驗證它,那么下一個Selenium動作將失敗。

注意:在Selenium中,JavaScript警告將不會彈出一個可見的警告對話框。

注意:Selenium不支持在頁面的onload()事件句柄中所產生的JavaScript警告。在這種情況下,將會生成一個可見的對話框,Selenium將被懸停直到手動點擊OK。

Returns:

??最近JavaScript的警告消息

同斷言相關聯,自動生成:

????·assertAlert(pattern)

??·assertNotAlert(pattern)

??·verifyAlert(pattern)

??·verifyNotAlert(pattern)

??·waitForAlert(pattern)

??·waitForNotAlert(pattern)

storeAllButtons(variableName)

返回頁面上所有按鈕的ID集。

如果被給與的按鈕沒有ID,則將在結果數組中顯示為””。

Returns:

??頁面上所有按鈕的ID集。

同斷言相關聯,自動生成:

????·assertAllButtons(pattern)

????·assertNotAllButtons(pattern)

????·verifyAllButtons(pattern)

????·verifyNotAllButtons(pattern)

????·waitForAllButtons(pattern)

????·waitForNotAllButtons(pattern)

storeAllFields(variableName)

返回頁面上所有可輸入域的ID集。

如果被給與的域沒有ID,則將在結果數組中顯示為””

Returns:

??頁面上所有域的ID集。

同斷言相關聯,自動生成:

????·assertAllFields(pattern)

????·assertNotAllFields (pattern)

????·verifyAllFields (pattern)

????·verifyNotAllFields (pattern)

????·waitForAllFields (pattern)

????·waitForNotAllFields (pattern)

storeAllLinks(variableName)

返回頁面上所有鏈接的ID集。

如果被給與的鏈接沒有ID,則將在結果數組中顯示為””

Returns:

??頁面上所有鏈接的ID集。

同斷言相關聯,自動生成:

????·assertAllLinks(pattern)

????·assertNotAllLinks (pattern)

????·verifyAllLinks (pattern)

????·verifyNotAllLinks (pattern)

????·waitForAllLinks (pattern)

????·waitForNotAllLinks (pattern)

storeAllWindowIds(variableName)

返回所有瀏覽器已知的窗體ID集。

Returns:

??所有瀏覽器已知的窗體ID集。

同斷言相關聯,自動生成:

????·assertAllWindowIds (pattern)

??·assertNotAllWindowIds (pattern)

??·verifyAllWindowIds (pattern)

??·verifyNotAllWindowIds (pattern)

??·waitForAllWindowIds (pattern)

??·waitForNotAllWindowIds (pattern)

storeAllWindowNames(variableName)

返回所有瀏覽器已知的窗體名稱集。

Returns:

??所有瀏覽器已知的窗體名稱集。

同斷言相關聯,自動生成:

????·assertAllWindowNames (pattern)

??·assertNotAllWindowNames (pattern)

??·verifyAllWindowNames (pattern)

??·verifyNotAllWindowNames (pattern)

??·waitForAllWindowNames (pattern)

??·waitForNotAllWindowNames (pattern)

storeAllWindowTitles(variableName)

返回所有瀏覽器已知的窗體標題集。

Returns:

??所有瀏覽器已知的窗體標題集。

同斷言相關聯,自動生成:

????·assertAllWindowTitles (pattern)

??·assertNotAllWindowTitles (pattern)

??·verifyAllWindowTitles (pattern)

??·verifyNotAllWindowTitles (pattern)

??·waitForAllWindowTitles (pattern)

??·waitForNotAllWindowTitles (pattern)

storeAttribute(attributeLocator,variableName)

獲得一個元素屬性值。

參數:

????·attributeLocator –?由@符號開頭,后跟隨屬性名,如”foo@bar”

????·variableName –?用于存儲結果的變量名。

Returns:

??指定屬性的值

同斷言相關聯,自動生成:

????·assertAttribute (attributeLocator, pattern)

??·assertNotAttribute (attributeLocator, pattern)

??·verifyAttribute (attributeLocator, pattern)

??·verifyNotAttribute (attributeLocator, pattern)

??·waitForAttribute (attributeLocator, pattern)

??·waitForNotAttribute (attributeLocator, pattern)

storeAttributeFromAllWindows(attributeName,variableName)

返回所有已知窗體的某些屬性的每一個實例。

參數:

????·attributeName –?窗體某屬性的名稱

????·variableName -?用于存儲結果的變量名。

Returns:

??從所有已知窗體獲得的該屬性的數值集。

同斷言相關聯,自動生成:

????·assertAttributeFromAllWindows (attributeName, pattern)

??·assertNotAttributeFromAllWindows (attributeName, pattern)

??·verifyAttributeFromAllWindows (attributeName, pattern)

??·verifyNotAttributeFromAllWindows (attributeName, pattern)

??·waitForAttributeFromAllWindows (attributeName, pattern)

??·waitForNotAttributeFromAllWindows (attributeName, pattern)

storeBodyText(variableName)

獲取頁面上所有文本。

Returns:

??頁面上所有文本

同斷言相關聯,自動生成:

????·assertBodyText (pattern)

??·assertNotBodyText (pattern)

??·verifyBodyText (pattern)

??·verifyNotBodyText (pattern)

??·waitForBodyText (pattern)

??·waitForNotBodyText (pattern)

storeConfirmation(variableName)

返回在之前動作所產生的JavaScript確認消息。

默認情況下,confirm函數將返回true,同手動點擊OK有著相同的效果。這可以通過之前執行chooseCancelOnNextConfirmation命令改變。如果產生了一個確認,而你并不去得到/驗證它,那么下一個Selenium動作將失敗。

注意:在Selenium中,JavaScript確認將不會彈出一個可見的對話框。

注意:Selenium不支持在頁面的onload()事件句柄中所產生的JavaScript警告。在這種情況下,將會生成一個可見的對話框,Selenium將被懸停直到手動點擊OK。

Returns:

??最近JavaScript的確認消息

同斷言相關聯,自動生成:

????·assertConfirmation (pattern)

??·assertNotConfirmation (pattern)

??·verifyConfirmation (pattern)

??·verifyNotConfirmation (pattern)

??·waitForConfirmation (pattern)

??·waitForNotConfirmation (pattern)

storeCookie(variableName)

返回當前測試下當前頁面的所有cookies

Returns:

??當前測試下當前頁面的所有cookies

同斷言相關聯,自動生成:

????·assertCookie (pattern)

??·assertNotCookie (pattern)

??·verifyCookie (pattern)

??·verifyNotCookie (pattern)

??·waitForCookie (pattern)

??·waitForNotCookie (pattern)

storeCursorPosition(locator,variableName)

返回所給與的輸入元素或文本域的文本光標位置。

要注意,這并不在所有的瀏覽器中有效。

特別指出,如果光標/選擇已經被JavaScript所清除,該命令將嘗試返回光標所在的最后位置,即使光標已經不在該頁面。這被歸檔為SEL-243。

如果指定元素不是一個可輸入元素或文本域,或沒有光標在此元素上,該方法將失敗。

參數:

????·locator –?一個指向輸入元素或文本域的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??在該域中的光標數字位置

同斷言相關聯,自動生成:

????·assertCursorPosition (locator,pattern)

??·assertNotCursorPosition (locator,pattern)

??·verifyCursorPosition (locator,pattern)

??·verifyNotCursorPosition (locator,pattern)

??·waitForCursorPosition (locator,pattern)

??·waitForNotCursorPosition (locator,pattern)

storeElementHeight(locator,variableName)

返回元素的高度

參數:

????·locator –?一個指向元素的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??元素的高度

同斷言相關聯,自動生成:

????·assertElementHeight (locator,pattern)

??·assertNotElementHeight (locator,pattern)

??·verifyElementHeight (locator,pattern)

??·verifyNotElementHeight (locator,pattern)

??·waitForElementHeight (locator,pattern)

??·waitForNotElementHeight (locator,pattern)

storeElementIndex(locator,variableName)

獲取元素相對于其父元素的索引(從0開始)。注釋節點和空文本節點將被忽略。

參數:

????·locator –?一個指向元素的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??元素相對于其父元素的索引(從0開始)

同斷言相關聯,自動生成:

????·assertElementIndex (locator,pattern)

??·assertNotElementIndex (locator,pattern)

??·verifyElementIndex (locator,pattern)

??·verifyNotElementIndex (locator,pattern)

??·waitForElementIndex (locator,pattern)

??·waitForNotElementIndex (locator,pattern)

storeElementPositionLeft(locator,variableName)

返回元素的水平位置

參數:

????·locator –?一個指向元素的元素定位器或元素本身

????·variableName -?用于存儲結果的變量名。

Returns:

??到框架邊緣的像素。

同斷言相關聯,自動生成:

????·assertElementPositionLeft (locator,pattern)

??·assertNotElementPositionLeft (locator,pattern)

??·verifyElementPositionLeft (locator,pattern)

??·verifyNotElementPositionLeft (locator,pattern)

??·waitForElementPositionLeft (locator,pattern)

??·waitForNotElementPositionLeft (locator,pattern)

storeElementPositionTop(locator,variableName)

返回元素的縱向位置

參數:

????·locator –?一個指向元素的元素定位器或元素本身

????·variableName -?用于存儲結果的變量名。

Returns:

??到框架邊緣的像素。

同斷言相關聯,自動生成:

????·assertElementPositionTop (locator,pattern)

??·assertNotElementPositionTop (locator,pattern)

??·verifyElementPositionTop (locator,pattern)

??·verifyNotElementPositionTop (locator,pattern)

??·waitForElementPositionTop (locator,pattern)

??·waitForNotElementPositionTop (locator,pattern)

storeElementWidth(locator,variableName)

返回元素的寬度

參數:

????·locator –?一個指向元素的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??元素的寬度(以像素為單位)

同斷言相關聯,自動生成:

????·assertElementWidth (locator,pattern)

??·assertNotElementWidth (locator,pattern)

??·verifyElementWidth (locator,pattern)

??·verifyNotElementWidth (locator,pattern)

??·waitForElementWidth (locator,pattern)

??·waitForNotElementWidth (locator,pattern)

storeEval(script,variableName)

獲得指定JavaScript片段執行后的值。該片段可以有多行,但只返回最后一行的值。要注意到,默認情況下,該片段將在”selenium”對象本身的上下文中運行,因此其將提交給Selenium對象。用window將窗體提交給你的應用程序,如:

window.document.getElementById(‘foo’)

如果你不得不在你的應用程序頁面使用一個定位器提交一個單元素,你可以用this.browserbot.findElement(“id=foo”),這里”id=foo”就是你的定位器。

參數:

????·script –?要運行的JavaScript

????·variableName -?用于存儲結果的變量名。

Returns:

??片段執行后的值

同斷言相關聯,自動生成:

????·assertEval (script,pattern)

??·assertNotEval (script,pattern)

??·verifyEval (script,pattern)

??·verifyNotEval (script,pattern)

??·waitForEval (script,pattern)

??·waitForNotEval (script,pattern)

storeExpression(expression,variableName)

返回指定表達式。

由于JavaScript的預處理機制使其顯得非常有用。它可以用于生成如assertExpression和waitForExpression命令。

參數:

????·expression –?要返回的值

????·variableName -?用于存儲結果的變量名。

Returns:

??通過的值

同斷言相關聯,自動生成:

????·assertExpression (expression,pattern)

??·assertNotExpression (expression,pattern)

??·verifyExpression (expression,pattern)

??·verifyNotExpression (expression,pattern)

??·waitForExpression (expression,pattern)

??·waitForNotExpression (expression,pattern)

storeHtmlSource(variableName)

返回”html”標簽間的整個HTML源代碼。

Returns:

??整個HTML源代碼

同斷言相關聯,自動生成:

????·assertHtmlSource (pattern)

??·assertNotHtmlSource (pattern)

??·verifyHtmlSource (pattern)

??·verifyNotHtmlSource (pattern)

??·waitForHtmlSource (pattern)

??·waitForNotHtmlSource (pattern)

storeLocation(variableName)

取得當前頁面的絕對路徑

Returns:

??當前頁面的絕對路徑

同斷言相關聯,自動生成:

????·assertLocation (pattern)

??·assertNotLocation (pattern)

??·verifyLocation (pattern)

??·verifyNotLocation (pattern)

??·waitForLocation (pattern)

??·waitForNotLocation (pattern)

storeMouseSpeed(variableName)

返回在dragAndDrop?命令執行期間,”mousemove”事件時的像素數字(默認為10)

Returns:

??dragAndDrop?命令執行期間,”mousemove”事件時的像素數字(默認為10)

同斷言相關聯,自動生成:

????·assertMouseSpeed (pattern)

??·assertNotMouseSpeed (pattern)

??·verifyMouseSpeed (pattern)

??·verifyNotMouseSpeed (pattern)

??·waitForMouseSpeed (pattern)

??·waitForNotMouseSpeed (pattern)

storePrompt(variableName)

返回在之前動作所產生的JavaScript問題提示消息。

要成功掛起問題提示需要先運行answerOnNextPrompt命令。如果產生了一個問題提示,而你并不去得到/驗證它,那么下一個Selenium動作將失敗。

注意:在Selenium中,JavaScript確認將不會彈出一個可見的對話框。

注意:Selenium不支持在頁面的onload()事件句柄中所產生的JavaScript問題提示。在這種情況下,將會生成一個可見的對話框,Selenium將被懸停直到手動點擊OK。

Returns:

??最近JavaScript的問題提示消息

同斷言相關聯,自動生成:

????·assertPrompt (pattern)

??·assertNotPrompt (pattern)

??·verifyPrompt (pattern)

??·verifyNotPrompt (pattern)

??·waitForPrompt (pattern)

??·waitForNotPrompt (pattern)

storeSelectedId(selectLocator,variableName)

獲取從指定選擇元素中選擇的選項元素ID。

參數:

????·selectLocator -?一個用于識別下拉菜單的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??從指定選擇元素中選擇的選項元素ID

同斷言相關聯,自動生成:

????·assertSelectedId (selectLocator,pattern)

??·assertNotSelectedId (selectLocator,pattern)

??·verifySelectedId (selectLocator,pattern)

??·verifyNotSelectedId (selectLocator,pattern)

??·waitForSelectedId (selectLocator,pattern)

??·waitForNotSelectedId (selectLocator,pattern)

storeSelectedIds(selectLocator,variableName)

從指定選擇或多選元素中獲取選擇的選項元素ID集。

參數:

????·selectLocator -?一個用于識別下拉菜單的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??從指定選擇或多選元素中選擇的選項元素ID集合數組

同斷言相關聯,自動生成:

????·assertSelectedIds (selectLocator,pattern)

??·assertNotSelectedIds (selectLocator,pattern)

??·verifySelectedIds (selectLocator,pattern)

??·verifyNotSelectedIds (selectLocator,pattern)

??·waitForSelectedIds (selectLocator,pattern)

??·waitForNotSelectedIds (selectLocator,pattern)

storeSelectedIndex(selectLocator,variableName)

從指定的選擇元素中獲取被選項索引(從0開始)。

參數:

????·selectLocator -?一個用于識別下拉菜單的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??從指定選擇元素中選擇的選項元素索引

同斷言相關聯,自動生成:

????·assertSelectedIndex (selectLocator,pattern)

??·assertNotSelectedIndex (selectLocator,pattern)

??·verifySelectedIndex (selectLocator,pattern)

??·verifyNotSelectedIndex (selectLocator,pattern)

??·waitForSelectedIndex (selectLocator,pattern)

??·waitForNotSelectedIndex (selectLocator,pattern)

storeSelectedIndexs(selectLocator,variableName)

從指定的選擇或多選元素中獲取被選項索引(從0開始)集。

參數:

????·selectLocator -?一個用于識別下拉菜單的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??從指定選擇或多選元素中選擇的選項元素索引集合數組

同斷言相關聯,自動生成:

????·assertSelectedIndexs (selectLocator,pattern)

??·assertNotSelectedIndexs (selectLocator,pattern)

??·verifySelectedIndexs (selectLocator,pattern)

??·verifyNotSelectedIndexs (selectLocator,pattern)

??·waitForSelectedIndexs (selectLocator,pattern)

??·waitForNotSelectedIndexs (selectLocator,pattern)

storeSelectedLabel(selectLocator,variableName)

從指定的選擇元素中獲取所選擇的選項標簽(可見文本)。

參數:

????·selectLocator -?一個用于識別下拉菜單的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

所選擇的選項標簽

同斷言相關聯,自動生成:

????·assertSelectedLabel (selectLocator,pattern)

??·assertNotSelectedLabel (selectLocator,pattern)

??·verifySelectedLabel (selectLocator,pattern)

??·verifyNotSelectedLabel (selectLocator,pattern)

??·waitForSelectedLabel (selectLocator,pattern)

??·waitForNotSelectedLabel (selectLocator,pattern)

storeSelectedLabels(selectLocator,variableName)

從指定的選擇或多選元素中獲取所選擇的選項標簽(可見文本)。

參數:

????·selectLocator -?一個用于識別下拉菜單的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

所選擇的選項標簽

同斷言相關聯,自動生成:

????·assertSelectedLabel (selectLocator,pattern)

??·assertNotSelectedLabel (selectLocator,pattern)

??·verifySelectedLabel (selectLocator,pattern)

??·verifyNotSelectedLabel (selectLocator,pattern)

??·waitForSelectedLabel (selectLocator,pattern)

??·waitForNotSelectedLabel (selectLocator,pattern)

storeSelectedValue(selectLocator,variableName)

從指定的選擇元素中獲取所選擇的選項值(值屬性)。

參數:

????·selectLocator -?一個用于識別下拉菜單的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

所選擇的選項值

同斷言相關聯,自動生成:

????·assertSelectedValue (selectLocator,pattern)

??·assertNotSelectedValue (selectLocator,pattern)

??·verifySelectedValue (selectLocator,pattern)

??·verifyNotSelectedValue (selectLocator,pattern)

??·waitForSelectedValue (selectLocator,pattern)

??·waitForNotSelectedValue (selectLocator,pattern)

storeSelectedValues(selectLocator,variableName)

從指定的選擇或多選元素中獲取所有所選擇的選項值(值屬性)。

參數:

????·selectLocator -?一個用于識別下拉菜單的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

所有所選擇的選項值數組

同斷言相關聯,自動生成:

????·assertSelectedValues (selectLocator,pattern)

??·assertNotSelectedValues (selectLocator,pattern)

??·verifySelectedValues (selectLocator,pattern)

??·verifyNotSelectedValues (selectLocator,pattern)

??·waitForSelectedValues (selectLocator,pattern)

??·waitForNotSelectedValues (selectLocator,pattern)

storeSelectOptions(selectLocator,variableName)

獲取指定選擇下拉框的選項標簽。

參數:

????·selectLocator -?一個用于識別下拉菜單的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

指定選擇下拉框的選項標簽數組

同斷言相關聯,自動生成:

????·assertSelectedOptions (selectLocator,pattern)

??·assertNotSelectedOptions (selectLocator,pattern)

??·verifySelectedOptions (selectLocator,pattern)

??·verifyNotSelectedOptions (selectLocator,pattern)

??·waitForSelectedOptions (selectLocator,pattern)

??·waitForNotSelectedOptions (selectLocator,pattern)

storeTable(tableCellAddress,variableName)

從某個表的單元格中獲取文本。單元格地址語法如tablelocator.row.column,這里的row和column從0開始。

參數:

????·tableCellAddress –?一個單元格地址,如”foo.1.4”

????·variableName -用于存儲結果的變量名。

Returns:

??從指定單元格取出的文本

同斷言相關聯,自動生成:

????·assertTable (tableCellAddress,pattern)

??·assertNotTable (tableCellAddress,pattern)

??·verifyTable (tableCellAddress,pattern)

??·verifyNotTable (tableCellAddress,pattern)

??·waitForTable (tableCellAddress,pattern)

??·waitForNotTable (tableCellAddress,pattern)

storeText(locator,variableName)

獲取元素的文本。這對任何包含文本的元素都有效。該命令即可以用于如火狐瀏覽器的textContent,也可以用于如IE瀏覽器的innerText——顯示給用戶的。

參數:

????·locator?-?一個元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??元素的文本

同斷言相關聯,自動生成:

????·assertText (locator,pattern)

??·assertNotText (locator,pattern)

??·verifyText (locator,pattern)

??·verifyNotText (locator,pattern)

??·waitForText (locator,pattern)

??·waitForNotText (locator,pattern)

storeTitle(variableName)

獲取當前頁面的標題。

Returns:

??當前頁面的標題。

同斷言相關聯,自動生成:

????·assertTitle (pattern)

??·assertNotTitle (pattern)

??·verifyTitle (pattern)

??·verifyNotTitle (pattern)

??·waitForTitle (pattern)

??·waitForNotTitle (pattern)

storeValue(locator,variableName)

獲得一個輸入域(或任何包含value參數的元素)的值(已去除空格)。對于checkbox/radio元素,其值為”on”還是”off”依賴于該元素是否被選中。

參數:

????·locator?-?一個元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??元素值,對于checkbox/radio元素則為”on/off”

同斷言相關聯,自動生成:

????·assertValue (locator,pattern)

??·assertNotValue (locator,pattern)

??·verifyValue (locator,pattern)

??·verifyNotValue (locator,pattern)

??·waitForValue (locator,pattern)

??·waitForNotValue (locator,pattern)

storeWhetherThisFrameMatchFrameExpression(currenFrameString,target,variableName)

確定當前框架是否包含該運行代碼。

這對于代理注入代碼模式非常有用,這些代碼在每個瀏覽器框架和窗體中運行,有時selenium server需要識別當前是哪個框架。這種情況下,當測試調用selectFrame,該程序將被每個框架調用以指出哪個框架被選擇。被選擇的框架將返回true,而其他將返回false。

參數:

????·currenFrameString –?開始框架

????·target –?新框架(也許與當前框架相關聯)

????·variableName -用于存儲結果的變量名。

Returns:

??如果新框架為該代碼的窗體,返回true

同斷言相關聯,自動生成:

????·assertWhetherThisFrameMatchFrameExpression (currenFrameString,?target)

??·assertNotWhetherThisFrameMatchFrameExpression (currenFrameString,?target)

??·verifyWhetherThisFrameMatchFrameExpression (currenFrameString,?target)

??·verifyNotWhetherThisFrameMatchFrameExpression (currenFrameString,?target)

??·waitForWhetherThisFrameMatchFrameExpression (currenFrameString,?target)

??·waitForNotWhetherThisFrameMatchFrameExpression (currenFrameString,?target)

storeWhetherThisWindowMatchWindowExpression(currenWindowString,target,variableName)

確定當前窗體是否包含該運行代碼。

這對于代理注入代碼模式非常有用,這些代碼在每個瀏覽器框架和窗體中運行,有時selenium server需要識別當前是哪個窗體。這種情況下,當測試調用selectWindow,該程序將被每個窗體調用以指出哪個窗體被選擇。被選擇的窗體將返回true,而其他將返回false。

參數:

????·currenFrameString –?開始窗體

????·target –?新窗體(也許與當前窗體相關聯,如,”_parent”)

????·variableName -?用于存儲結果的變量名。

Returns:

??如果新窗體為該代碼的窗體,返回true

同斷言相關聯,自動生成:

????·assertWhetherThisWindowMatchWindowExpression (currenWindowString,?target)

??·assertNotWhetherThisWindowMatchWindowExpression (currenWindowString,?target)

??·verifyWhetherThisWindowMatchWindowExpression (currenWindowString,?target)

??·verifyNotWhetherThisWindowMatchWindowExpression (currenWindowString,?target)

??·waitForWhetherThisWindowMatchWindowExpression (currenWindowString,?target)

??·waitForNotWhetherThisWindowMatchWindowExpression (currenWindowString,?target)

storeXpathCount(xpath,variableName)

返回匹配指定xpath的節點數,如”//table”將給出表的個數。

參數:

·xpath –?要計算的xpath表達式。不要用’count()’函數將該表達式包含起來,我們將自動幫你作這件事。

????·variableName -?用于存儲結果的變量名。

Returns:

??匹配指定xpath的節點數

同斷言相關聯,自動生成:

????·assertXpathCount (xpath,?pattern)

??·assertNotXpathCount (xpath,?pattern)

??·verifyXpathCount (xpath,?pattern)

??·verifyNotXpathCount (xpath,?pattern)

??·waitForXpathCount (xpath,?pattern)

??·waitForNotXpathCount (xpath,?pattern)

storeAlertPresent(variableName)

發生警告了?

該函數永遠不會拋出異常

Returns:

??如果有警告返回true

同斷言相關聯,自動生成:

????·assertAlertPresent ()

??·assertNotAlertPresent ()

??·verifyAlertPresent ()

??·verifyNotAlertPresent ()

??·waitForAlertPresent ()

??·waitForNotAlertPresent ()

storeChecked(locator,variableName)

獲取一個關聯性按鈕(checkbox/radio)是否被勾選。如果指定元素不存在或不是一個關聯性按鈕,將失敗。

參數:

????·locator–?一個執行checkbox或radio按鈕的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??如果該checkbox被勾選,返回true,否則返回false

同斷言相關聯,自動生成:

????·assertChecked (locator)

??·assertNotChecked (locator)

??·verifyChecked (locator)

??·verifyNotChecked (locator)

??·waitForChecked (locator)

??·waitForNotChecked (locator)

storeConfirmationPresent(variableName)

confirm()被調用了?

該函數永遠不會拋出異常

Returns:

??如果有一個未決的確認返回true

同斷言相關聯,自動生成:

????·assertConfirmationPresent ()

??·assertNotConfirmationPresent ()

??·verifyConfirmationPresent ()

??·verifyNotConfirmationPresent ()

??·waitForConfirmationPresent ()

??·waitForNotConfirmationPresent ()

storeEditable(locator,variableName)

判定指定的輸入元素是否為可編輯,且ie沒有被禁用。如果指定元素不為一個可輸入元素,該函數將失敗。

參數:

????·locator –?一個元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??如果輸入元素可編輯返回true,否則返回false

同斷言相關聯,自動生成:

????·assertEditable (locator)

??·assertNotEditable (locator)

??·verifyEditable (locator)

??·verifyNotEditable (locator)

??·waitForEditable (locator)

??·waitForNotEditable (locator)

storeElementPresent(locator,variableName)

驗證指定元素在頁面上。

參數:

????·locator –?一個元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??如果該元素出現返回true,否則返回false

同斷言相關聯,自動生成:

????·assertElementPresent (locator)

??·assertNotElementPresent (locator)

??·verifyElementPresent (locator)

??·verifyNotElementPresent (locator)

??·waitForElementPresent (locator)

??·waitForNotElementPresent (locator)

storeOrdered(locator1,locator2,variableName)

檢查這兩個元素是否有相同的父級,且在DOM中為順序親屬。兩個相同元素將不考慮順序。

參數:

????·locator1 –?指向第一個元素的元素定位器

????·locator2 –?指向第二個元素的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??如果元素1是元素2的兄長,返回true,否則返回false

同斷言相關聯,自動生成:

????·assertOrdered (locator1,locator2)

??·assertNotOrdered (locator1,locator2)

??·verifyOrdered (locator1,locator2)

??·verifyNotOrdered (locator1,locator2)

??·waitForOrdered (locator1,locator2)

??·waitForNotOrdered (locator1,locator2)

storePromptPresent(variableName)

發生提示了?

該函數永遠不會拋出異常

Returns:

??如果有一個未決的提示返回true

同斷言相關聯,自動生成:

????·assertPromptPresent ()

??·assertNotPromptPresent ()

??·verifyPromptPresent ()

??·verifyNotPromptPresent ()

??·waitForPromptPresent ()

??·waitForNotPromptPresent ()

storeSomethingSelected(selectLocator,variableName)

判定一個下拉菜單是否選擇了某個選項。

參數:

????·selectLocator –?一個用于識別下拉菜單的元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??如果選擇某選項返回true,否則返回false

同斷言相關聯,自動生成:

????·assertSomethingSelected (selectLocator)

??·assertNotSomethingSelected (selectLocator)

??·verifySomethingSelected (selectLocator)

??·verifyNotSomethingSelected (selectLocator)

??·waitForSomethingSelected (selectLocator)

??·waitForNotSomethingSelected (selectLocator)

storeTextPresent(pattern,variableName)

驗證指定文本出現在提交給用戶的頁面上。

參數:

????·pattern –?用于匹配頁面文本的范式

????·variableName -?用于存儲結果的變量名。

Returns:

??如果該范式匹配文本返回true,否則返回false

同斷言相關聯,自動生成:

????·assertTextPresent (pattern)

??·assertNotTextPresent (pattern)

??·verifyTextPresent (pattern)

??·verifyNotTextPresent (pattern)

??·waitForTextPresent (pattern)

??·waitForNotTextPresent (pattern)

storeVisible(locator,variableName)

判定指定元素是否可見。一個元素可以通過將其本身或其父級的CSS”visibility”屬性設定為”hidden”,或將”dispaly”屬性設定為”none”,以使其不可見。如果該元素不存在,此方法將失敗。

參數:

????·locator –?一個元素定位器

????·variableName -?用于存儲結果的變量名。

Returns:

??如果指定元素為可見返回true,否則返回false

同斷言相關聯,自動生成:

????·assertVisible (locator)

??·assertNotVisible (locator)

??·verifyVisible (locator)

??·verifyNotVisible (locator)

??·waitForVisible (locator)

??·waitForNotVisible (locator)

參數解釋和變量

轉載于:https://www.cnblogs.com/xh0203/p/5855406.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254476.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254476.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254476.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C# 特性(Attribute)

個人定義:不侵入對象的情況下,添加對象附注信息。 官方定義:將預定義的系統信息或用戶定義的自定義信息與目標元素相關聯。目標元素可以是程序集、類、構造函數、委托、枚舉、事件、字段、接口、方法、可移植可執行文件模 塊、參數、屬性 (…

收集js庫的網站

https://www.javascripting.com/view/redux

c語言中有關void,sizeof,結構體的一些問題

void[1]:void是C語言中的空類型,void的用途有二。 1、對函數返回的限定; 如果函數沒有返回值,則默認返回整數類型,而不是void類型。c有很嚴格的類型,不允許函數不加類型聲明,而編譯器則不這么認…

Drawing繪圖halcon算子,持續更新

目錄drag_region1drag_region2drag_region3draw_circledraw_circle_moddraw_ellipsedraw_ellipse_mod_draw_linedraw_line_moddraw_nurbsdraw_nurbs_interpdraw_nurbs_interp_moddraw_nurbs_moddraw_pointdraw_point_moddraw_polygondraw_rectangle1draw_rectangle1_moddraw_re…

搞明白這八個問題,Linux系統就好學多了

正在猶豫入坑Linux學習的同學或者已經入坑的同學,經常會問到這樣八個問題。今天,這些問題我都會一一解答,希望我的看法能幫助各位同學。常言道“好的開始是成功的一半”,如果你明白了以下八個問題,就能有一個很好的開始…

從ORA-27300,ORA-27301到ORA-00064

近期因為session數量添加,須要調整session,也就是要調整process參數。看是比較簡單的一個問題,卻遭遇了ORA-27300,ORA-27301。因為這個涉及到了有關內核參數kernel.sem的改動。以下是其詳細描寫敘述。1、故障現象OS版本號&#xf…

Halcon|讀取3D相機點云數據

Halcon|讀取3D相機點云數據 最近發現很多小伙伴在使用Halcon處理3D工業相機掃描結果的時候遇到了“如何讀取”的問題。一般的3D工業相機儲存數據的格式有txt格式、tif格式、csv格式、ply格式、ptx格式、bin格式、obj格式等。 txt格式 讀取txt文件生成3D模型一般需要分析txt文件…

FFMPEG解碼流程

1. 注冊所有容器格式和CODEC: av_register_all() 2. 打開文件: av_open_input_file() 3. 從文件中提取流信息: av_find_stream_info() 4. 窮舉所有的流,查找其中種類為CODEC_TYPE_VIDEO 5. 查找對應的解碼器: avcodec_find_decoder() 6. 打開編解碼器: avcodec_open…

linux用戶登錄指定目錄

一、創建用戶和用戶組 [rootweb4 lianyu]# groupadd lianyu [rootweb4 lianyu]# useradd lianyu -g lianyu [rootweb4 lianyu]# passwd lianyu二、用戶登錄指定目錄 [rootweb4 lianyu]# cd /home/lianyu [rootweb4 lianyu]# ls -a . .. .bash_history .bash_logout .bas…

轉載:說一下AI的前景吧

發信人: wdong (萬事休), 信區: Stock標 題: 說一下AI的前景吧這一波AI和前兩年的big data,根本就是兩回事。big data這一波,主要是用數據分析來支撐起各種現有系統的改進,包括銷售業績的提高和用戶體驗的提高等。AI當然也可以應用回這些領域…

藥片粘連物體的分割

藥片粘連物體的分割要求:圖片:處理程序:處理結果:要求: 將藥片分割,統計藥片數量。不能使用模板匹配。 圖片: 先看一下要處理的原圖: 處理程序: read_image (Image…

FFMPEG CODEC使用總結

分類: 視頻編解碼技術 2010-07-15 10:29 283人閱讀 評論(0) 收藏 舉報 ffmpeg里提供了很多的encoder,decoder,詳見avcodec.h里的枚舉變量CodecID。 宏定義 #define REGISTER_ENCODER(X,x) { / extern AVCodec x##_encoder; / …

java 鏈接mysql 產生500W數據模擬生成環境

java 插入數據到mysql 通過sqoop 導入到hive 中,kylin模擬見cube 時間和 數據膨脹率 kylin 數據插入到 HBase Kylin HBase 1.1.3 Hive 1.2.1 Hadoop 2.5.1 create table infoagetime( prod_name char(10), prod_id SMALLINT, ods_date DATE )數據格式 oPmgBZxldW …

中本聰研究所創始人對Core的發展方向感到厭惡

在本月,中本聰研究所(Satoshi Nakamoto Institute)的聯合創始人Daniel Krawisz離開了該研究所,原因是Daniel覺得SNI社區逐漸變得讓他無法忍受,甚至感到厭惡。Daniel發表在SNI上的大量文章被刪除,有關于比特…

BZOJ 1026 [SCOI2009]windy數

1026: [SCOI2009]windy數 Description windy定義了一種windy數。不含前導零且相鄰兩個數字之差至少為2的正整數被稱為windy數。 windy想知道,在A和B之間,包括A和B,總共有多少個windy數? Input 包含兩個整數,A B。 Outp…

不連續區域的擬合

如下圖,需要把圖中4個半圓分別連接起來 我試過closing 和 dilation,下圖中后三個還可以連接起來, 但是第一個因為不連續地方較長,如果增大closing的值,會導致其它點 出現過度畸形。 有沒有能連接相鄰選區的方法&#…

X264碼率控制流程分析 (轉)

二、編碼器機能20鐘頭前  碼率節制的意見常識:   碼率節制的目的以及意義:   圖象通訊中碼率節制的目的:路程經過過程調治編碼參量,節制單元時間內的編碼視頻文件流的數值量,以使 ... 二、編碼器機能20鐘頭前碼率…

SPSS輸出的結果都要寫到文章中嗎

SPSS輸出的結果都要寫到文章中嗎 經常有人問到,SPSS輸出的結果都要寫到文章中嗎?文章中應該寫什么呢?比如,均值、中位數、眾數、標準差、百分位數、最小值、最大值等等,都要出現在文章中嗎?洋洋灑灑那么多&…

php Closure 類型

2019獨角獸企業重金招聘Python工程師標準>>> <?php /*** Closure 理解* 匿名函數&#xff08;Anonymous functions&#xff09;&#xff0c;* 也叫閉包函數&#xff08;closures&#xff09;* Closure 是匿名函數的php中的稱呼*/// 創建一個Closure$func funct…

ftk學習記(label篇)

【 聲明&#xff1a;版權全部&#xff0c;歡迎轉載&#xff0c;請勿用于商業用途。 聯系信箱&#xff1a;feixiaoxing 163.com】還是接著上面的一篇博文。之前以前答應過大家&#xff0c;讓大家看一下最簡單的ftk程序是怎么執行的。所以&#xff0c;這里我們上傳一下圖片。由于…