Selenium IDE的常用命令(轉(zhuǎn))

Actions

描述了用戶所會(huì)作出的操作奶段。

Action 有兩種形式: action和actionAndWait, action會(huì)立即執(zhí)行沙兰,而actionAndWait會(huì)假設(shè)需要較長時(shí)間才能得到該action的相響,而作出等待抒钱,open則是會(huì)自動(dòng)處理等待時(shí)間蜓肆。

click

click(elementLocator)

- 點(diǎn)擊連接,按鈕,復(fù)選和單選框

- 如果點(diǎn)擊后需要等待響應(yīng)谋币,則用"clickAndWait"

- 如果是需要經(jīng)過JavaScript的alert或confirm對(duì)話框后才能繼續(xù)操作仗扬,則需要調(diào)用verify或assert來告訴Selenium你期望對(duì)對(duì)話框進(jìn)行什么操作。

clickaCheckbox

clickAndWaitsubmitButton

clickAndWaitanyLink

selenium.Click("id=login");

open

open(url)

- 在瀏覽器中打開URL,可以接受相對(duì)和絕對(duì)路徑兩種形式

- 注意:該URL必須在與瀏覽器相同的安全限定范圍之內(nèi)

open/mypage

openhttp://localhost/


selenium.Open("/");

type

type(inputLocator, value)

- 模擬人手的輸入過程蕾额,往指定的input中輸入值

- 也適合給復(fù)選和單選框賦值

- 在這個(gè)例子中厉颤,則只是給鉤選了的復(fù)選框賦值,注意凡简,而不是改寫其文本

typenameFieldJohn Smith

typeAndWaittextBoxThatSubmitsOnChangenewValue

selenium.Type("id=UserName", userName);

select

select(dropDownLocator, optionSpecifier)

- 根據(jù)optionSpecifier選項(xiàng)選擇器來選擇一個(gè)下拉菜單選項(xiàng)

- 如果有多于一個(gè)選擇器的時(shí)候逼友,如在用通配符模式精肃,如"f*b*",或者超過一個(gè)選項(xiàng)有相同的文本或值,則會(huì)選擇第一個(gè)匹配到的值

selectdropDownAustralian Dollars

selectdropDownindex=0

selectAndWaitcurrencySelectorvalue=AUD

selectAndWaitcurrencySelectorlabel=Auslian D*rs

goBack,close

goBack()

模擬點(diǎn)擊瀏覽器的后退按鈕

selenium.GoBack();

close()

模擬點(diǎn)擊瀏覽器關(guān)閉按鈕

selenium.Close();

selectWindow

select(windowId)

- 選擇一個(gè)彈出窗口

- 當(dāng)選中那個(gè)窗口的時(shí)候帜乞,所有的命令將會(huì)轉(zhuǎn)移到那窗口中執(zhí)行

selectWindowmyPopupWindow

selectWindownull

pause

pause(millisenconds)

- 根據(jù)指定時(shí)間暫停Selenium腳本執(zhí)行

- 常用在調(diào)試腳本或等待服務(wù)器段響應(yīng)時(shí)

pause5000

pause2000

fireEvent

fireEvent(elementLocatore,evenName)

模擬頁面元素事件被激活的處理動(dòng)作

fireEventtextFieldfocus

fireEventdropDownblur

waitForCondition

waitForCondition(JavaScriptSnippet,time)

- 在限定時(shí)間內(nèi)司抱,等待一段JavaScript代碼返回true值,超時(shí)則停止等待

waitForConditionvar value=selenium.getText("foo"); value.match(/bar/);3000

waitForValue

waitForValue(inputLocator, value)

- 等待某input(如hidden input)被賦予某值黎烈,

- 會(huì)輪流檢測該值习柠,所以要注意如果該值長時(shí)間一直不賦予該input該值的話,可能會(huì)導(dǎo)致阻塞

waitForValuefinishIndicationisfinished

store,stroreValue

store(valueToStore, variablename)

保存一個(gè)值到變量里照棋。

該值可以由自其他變量組合而成或通過JavaScript表達(dá)式賦值給變量

storeMr John Smithfullname

store$.{title} $.{firstname} $.{suname}fullname

storejavascript.{Math.round(Math.PI*100)/100}PI

storeValueinputLocatorvariableName

把指定的input中的值保存到變量中

storeValueuserNameuserID

typeuserName$.{userID}

storeText, storeAttribute

storeText(elementLocator, variablename)

把指定元素的文本值賦予給變量

storeTextcurrentDateexpectedStartDate

verifyValuestartDate$.{expectedStartDate}

