Selenium命令通常称为‘selenese’,它是一套用于执行测试的命令集,这些命令组合起来就构成了测试脚本。 在selenese中,一部分命令基于HTML标记,用于测试UI元素是否存在、验证指定内容是否正确、检查连接是否可用,并可以输入字段、选择列表的选项、提交表单并操作表格中的数据等。另一部分
Selenium命令用于辅助测试,例如验证窗口大小、鼠标位置、警告信息、Ajax功能、弹出窗口、事件处理以及其他各种
web应该程序功能。
selenium命令可分为3种类型:Action(操作)、Accessor(存储)、Assertion(断言)。
1.Action
Action命令一般用于操作应用程序的状态,作用执行操作,运行失败或出现错误,将会使测试中断执行。
1.1浏览器的操作
open(url)打开指定的URL,可以为相对url或绝对url,参数target要打开的url。注意:当target为空时,打开base url中填写的页面;不为空时,打开base url+target页面。
goBack()后退按钮
refresh()刷新
windowFocus()激活当前选中的
浏览器窗口
windowMaximize()当前选中的浏览器窗口最大化
close()关闭当前选中的浏览器
1.2界面元素的基本操作
type(locator,value)在input类型的元素中输入值,参数target元素的定位表达式,value要输入的值
typeKeys(locator,value)模拟键盘敲击事件,相当于一个键一个键的按
click(locator)单击链接、复选框或单选框,单击动作会导致页面重新加载,最好在后面使用waitForPageToLoad命令(或使用clickAndWait命令)
clickAt(locator,coordString)与click命令类似,需要填写相对坐标
doubleClick(locator)双击链接、复选框或单选框,最好在后面使用waitForPageToLoad命令(或使用doubleClickAndWait命令)
doubleClickAt(locator,coordString)与doubleClick命令类似,区别在于需要填写相对坐标
select(selectLocator,optionLocator)在下拉列表框中选择指定选项,注意:label=文本值,基于选项的文本进行匹配;value=真实值,基于选项的真实值进行匹配;id=id,基于选项的id进行匹配;index=index,基于选项的索引进行匹配。
check(locator)勾选复选框或单选框
uncheck(locator)与check命令的功能相反,其作用为取消勾选
focus(locator)将焦点转移到指定的元素上
1.3设置类操作
setTimeout(timeout)指定selenium在执行某一操作时的最大等待时间,仅适用于open命令、以waitFor开头的命令以及带有AndWait后缀的命令
setSpeed(Value)设置测试的执行速度,各个测试步骤之间执行的时间间隔
1.4测试控制/调试类操作
pause(waitTime)测试在指定时间暂停执行
break()暂停当前正在执行的测试,直到用户手动单击继续按钮
captureEntirePageScreenshot(filename,kwargs)将当前窗口进行截图并保存为png文件
highlight(locator)暂时将指定元素的背景色该为黄色,并在稍后取消该效果
echo(message)将指定信息打印出来
2.Accessor
Accessor命令用于检查应用程序的状态,并将结果存储在变量中。
store(expression,variableName)将指定的值存储在变量中
storeTitle(variableName)用于存放当前网页的标题
storeLocation(variableName)用于存储当前网页的URL
storeValue(locator,variableName)用于存储input元素所存放的值
storeEditable(locator,variableName)用于存储input元素的可编辑状态
storeText(locator,variableName)用于存储某个元素的文本值(链接或纯文本等)
storeSelectedLabel(selectLLocator,variableName)获取指定列表中所选项的文本值
storeSelectedValue(selectLocator,variableName)获取指定列表中所选项的真实值
storeSelectOptions(selectLocator,variableName)获取指定列表中所有选项的文本,以逗号分隔
storeTable(tableCellAddress,variableName)获取表格中某个单元格的值
storeAttribute(attributeLocator,variableName)获取指定属性的值,target填写属性的定位表达式,不是元素的定位表达式
storeTextPresent(pattern,variableName)验证指定的文本是否在页面中出现,出现返回true,否则false
storeElementPresent(locator,variableName)验证指定元素是否出现在页面中
storeVisible(locator,variableName)验证元素是否显示在页面中(隐藏的元素)
storeSpeed(variableName)获取执行进度,测试步骤之间的执行间隔时间
3.Assertion
Assertion命令类似Accessor命令,但它们会验证应用程序的状态,并确认这些状态符合预期结果。通过3种模式使用:assert、verify、waitFor。