1、一. 文本框 Text box1. 向文本框中填写信息type(java.lang.String locator, java.lang.String value)eg.selenium.type(“salutationText“, “abc”);2. 取出某个文本框中已经填写的信息java.lang.StringgetValue(java.lang.String locator)eg.selenium.getValue(“xpath=/inputname=addProfileLastName“);3. 判断某文本框是否可编辑booleanisEditable(java.lang.String
2、locator)eg.selenium.isEditable(“xpath=/inputname=addProfileLastName“);二下拉框 Drop down list1. 向下拉框中选值select(java.lang.String selectLocator, java.lang.String optionLocator)eg.selenium.select(“typeSelect“, “label=Date“);2. 取出某个下拉框中已经选择的值java.lang.StringgetSelectedLabel(java.lang.String selectLocator)eg.
3、 selenium.getSelectedLabel(“xpath=/SELECTname=addSatution“)3. 取出某个下拉框中所有的选项java.lang.StringgetSelectOptions getSelectOptions getSelectOptions(java.lang.String selectLocato getSelectOptionsr)eg. selenium.getSelectOptions(“/divid=mysearch_tips/select“)三按钮或链接 Button selenium.click(“xpath=/inputcheckfie
4、ld=addIndicatorName and name=addBtn“);四 单选框或多选框 Radio Box 1. 不选uncheck(java.lang.String locator)eg. selenium.uncheck(“otherPhoneFlag“);2. 判断是否选择booleanisChecked(java.lang.String locator)eg. selenium.isChecked(“otherPhoneFlag“);五表格 Table1. 取出表中某个单元格的值,下标从 0 开始java.lang.String getTable(java.lang.Strin
5、g tableCellAddress)eg. selenium.getTable(“/divid=profiles-search/div2/table.1.1“);六其他 其他 其他 其他 others1. 取某个元素的特定属性值java.lang.String getAttribute(java.lang.String attributeLocator)eg. selenium.getAttribute(“xpath=/imgname=picNamestyle“)2取某元素的 text 值java.lang.StringgetText(java.lang.String locator)eg.
6、 selenium.getText(“link=Contacts“)3. 取当前页面的 Titlejava.lang.StringgetTitle()eg. selenium.getTitle()4. 判断页面是否有特定的元素booleanisElementPresent(java.lang.String locator)eg. booleanisElementPresent(java.lang.String locator)5. 判断页面是否有特定文字booleanisTextPresent(java.lang.String pattern)eg. selenium.isTextPresen
7、t(“abc?6. 判断某个元素是否 invisible,图片是空的 the “display“ property to “none“或 CSS “visibility“ property to “hidden“booleanisVisible(java.lang.String locator)eg.selenium.isVisible(“xpath=/imgname=picName“)7. 模拟 Keyup 事件keyUp(java.lang.String locator,java.lang.String keySequence)eg. selenium.keyUp(“creditCardE
8、xpMonth“, “1“);8. 打开一个 url,相对或绝对open(java.lang.String url)eg.selenium.open(“/login.aspx“);9. 刷新页面refresh()eg.selenium.refresh();10. 控制每步操作间隔的时间,millisecondssetSpeed(java.lang.String value)eg. selenium.setSpeed(“3000“);11. 开始一个 Selenium sessionstart()eg. selenium.start();12. 结束测试 测试 测试 测试 Sessionstop
9、()eg. selenium.stop();13. 等待新页面加载waitForPageToLoad(java.lang.String timeout)selenium.waitForPageToLoad(“60000“);14. 页面最大化windowMaximize()eg.selenium.windowMaximize();assertVisible, nonVisibleassertVisible(elementLocator)- 检查指定的元素是否可视的- 隐藏一个元素可以用设置 css 的 visibility属性为hidden,也可以设置display属性为none verfyV
10、isible postcode assertVisible postcode assertNotVisible(elementLocator) verfyNotVisible postcode assertNotVisible postcode Editable, non-editableassertEditable(inputLocator)检查指定的 input 是否可以编辑 verifyEditable shape assertEditable colour assertNotEditable(inputLocator)检查指定的 input 是否不可以编辑 assertAlertass
11、ertAlert(messagePattern)- 检查 JavaScript 是否有产生带指定 message 的 alert 对话框- alert 产生的顺序必须与检查的顺序一致- 检查 alert 时会产生与手动点击 OK按钮一样的效果。如果一个 alert 产生了,而你却没有去检查它,selenium 会在下个 action 中报错。- 注意:Selenium 不支持 JavaScript 在 onload()事件时 调用 alert();在这种情况下,Selenium 需要你自己手动来点击 OK. assertConfirmationassertConfirmation(messag
12、ePattern)- 检查 JavaScript 是否有产生带指定 message 的 confirmation 对话框和 alert 情况一样,confirmation 对话框也必须在它们产生的时候进行检查- 默认情况下,Selenium 会让 confirm() 返回 true, 相当于手动点击 Ok 按钮的效果。你能够通过chooseCancelOnNextConfirmation 命令让 confirm()返回 false.同样地,如果一个 cofirmation 对话框出现了,但你却没有检查的话,Selenium 将会在下个 action 中报错- 注意:在 Selenium 的环境
13、下,confirmation 对话框框将不会再出现弹出显式对话框- 注意:Selenium 不支持在 onload()事件时调用 confirmation 对话框,在这种情况下,会出现显示confirmatioin 对话框,并需要你自己手动点击。 assertPromptassertPrompt(messagePattern)- 检查 JavaScript 是否有产生带指定 message 的 Prompt 对话框- 你检查的 prompt 的顺序 Prompt 对话框产生的顺序必须相同- 必须在 verifyPrompt 之前调用 answerOnNextPrompt 命令- 如果 prom
14、pt 对话框出现了但你却没有检查,则 Selenium 会在下个 action 中报错 answerOnNextPrompt Joe click id=delegate verifyPrompt Delegate to who? 四、 Parameters and Variables参数和变量的声明范围由简单的赋值到 JavaScript 表达式赋值。Store,storeValue 和 storeText 为下次访问保存值。在 Selenium 内部是用一个叫 storeVars 的 map 来保存变量名。Variable Substitution 变量替换提供了一个简单的方法去访问变量,语
15、法 $.xxx store Mr title storeValue nameField surname store $.title $.suname fullname type textElement Full name is: $.fullname JavaScript Evaluation JavaScript 赋值你能用 JavaScript 来构建任何你所需要的值。这个参数是以 javascript 开头,语法是 javascript.with a trailing。可以通过 JavaScript 表达式给某元素赋值。 store javascript.merchant+(new Date().getTime() merchantId type textElement javascript.storedVarsmerchantId.toUpperCase() Generating Unique values 产生唯一值. 问题:你需要唯一的用户名解决办法: 基于时间来产生用户名,如fred+(new Date().getTime()