storeAttribute(.{}elementLocator@attributeName,variableName.{)

把指定元素的屬性的值賦予給變量

storeAttributeinput1@classclassOfInput1

verifyAttributeinput2@class$.{classOfInput1}

storeAttributetarget: aa@bb存儲(chǔ)元素value: 變量存儲(chǔ)aa的bb值到變量中

String taskName = selenium.GetAttribute("minblogBody@defvalue");

Console.WriteLine(taskName);

將id為minblogBody的defvalue值存儲(chǔ)到taskName中,并打印taskName

storteText

target://*[@id='ul_80185794-3209-4e6b-8cea-af39348c5cdd']/li[1]/span[6]/a[1]

value:bind

echo

${bind}

將路徑為target里的值保存在bind變量中资溃,并輸出bind的值。

chooseCancel.., answer..

chooseCancelOnNextConfirmation()

- 當(dāng)下次JavaScript彈出confirm對(duì)話框的時(shí)候,讓selenium選擇Cancel

- 如果沒有該命令時(shí)烈炭,遇到confirm對(duì)話框Selenium默認(rèn)返回true溶锭,如手動(dòng)選擇OK按鈕一樣

chooseCancelOnNextConfirmation

- 如果已經(jīng)運(yùn)行過該命令,當(dāng)下一次又有confirm對(duì)話框出現(xiàn)時(shí)符隙,也會(huì)同樣地再次選擇Cancel

answerOnNextPrompt(answerString)

- 在下次JavaScript彈出prompt提示框時(shí)趴捅,賦予其anweerString的值,并選擇確定

answerOnNextPromptKangaroo

Assertions

允許用戶去檢查當(dāng)前狀態(tài)霹疫。兩種模式: Assert 和 Verify拱绑,當(dāng)Assert失敗,則退出測試丽蝎;當(dāng)Verify失敗猎拨,測試會(huì)繼續(xù)運(yùn)行。

assertLocation, assertTitle

assertLocation(relativeLocation)

判斷當(dāng)前是在正確的頁面

verifyLocation/mypage

assertLocation/mypage

assertTitle(titlePattern)

檢查當(dāng)前頁面的title是否正確

verifyTitleMy Page

assertTitleMy Page

assertValue

assertValue(inputLocator, valuePattern)

- 檢查input的值

- 對(duì)于 checkbox或radio屠阻,如果已選擇迟几,則值為"on",反之為"off"

verifyValuenameFieldJohn Smith

assertValuedocument.forms[2].nameFieldJohn Smith

assertSelected, assertSelectedOptions

assertSelected(selectLocator, optionSpecifier)

檢查select的下拉菜單中選中的選型是否和optionSpecifer(Select選擇選項(xiàng)器)的選項(xiàng)相同

verifySelecteddropdown2John Smith

verifySelecteddorpdown2value=js*123

assertSelecteddocument.forms[2].dropDownlabel=J*Smith

assertSelecteddocument.forms[2].dropDownindex=0

assertSelectOptions(selectLocator, optionLabelList)

- 檢查下拉菜單中的選項(xiàng)的文本是否和optionLabelList相同

- optionLabelList是以逗號(hào)分割的一個(gè)字符串

verifySelectOptionsdropdown2John Smith,Dave Bird

assertSelectOptionsdocument.forms[2].dropdownSmith,J,Bird,D

assertText

assertText(elementLocator,textPattern)

- 檢查指定元素的文本

- 只對(duì)有包含文本的元素生效

- 對(duì)于Mozilla類型的瀏覽器,用textContent取元素的文本栏笆,對(duì)于IE類型的瀏覽器类腮,用innerText取元素文本

verifyTextstatusMessageSuccessful

assertText//div[@id='foo']//h1Successful

assertTextPresent, assertAttribute

assertTextPresent(text)

檢查在當(dāng)前給用戶顯示的頁面上是否有出現(xiàn)指定的文本

verifyTextPresentYou are now logged in

assertTextPresentYou are now logged in

selenium.IsTextPresent("beisen:分享測試01")

assertAttribute(.{}elementLocator@attributeName.{, ValuePattern)

檢查當(dāng)前指定元素的屬性的值

verifyAttributetxt1@classbigAndBlod

assertAttributedocument.images[0]@altalt-text

verifyAttribute//img[@id='foo']/altalt-text

assertTextPresent, etc.

assertTextPresent(text)

assertTextNotPresent(text)

assertElementPresent(elementLocator)

verifyElementPresentsubmitButton

assertElementPresent//img[@alt='foo']assertElementNotPresent(elementLocator)

assertTable

assertTable(cellAddress, valuePattern)

- 檢查table里的某個(gè)cell中的值

- cellAddress的語法是tableName.row.column, 注意行列序號(hào)都是從0開始

verifyTablemyTable.1.6Submitted

assertTableresults0.213

assertVisible, nonVisible

assertVisible(elementLocator)

- 檢查指定的元素是否可視的

- 隱藏一個(gè)元素可以用設(shè)置css的'visibility'屬性為'hidden',也可以設(shè)置'display'屬性為'none'

verfyVisiblepostcode

assertVisiblepostcode

assertNotVisible(elementLocator)

verfyNotVisiblepostcode

assertNotVisiblepostcode

Editable, non-editable

assertEditable(inputLocator)

檢查指定的input是否可以編輯

verifyEditableshape

assertEditablecolour

assertNotEditable(inputLocator)

檢查指定的input是否不可以編輯

assertAlert

assertAlert(messagePattern)

- 檢查JavaScript是否有產(chǎn)生帶指定message的alert對(duì)話框

- alert產(chǎn)生的順序必須與檢查的順序一致

- 檢查alert時(shí)會(huì)產(chǎn)生與手動(dòng)點(diǎn)擊'OK'按鈕一樣的效果蛉加。如果一個(gè)alert產(chǎn)生了蚜枢,而你卻沒有去檢查它,selenium會(huì)在下個(gè)action中報(bào)錯(cuò)针饥。

- 注意:Selenium 不支持 JavaScript 在onload()事件時(shí)調(diào)用alert();在這種情況下厂抽,Selenium需要你自己手動(dòng)來點(diǎn)擊OK.

assertConfirmation

assertConfirmation(messagePattern)

- 檢查JavaScript是否有產(chǎn)生帶指定message的confirmation對(duì)話框和alert情況一樣,confirmation對(duì)話框也必須在它們產(chǎn)生的時(shí)候進(jìn)行檢查

- 默認(rèn)情況下丁眼,Selenium會(huì)讓confirm() 返回true, 相當(dāng)于手動(dòng)點(diǎn)擊Ok按鈕的效果筷凤。你能夠通過chooseCancelOnNextConfirmation命令讓confirm()返回false.同樣地,如果一個(gè)cofirmation對(duì)話框出現(xiàn)了藐守,但你卻沒有檢查的話,Selenium將會(huì)在下個(gè)action中報(bào)錯(cuò)

- 注意:在Selenium的環(huán)境下卢厂,confirmation對(duì)話框框?qū)⒉粫?huì)再出現(xiàn)彈出顯式對(duì)話框

