例如:
xpath=//img[@alt='The image alt text']
xpath=//table[@id='table1']//tr[4]/td[2]  
link=textPattern
link locator 用link来选择HTML中的连接或锚元素
例如:
link=The link text  
在没有locator前序的情况下 Without a locator prefix, Selenium uses:
如果以"document."开头,则默认是使用 dom locator,如果是以"//"开头,则默认使用xpath locator,其余情况均认作identifier locator  
2. String Matching Patterns (字符串匹配模式)

glob:patthern
glob模式,用通配符"*"代表任意长度字符,"?"代表一个字符  
regexp:regexp
正则表达式模式,用JavaScript正则表达式的形式匹配字符串  
exact:string
精确匹配模式,精确匹配整个字符串,不能用通配符  
在没有指定字符串匹配前序的时候,selenium 默认使用golb 匹配模式  
3. Select Option Specifiers (Select选项指定器)

label=labelPattern
通过匹配选项中的文本指定选项
例如:label=regexp:^[Oo]ther  
value=valuePattern
通过匹配选项中的值指定选项
例如:value=other  
id=id
通过匹配选项的id指定选项
例如: id=option1  
index=index
通过匹配选项的序号指定选项,序号从0开始
例如:index=2  
在没有选项选择前序的情况下,默认是匹配选项的文本  
二、 Actions
描述了用户所会作出的操作。
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  [url]http://localhost/[/url]

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脚本执行
- 常用在调试脚本或等待服务器段响应时  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

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

assertLocation, assertTitle
assertLocation(relativeLocation)
判断当前是在正确的页面  verifyLocation  /mypage   
assertLocation  /mypage

assertTitle(titlePattern)
检查当前页面的title是否正确  verifyTitle  My Page   
assertTitle  My Page

assertValue
assertValue(inputLocator, valuePattern)
- 检查input的值
- 对于 checkbox或radio,如果已选择,则值为"on",反之为"off"  verifyValue  nameField  John Smith  
assertValue  document.forms[2].nameField  John Smith

assertSelected, assertSelectedOptions
assertSelected(selectLocator, optionSpecifier)
检查select的下拉菜单中选中的选型是否和optionSpecifer(Select选择选项器)的选项相同  verifySelected  dropdown2  John Smith  
verifySelected  dorpdown2  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 在 调用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?

四、 Parameters and Variables
参数和变量的声明范围由简单的赋值到JavaScript表达式赋值。
Store,storeValue 和storeText 为下次访问保存值。
在Selenium内部是用一个叫storeVars的map来保存变量名。

Variable Substitution 变量替换
提供了一个简单的方法去访问变量,语法 $.{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.{storedVars['merchantId'].toUpperCase()}

Generating Unique values 产生唯一值.  
问题:你需要唯一的用户名
解决办法: 基于时间来产生用户名,如'fred'+(new Date().getTime())

Selenium中文手册相关推荐

  1. Selenium 中文手册

    Commands (命令) Action 对当前状态进行操作 失败时,停止测试 Assertion 校验是否有产生正确的值 Element Locators 指定HTML中的某元素 Patterns ...

  2. Selenium的中文手册(转载)

    Selenium中文手册 一.  Commands (命令) Action 对当前状态进行操作 失败时,停止测试   Assertion 校验是否有产生正确的值   Element Locators ...

  3. Smarty中文手册,Smarty教程,Smarty模板的入门教材

    Smarty中文手册,Smarty教程,Smarty模板的入门教材 首先,这份Smarty中文手册的翻译工作是由喜悦国际村村民自发组织的,不代表任何人的意见和观点.对他们的无私奉献精神,我们表示感谢, ...

  4. man nfsd(rpc.nfsd中文手册)

    本人译作集合:http://www.cnblogs.com/f-ck-need-u/p/7048359.html rpc.nfsd(8) System Manager's Manual rpc.nfs ...

  5. CSS2.0中文手册(CHM版)

    Div+Css是现在网站架设的一个趋势,应用Css对于网站有诸多的好处.本教程是沈小雨2002年制作的 Css2.0中文手册,对学习CSS和查询CSS属性非常有帮助. Css2.0中文手册针对的是已有 ...

  6. iPhone开发环境搭建全过程 iPhone手机开发内容,中文手册

    http://3g.edu.csdn.net/kecheng/iphone.html  iPhone手机开发内容 http://www.docin.com/p-34874880.html# iPhon ...

  7. Apache2.2中文手册

    Apache2.2中文手册 CHM格试 转载于:https://blog.51cto.com/zjcookies/114174

  8. PostgreSQL9.3中文手册的在线纠错

    PostgreSQL9.3中文手册已经在PG中国社区的官网上正式发布了,下面是网址: http://www.postgres.cn/docs/9.3 然而翻译中难免会有一些小错误.所以我们在在线手册的 ...

  9. 英巴卡迪诺新年战略:支持Linux提供中文手册

    提到英巴卡迪诺Embarcadero公司可能会有人感到陌生但是提到其旗下的应用程序开发工具Delphi和C++Builder相信很多开发者都会有与此相关的记忆.从这几年英巴卡迪诺的产品升级和市场推广来 ...

最新文章

  1. 微服务框架 Go-Micro 集成 Nacos 实战之服务注册与发现
  2. C++版二叉树非递归遍历
  3. MS SQL JSON类型type
  4. api商品分享源码_SSM框架高并发和商品秒杀项目高并发秒杀API源码免费分享
  5. Runtime.getRuntime().exec()调用外部程序
  6. 麦克纳姆轮全向移动机器人速度分解
  7. Linux 学习笔记 (四)Ubuntu14.04 解决上网问题安装无线网卡驱动
  8. Scale-up and Scale-out
  9. js 前端 银行卡图标处理
  10. iometer测试方法linux,IOmeter测试指导手册.pdf
  11. 【定制开发】【M3】基于Python+pygame实现的人机AI对战五子棋游戏(保姆级入门讲解)
  12. 微信小程序表单必填项设置
  13. 启动Elasticsearch时:[failed to obtain node locks]
  14. Predefined Shader preprocessor macros //预定义的着色器预处理宏
  15. 知乎上线诺贝尔奖主题圆桌 让科普更加多元有趣
  16. 第19节 HSRP-热备份路由协议原理及实验演示—基于Cisco Packet Tracer
  17. [Python笔记_2]循环、字符串、列表、函数、异常处理
  18. 时间倒数计时器_如何建立倒数计时器
  19. 深度相机(五)--Kinect v2.0
  20. python:python基础语法三,列表、元组、字典、集合

热门文章

  1. python小说全站爬虫_起点小说网全站爬虫(Python)
  2. 我的世界1.14java原版命令_我的世界:老一辈mc是怎么生存的?鱼骨式挖矿,这些套路你知道吗...
  3. 鼠标、键盘键值对应表
  4. CA7 ROLL B 选项
  5. mysql maria引擎_MySQL/mariadb知识点——存储过程及存储引擎
  6. php 持久化对象,php-对类持久化的引用
  7. 红黑树的删除_红黑树揭秘
  8. oracle的表空间的检查,oracle数据库检查所有表空间使用率的脚本
  9. Windows网络命令行程序
  10. RabbitMQ的死信队列的应用