二、 Actions-Selenium深入浅出0.9.0-测试-IT技术博客



描述了用户所会作出的操作。

Action 有两种形式: action 和 actionAndWait, action 会立即执行,而 actionAndWait 会假设需要较长时间才能得到该 action 的相响,而作出等待,open 则是会自动处理等待时间,是同步方法。


• click

click(elementLocator)    点击连接,按钮,复选和单选框, 如果点击后需要等待响应,则用 "clickAndWait",如果是需要经过 JavaScript 的 alert 或 confirm 对话框后才能继续操作,则需要调用 verify 或 assert 来告诉 Selenium你期望对对话框进行什么操作。

click

aCheckbox
clickAndWait submitButton
clickAndWait anyLink


• open

    open(url)    在浏览器中打开 URL,可以接受相对和绝对路径两种形式,注意:该 URL 必须在与浏览器相同的安全限定范围之内

open 

/mypage
open http://localhost/


• type

type(inputLocator, value)     模拟人手的输入过程,往指定的 input 中输入值,也适合给复选和单选框赋值,在这个例子中,则只是给钩选了的复选框赋值,注意,而不是改写其文本

type nameField  John Smith
typeAndWait textBoxThatSubmitsOnChange newValue


• select

select(dropDownLocator, optionSpecifier)    根据 optionSpecifier 选项选择器来选择一个下拉菜单选项,如果有多于一个选择器的时候,如在用通配符模式,如"f*b*",或者超过一个选项有相同的文本或值,则会选择第一个匹配到的值

select 

dropDown Australian Dollars
select dropDown index=0
selectAndWait currencySelector value=AUD
selectAndWait currencySelector label=Auslian D*rs


• goBack,close

goBack()    模拟点击浏览器的后退按钮

close()     模拟点击浏览器关闭按钮


• selectWindow

select(windowId)    选择一个弹出窗口, 当选中那个窗口的时候,所有的命令将会转移到那窗口中执行

selectWindow myPopupWindow
selectWindow null


• pause

pause(millisenconds)    根据指定时间暂停 Selenium 脚本执行, 常用在调试脚本或等待服务器段响应时,可以使用 Thread.sleep(2000);实现相同的功能。

pause  5000
pause  2000


• fireEvent

fireEvent(elementLocatore,evenName)    模拟页面元素事件被激活的处理动作

fireEvent textField focus
fireEvent dropDown blur


• waitForCondition

waitForCondition(JavaScriptSnippet,time)    在限定时间内,等待一段 JavaScript 代码返回 true 值,超时则停止等待

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


• waitForValue

waitForValue(inputLocator, value)    等待某 input(如 hidden input)被赋予某值,会轮流检测该值,所以要注意如果该值长时间一直不赋予该 input 该值的话,可能会导致阻塞

waitForValue   finishIndication isfinished


• store,stroreValue

store(valueToStore, variablename)    保存一个值到变量里。该值可以由自其他变量组合而成或通过 JavaScript 表达式赋值给变量

store Mr John Smith fullname
store $.{title} $.{firstname} $.{suname} fullname
store javascript.{Math.round(Math.PI*100)/100} PI
storeValue inputLocator variableName


• 把指定的 input 中的值保存到变量中

storeValue userName userID
type userName $.{userID}


• storeText, storeAttribute

storeText(elementLocator, variablename)    把指定元素的文本值赋予给变量

storeText currentDate expectedStartDate
verifyValue  startDate  $.{expectedStartDate}



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

把指定元素的属性的值赋予给变量

storeAttribute

input1@class classOfInput1
verifyAttribute  input2@class  $.{classOfInput1}


• chooseCancel.., answer..

chooseCancelOnNextConfirmation()

- 当下次 JavaScript 弹出 confirm 对话框的时候,让 selenium 选择 Cancel

- 如果没有该命令时,遇到 confirm 对话框 Selenium 默认返回 true,如手动选择 OK 按钮一样

chooseCancelOnNextConfirmation


• - 如果已经运行过该命令,当下一次又有 confirm 对话框出现时,也会同样地再次选择 Cancel

answerOnNextPrompt(answerString)

- 在下次 JavaScript 弹出 prompt 提示框时,赋予其 anweerString 的值,并选择确定

answerOnNextPrompt Kangaroo





标签: Selenium教程基础教程Selenium教程Selenium入门