三、 Assertions-Selenium深入浅出0.9.0-测试-IT技术博客

允许用户去检查当前状态。两种模式 : Assert 和 Verify, 当 Assert 失败,则退出测试;当 Verify 失败,测试会继续运行。

• assertLocation, assertTitle

assertLocation(relativeLocation)    判断当前是在正确的页面

verifyLocation /mypage
verifyLocation /mypage


• assertTitle(titlePattern)

检查当前页面的 title 是否正确

verifyTitle My Page
assertTitle My Page


• assertValue

assertValue(inputLocator, valuePattern)

- 检查 input 的值, 对于 checkbox 或 radio,如果已选择,则值为"on",反之为"off"

verifyValue nameField John Smith
assertTitle document.forms[2].nameField  John Smith


• assertSelected, assertSelectedOptions

assertSelected(selectLocator, optionSpecifier)

检查 select 的下拉菜单中选中的选型是否和 optionSpecifer(Select 选择选项器)的选项相同

verifySelected dropdown2 John Smith
verifySelected dropdown2 value=js*123
assertSelected document.forms[2].dropDown label=J*Smith
assertSelected document.forms[2].dropDown index=0


• assertSelectOptions(selectLocator, optionLabelList)

- 检查下拉菜单中的选项的文本是否和 optionLabelList 相同,optionLabelList 是以逗号分割的一个字符串

verifySelectOptions dropdown2 John Smith,Dave Bird
assertSelectOptions document.forms[2].dropdown  Smith,J,Bird,D


• assertText

assertText(elementLocator,textPattern)      检查指定元素的文本,只对有包含文本的元素生效,对于 Mozilla 类型的浏览器,用 textContent 取元素的文本,对于 IE 类型的浏览器,用 innerText 取元素文本

verifyText 

statusMessage  Successful
assertText  //div[@id='foo']//h1  Successful


• assertTextPresent, assertAttribute

assertTextPresent(text)    检查在当前给用户显示的页面上是否有出现指定的文本

verifyTextPresent You are now logged in
assertTextPresent  You are now logged in


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

检查当前指定元素的属性的值

verifyAttribute

txt1@class bigAndBlod
assertAttribute document.images[0]@alt alt-text
verifyAttribute //img[@id='foo']/alt alt-text


• assertTextPresent, etc.

assertTextPresent(text)

assertTextNotPresent(text)

assertElementPresent(elementLocator)

verifyElementPresent

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


• assertTable

assertTable(cellAddress, valuePattern)    检查 table 里的某个 cell 中的值,cellAddress 的语法是 tableName.row.column, 注意行列序号都是从 0 开始

verifyTable 

myTable.1.6  Submitted
assertTable  results0.2 13


• assertVisible, nonVisible

assertVisible(elementLocator)    检查指定的元素是否可视的, 隐藏一个元素可以用设置 css 的'visibility'属性为'hidden',也可以设置'display'属性为'none'

verfyVisible 

postcode
assertVisible postcode


• assertNotVisible(elementLocator)

verfyNotVisible postcode
assertNotVisible postcode


• Editable, non-editable

assertEditable(inputLocator)    检查指定的 input 是否可以编辑

verifyEditable 

shape
assertEditable  colour


• assertNotEditable(inputLocator)

检查指定的 input 是否不可以编辑


• assertAlert

assertAlert(messagePattern)

- 检查 JavaScript 是否有产生带指定 message 的 alert 对话框

- alert 产生的顺序必须与检查的顺序一致

- 检查 alert 时会产生与手动点击'OK'按钮一样的效果。如果一个 alert 产生了,而你却没有去检查它,selenium 会在下个

action 中报错。

- 注意:Selenium 不支持 JavaScript 在 onload()事件时 调用 alert();在这种情况下,Selenium 需要你自己手动来点

击 OK.


• assertConfirmation

assertConfirmation(messagePattern)

- 检查 JavaScript 是否有产生带指定 message 的 confirmation 对话框和 alert 情况一样, confirmation 对话框也必须在

它们产生的时候进行检查

- 默认情况下,Selenium 会让 confirm() 返回 true, 相当于手动点击 Ok 按钮的效果。你能够通过

chooseCancelOnNextConfirmation 命令让 confirm()返回 false.同样地,如果一个 cofirmation 对话框出现了,但你却

没有检查的话,Selenium 将会在下个 action 中报错

- 注意:在 Selenium 的环境下,confirmation 对话框框将不会再出现弹出显式对话框

- 注意:Selenium 不支持在 onload()事件时调用 confirmation 对话框,在这种情况下,会出现显示 confirmatioin 对话

框,并需要你自己手动点击。


• assertPrompt

assertPrompt(messagePattern)

- 检查 JavaScript 是否有产生带指定 message 的 Prompt 对话框

- 你检查的 prompt 的顺序 Prompt 对话框产生的顺序必须相同

- 必须在 verifyPrompt 之前调用 answerOnNextPrompt 命令

- 如果 prompt 对话框出现了但你却没有检查,则 Selenium 会在下个 action 中报错

answerOnNextPrompt 

Joe
click  id=delegate
verifyPrompt  Delegate to who?





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