- 注意:Selenium不支持在onload()事件時(shí)調(diào)用confirmation對(duì)話框,在這種情況下慎恒,會(huì)出現(xiàn)顯示confirmatioin對(duì)話框任内,并需要你自己手動(dòng)點(diǎn)擊融柬。

assertPrompt

assertPrompt(messagePattern)

- 檢查JavaScript是否有產(chǎn)生帶指定message的Prompt對(duì)話框

- 你檢查的prompt的順序Prompt對(duì)話框產(chǎn)生的順序必須相同

- 必須在verifyPrompt之前調(diào)用answerOnNextPrompt命令

- 如果prompt對(duì)話框出現(xiàn)了但你卻沒有檢查,則Selenium會(huì)在下個(gè)action中報(bào)錯(cuò)

answerOnNextPromptJoe

clickid=delegate

verifyPromptDelegate to who?

Parameters and Variables

參數(shù)和變量的聲明范圍由簡單的賦值到JavaScript表達(dá)式賦值粒氧。

Store越除,storeValue 和storeText 為下次訪問保存值。

在Selenium內(nèi)部是用一個(gè)叫storeVars的map來保存變量名靠欢。

Variable Substitution 變量替換

提供了一個(gè)簡單的方法去訪問變量,語法 $.{xxx}

storeMrtitle

storeValuenameFieldsurname

store$.{title} $.{suname}fullname

typetextElementFull name is: $.{fullname}

JavaScript Evaluation JavaScript賦值

你能用JavaScript來構(gòu)建任何你所需要的值廊敌。

這個(gè)參數(shù)是以javascript開頭门怪,語法是 javascript.{'with a trailing'}锅纺。

可以通過JavaScript表達(dá)式給某元素賦值。

storejavascript.{'merchant'+(new Date()).getTime()}merchantId

typetextElementjavascript.{storedVars['merchantId'].toUpperCase()}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末坦弟,一起剝皮案震驚了整個(gè)濱河市官地,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赤炒,老刑警劉巖亏较,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異遵岩,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)尘执,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門正卧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人炉旷,你說我怎么就攤上這事〖⒆罚” “怎么了罐盔?”我有些...
    開封第一講書人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長捏顺。 經(jīng)常有香客問我纬黎,道長幅骄,這世上最難降的妖魔是什么本今? 我笑而不...
    開封第一講書人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮挪凑,結(jié)果婚禮上逛艰,老公的妹妹穿的比我還像新娘。我一直安慰自己散怖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開白布脸甘。 她就那樣靜靜地躺著偏灿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪铆遭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評(píng)論 1 290
  • 那天碗脊,我揣著相機(jī)與錄音橄妆,去河邊找鬼。 笑死害碾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的芬沉。 我是一名探鬼主播阁猜,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼黄刚!你這毒婦竟也來了笛园?” 一聲冷哼從身側(cè)響起侍芝,我...
    開封第一講書人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎棵红,沒想到半個(gè)月后咧栗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡交煞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年斟或,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片御毅。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖凤粗,靈堂內(nèi)的尸體忽然破棺而出今豆,到底是詐尸還是另有隱情,我是刑警寧澤呆躲,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布歼秽,位于F島的核電站,受9級(jí)特大地震影響燥筷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜袍祖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一谢揪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧凳鬓,春花似錦、人聲如沸患民。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽印蓖。三九已至,卻和暖如春赦肃,著一層夾襖步出監(jiān)牢的瞬間绞旅,已是汗流浹背温艇。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工勺爱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人琐鲁。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像顾翼,于是被迫代替她去往敵國和親奈泪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容