2023年6月21日发(作者:)

Selenium中文 API 参考手册

自行添加内容

最近研究了下Selenium,苦于网上中文资料太少,便自己翻译了下Selenium官网上的

API,便于大家一起沟通和学习。

由于本人英文水平有限,部分字词句的拿捏可能不太到位,希望各位朋友给出宝贵意见哈

概念

Selenium通过命令进行驱动。Selenium可归纳为三种―风格‖:动作、辅助和断

言。每一个命令调用就是下表中的一行。

命令 目标 值

(Actions)

(Actions)

((AAccttiioonnss)) ‖ ‖ ‖

动作 命令一般用于操作应用程序的状态。它们通过如点击链接和选

择选项‖的方式进行工作。如果一个动作执行失败,或是有错误,当前的测试将

会停止执行。

‖ ‖ ,‖ ‖

许多动作可以被包含后缀并等待的方式进行调用,例如 点击并等待。这个后

缀告知Selenium,该命令将使浏览器向服务器产生一个请求,并使得Selenium

等待加载一个新的页面。

(Accessors)

(Accessors)

辅助((AAcccceessssoorrss))用于检查应用程序的状态并将结果存储在变量中。例

如‖storeTitle‖。它们同样可用于自动生成断言。

(Assertions)

(Assertions)

断言((AAsssseerrttiioonnss))类似于辅助,但它们可以验证应用程序的状态是否同所期望的

‖ X‖ ‖ ‖

相一致。例如包括确认页面标题为 和验证该复选框是否被勾选。

所有的Selenium断言可以被用于三种模式:‖assert‖,―verify‖,和‖waitfor‖。例如,

‖assertText‖ ‖verifyText‖ ‖waitforText‖ ‖assert‖

你可以 , ,及 。当 失败时,该测试将

终止。当‖verify‖失败时,该测试将继续执行,并将错误记入日志。这就允许了

通过单条‖assert‖确保应用程序在正确的页面上,而通过一系列的‖verify‖断言测

试表单上的区域值,标签等。

―waitfor‖命令用于等待某些条件变为真可用于( Ajax应用程序的测试。如果该条)

件已经为真,他们将立即成功执行。反之,如果该条件不为真,则将失败并暂停

测试,直到超过当前所设定的超时时间(参照后面的setTimeout动作)。

(ElementLocators)

(ElementLocators)

元素定位器((EElleemmeennttLLooccaattoorrss))告诉Selenium是向HTML中的哪一个元素发送命

令。许多命令需要一个如‖target‖属性的元素定位器。这其中包括‖elementId‖

和‖[0].element‖。在接下来的部分将更详细的描述它们。

----------------------- Page 2-----------------------

(Patterns)

(Patterns)

式样((PPaatttteerrnnss))由于多种因素被使用着,如指定一个输入域的期望值,或识别一

个选择选项。Selenium支持许多类型的式样,其中包括正则表达式,所有这些将

在接下来的章节中进行更详细的描述。

定义一个类用于运行Selenium命令。

(ElementLocators)

(ElementLocators)

元素定位器((EElleemmeennttLLooccaattoorrss))

元素定位器(ElementLocators)告诉Selenium是向HTML中的哪一个元素发送命

令。一个定位器的格式如下:

locatorType=argument

我们支持如下写法用于定位元素:

·identifier=id:根据指定的@id属性选择元素。如果没有匹配的值,则选择

第一个@name属性为id的元素。(参照后面)

·id=id:根据指定的@id属性选择元素。

·name=name:选择第一个根据指定的@name所查找到的元素。

〇 username

〇 name=username

这里的name可以作为可选项跟在一个或多个元素过滤器的后面,通过空格进行

分隔。如果没有指定过滤类型,则假定为value。

〇 name=flavourvalue=chocolate

·dom=javascriptExpression:通过检测指定字符串查找元素。这使得你可以通

过JavaScript贯穿HTML文档对象。注意在这个字符串中返回值不是必须的;

仅仅只需要确保这条语句是你块中的最后一条。

〇 dom=[´myForm´].myDropdown

〇 dom=[56]

〇 dom=functionfoo(){[1];};foo(); ·xpath=xpathExpression:通过XPath表达式定位元素。

〇 xpath=//img[@alt=´Theimagealttext´]

〇 xpath=//table[@id=table1]//tr[4]/td[2]´ ´

〇 xpath=//a[contains(@href, #id1)]´ ´

〇 xpath=//a[contains(@href,´#id1´)]/@class

〇 xpath=(//table[@class=´stylee´])//th[text()=´theHeaderText´]/../

td

´ ´ ´ ´

〇 xpath=//input[@name=name2 and@value=yes]

〇 xpath=//*[text()=″right″]

·link=textPattern:选择所包含的文字匹配指定式样的链接(锚)。

〇 link=Thelinktext

·css=cssSelectorSyntax:通过css选择器选择元素。请查询CSS2选择器,

CSS3选择器以获得更多信息。在下载下来的seleniumcorepackage中的

seleniumtestsuite里的TestCssLocatorstest,你同样可以查看到使用例

子。

〇 css=a[href=″#id3″]

----------------------- Page 3-----------------------

〇 css=span#firstChid+span

当前css选择过滤器支持所有的css1,css2,css3,除了css3中一些虚拟类

(:nth-of-type,:nth-last-of-type,:first-of-type,:last-of-type,:only-of

-type,:visited,:hover,:active,:focus,:indeterminate)以及虚拟元素

(::first-line,::first-letter,::selection,::before,::after)。

如果没有一个显式的前缀,Selenium使用以下默认写法:

·dom,用于开头为″document.″的定位器

·xpath,用于开头为″//″的定位器

·identifier,其他

元素过滤器(ElementFilters)

元素过滤器可以同选择器一起使用,从一堆候选元素中进行筛选。它们当前仅使

用于‘name‘元素选择器。

过滤器看起来更像是选择器,也就是:

filterType=argument

所支持的元素过滤器为:

value

value vvaalluuee=valuePattern

匹配元素时基于它们的值进行匹配。这在对一堆相似命名的关联按钮的筛

选中显得尤其有用。

index

index

iinnddeexx=index

( 0 )

选择单个元素基于其在列表中的位置从 开始。

字符串匹配式样

有各种各样的式样语法可用于匹配字符串值:

·glob:pattern:用″glob″去匹配一个字符串。″Glob″是一种用于命令行shells

glob ,″*″

的代表性的有限正则表达式语法。在一个 式样中 代表任意序列字符集,

而″?″则代表任意单个字符。Glob式样匹配整个字符串。

·regexp:regexp:使用正则表达式匹配字符串。可使用所有的JavaScript正则

表达式。

如果没有指定式样前缀,Selenium假定其为″glob″式样。

SeleniumActions

addLocationStrategy(strategyName,functionDefinition)

addLocationStrategy(strategyName,functionDefinition)

aaddddLLooccaattiioonnSSttrraatteeggyy((ssttrraatteeggyyNNaammee,,ffuunnccttiioonnDDeeffiinniittiioonn))

为selenium定义一个新的函数用于定位页面上的元素。例如,如果你定义了

一个方法″foo″,并运行了click(″foo=blah″),我们将运行你的函数,传递给你字

----------------------- Page 4-----------------------

符串″blah″,并点击该函数所返回的元素,如果返回为null,则抛出一个″Element

notfound″的错误。我们将给该函数传递三个参数。

·locator:用户传递过来的字符串

·inWindow:当前所选中的窗体

·inDocument:当前所选中的文档

如果未找到相应的元素,则函数必须返回一个null。

参数:

·strategyName–定义的方法名;只能使用字母[a-zA-Z],不能包含空格

或其他标点符号。

·functionDefinition–在JavaScript函数中的一个定义body的字符串。

如:mentById(locator);

addSelection(locator,optioLocator)

为通过使用选择定位器,在一个可多选元素中所选择的集合添加一个 selection。@查看#doSelect关于选择定位器的细节。

参数:

·locator–用于指定一个多选框的元素定位器

·optionLocator–一个选择定位器(默认为标签)

allowNativeXpath(allow)

指定Selenium是否使用XPath的本地浏览执行(如果有可用的本地版本);如果传

递的值为″false″,我们将使用pure-JavaScriptxpath库。使用pure-JSxpath库可以

提高xpath元素定位器在不同浏览器中的一致性,但其执行速度将大大低于本地

执行。

参数:

·allow–Boolean,true意味着我们更愿意使用本地XPath;false则意味

着我们将只使用JSXPath

altKeyDown()

按下alt键并保持其按下状态,直到doAltUp()被调用或一个新的页面被加载。

altKeyUp()

释放alt键

answerOnNextPrompt(answer)

通知Selenium返回下一次JavaScriptprompt[()]所指定的回

答字符串。

参数:

·answer–对弹出的提示所给与的回答

assignId(locator,identifier)

″id″ ID

临时为指定元素设定一个 属性,使你可以在将来使用其 ,以代替缓慢且

XPath ID

更复杂的 。该 将在页面重载后消失。

----------------------- Page 5-----------------------

参数:

·locator–指向某个元素的元素定位器

·identifier– 为指定元素作为ID使用的字符串

break()

暂停当前正在进行的测试,并等待用户按下继续按钮。这个命令对于调试非常

有用,但使用时要特别小心,因为他将强制暂停自动化测试,直到用户手动操

作。

check(locator)

勾选一个关联性按钮(checkbox/radio)

参数:

·locator–一个元素定位器

chooseCancelOnNextConfirmation()

默认情况下,Selenium的重载m()函数将返回true,等同于用

户手动点击OK;执行该命令后,下一次调用confirm()将返回false,等同于用

户手动点击了Cancel。Selenium对后来的确认动作将继续使用默认行为,自

动返回true(OK),除非/直到你为每个确认动作明确的调用此命令。

chooseOkOnNextConfirmation()

撤销调用chooseCancelOnNextConfirmation的效果。注意,Selenium的重载

m()函数通常将自动返回true,等同于用户手动点击OK,因此

你没有必要使用此命令,除非由于某种原因使你在下一次确认动作前不得不改

变你先前的想法。在任意确认动作后,Selenium对后来的确认动作将继续使用

默认行为,自动返回true(OK),除非/直到你为每个确认动作明确的调用

chooseCancelOnNextConfirmation()。

click(locator)

点击一个链接、按钮、多选框或单选框。如果该点击事件导致了新的页面加载

(如同链接通常所作的),将调用waitForPageToLoad。

参数:

·locator-一个元素定位器

clickAt(locator,coordString)

点击一个链接、按钮、多选框或单选框。如果该点击事件导致了新的页面加载

(如同链接通常所作的),将调用waitForPageToLoad。

参数:

·locator-一个元素定位器

·coordString–指定由定位器返回的鼠标事件相关联的元素x,y坐标(也

就是–10,20)

close()

″ ″

模拟用户点击弹出窗体或表单标题栏上的关闭按钮。

----------------------- Page 6-----------------------

controlKeyDown()

按下control键并保持其按下状态,直到doControlUp()被调用或一个新的页

面被加载。

controlKeyUp() 释放control键

createCookie(nameValuePair,optionsString)

创建一个新的cookie,除非你清楚的指定该cookie的路径,否则其路径和域

将与当前测试的页面相同。

参数:

·nameValuePair–该cookie的名称和值,使用如下格式″name=value″

·optionsString–该cookie的选项。当前支持的选项包括‘path‘

‘max_age‘ optionsString ‖path=/path/,max_age=60‖

和 。 的格式为 。选项的顺

序无关紧要。

deleteCookie(name,path)

deleteCookie(name,path)

ddeelleetteeCCooookkiiee((nnaammee,,ppaatthh))

删除指定路径下的该名称cookie。

参数:

·name–被删除cookie的名称

·path–被删除cookie的路径属性

doubleClick(locator)

doubleClick(locator)

ddoouubblleeCClliicckk((llooccaattoorr))

双击一个链接、按钮、多选框或单选框。如果该双击事件导致了新的页面加载

(如同链接通常所作的),将调用waitForPageToLoad。

参数:

·locator-一个元素定位器

doubleClickAt(locator,coordString)

doubleClickAt(locator,coordString)

ddoouubblleeCClliicckkAAtt((llooccaattoorr,,ccoooorrddSSttrriinngg))

双击一个链接、按钮、多选框或单选框。如果该双击事件导致了新的页面加载

(如同链接通常所作的),将调用waitForPageToLoad。

参数:

·locator-一个元素定位器

·coordString–指定由定位器返回的鼠标事件相关联的元素x,y坐标(也

就是–10,20)

dragAndDrop(locator,movementsString)

dragAndDrop(locator,movementsString)

ddrraaggAAnnddDDrroopp((llooccaattoorr,,mmoovveemmeennttssSSttrriinngg))

拖动元素一定的距离并放下

参数:

·locator-一个元素定位器 ·movementsString–从当前位置到指定位置的像素偏移量,如,‖+70,-300‖

----------------------- Page 7-----------------------

dragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinatio

dragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinatio

ddrraaggAAnnddDDrrooppTTooOObbjjeecctt((llooccaattoorrOOffOObbjjeeccttTTooBBeeDDrraaggggeedd,,llooccaattoorrOOffDDrraaggDDeessttiinnaattiioo

nObject)

nObject)

nnOObbjjeecctt))

拖动元素到另一元素

参数:

·locatorOfObjectToBeDragged–被拖动的元素

·locatorOfDragDestinationObject–被拖动的元素将拖向的元素的坐标(如,

其最中心像素)

Dragdrop(locator,movementsString)

Dragdrop(locator,movementsString)

DDrraaggddrroopp((llooccaattoorr,,mmoovveemmeennttssSSttrriinngg))

不建议–用dragAndDrop代替

参数:

·locator-一个元素定位器

·movementsString–从当前位置到指定位置的像素偏移量,如,‖+70,-300‖

Echo(message)

Echo(message)

EEcchhoo((mmeessssaaggee))

打印指定消息到你的Selenese表的第三个表单元。有利于调试。

参数:

·message–要打印的消息

fireEvent(locator,eventName)

fireEvent(locator,eventName)

ffiirreeEEvveenntt((llooccaattoorr,,eevveennttNNaammee))

明确地模拟一个事件,触发‖onevent‖响应句柄。

参数:

·locator-一个元素定位器

eventName– ‖focus‖ ‖blur‖

· 事件名,如 或

getSpeed()

getSpeed()

ggeettSSppeeeedd(()) 获取执行速度也就是,获取接下来的每一个( selenium操作的延迟豪秒长度。)

0 setSpeed

默认情况下,是不会有延迟的。也就是延迟为 毫秒。参照 。

goBack()

goBack()

ggooBBaacckk(())

模拟用户点击其浏览器上的‖back‖按钮

highlight(locator)

highlight(locator)

hhiigghhlliigghhtt((llooccaattoorr))

暂时将指定元素的背景色改变为黄色。有利于调试。

参数:

·locator-一个元素定位器

keyDown(locator,keySequence)

模拟用户按下一个键除了还没释放的( )

参数:

·locator-一个元素定位器

·keySequence–可以是个字符串(―‖后跟随要被按下键的数字键码,通常

是该键的ASCII值),或是个单字符,如―w―,―119―。

----------------------- Page 8-----------------------

keyPress(locator,keySequence)

keyPress(locator,keySequence)

kkeeyyPPrreessss((llooccaattoorr,,kkeeyySSeeqquueennccee))

模拟用户按下和释放一个键。

参数:

·locator-一个元素定位器

·keySequence–可以是个字符串(―‖后跟随要被按下键的数字键码,通常

是该键的ASCII值),或是个单字符,如―w―,―119―。

keyUp(locator,keySequence)

keyUp(locator,keySequence)

kkeeyyUUpp((llooccaattoorr,,kkeeyySSeeqquueennccee))

模拟用户释放一个键。

参数:

·locator-一个元素定位器

―‖

·keySequence–可以是个字符串( 后跟随要被按下键的数字键码,通常

是该键的ASCII值),或是个单字符,如―w―,―119―。

metaKeyDown()

metaKeyDown()

mmeettaaKKeeyyDDoowwnn(())

按下meta键并保持其按下状态,直到doMetaUp()被调用或一个新的页面被加

载。

metaKeyUp()

metaKeyUp()

mmeettaaKKeeyyUUpp(())

释放meta键

mouseDown(locator)

mouseDown(locator)

mmoouusseeDDoowwnn((llooccaattoorr))

模拟用户在指定元素上按下鼠标按钮除了还没释放的。(

参数:

·locator-一个元素定位器

mouseDownAt(locator,coordString)

mouseDownAt(locator,coordString)

mmoouusseeDDoowwnnAAtt((llooccaattoorr,,ccoooorrddSSttrriinngg))

模拟用户在指定位置上按下鼠标按钮除了还没释放的。(

参数:

·locator-一个元素定位器

·coordString-指定由定位器返回的鼠标事件相关联的元素x,y坐标(也就

是–10,20)

mouseMove(locator)

mouseMove(locator)

mmoouusseeMMoovvee((llooccaattoorr))

模拟用户在指定元素上按下鼠标按钮除了还没释放的。(

参数:

·locator-一个元素定位器

mouseMoveAt(locator,coordString)

mouseMoveAt(locator,coordString)

mmoouusseeMMoovveeAAtt((llooccaattoorr,,ccoooorrddSSttrriinngg))

模拟用户在指定位置上按下鼠标按钮除了还没释放的。(

参数:

·locator-一个元素定位器

·coordString-指定由定位器返回的鼠标事件相关联的元素x,y坐标(也就

是–10,20)

----------------------- Page 9-----------------------

)

)

)

)

mouseOut(locator)

mouseOut(locator)

mmoouusseeOOuutt((llooccaattoorr))

模拟用户从指定元素上移开鼠标指针。

参数:

·locator-一个元素定位器

mouseOver(locator)

mouseOver(locator)

mmoouusseeOOvveerr((llooccaattoorr))

模拟用户鼠标滑过指定元素。

参数:

·locator-一个元素定位器

mouseUp(locator)

mouseUp(locator)

mmoouusseeUUpp((llooccaattoorr))

模拟用户在指定元素上释放鼠标按钮时发生的事件(也就是,停止保持按钮按

下)。

参数:

·locator-一个元素定位器

mouseUpAt(locator,coordString)

mouseUpAt(locator,coordString)

mmoouusseeUUppAAtt((llooccaattoorr,,ccoooorrddSSttrriinngg))

模拟用户在指定元素上释放鼠标按钮时发生的事件也就是,停止保持按钮按(

下。)

参数:

·locator-一个元素定位器

·coordString-指定由定位器返回的鼠标事件相关联的元素x,y坐标(也就

是–10,20)

open(url)

open(url)

ooppeenn((uurrll))

URL URLs ‖open‖

在测试框架中打开一个 ,可以为相对和绝对 。 ‖ ‖

面加载完成才继续进行,也就是明确的指名并等待后缀。注意:由于浏览器

安全策略(相同来源方针)这个URL必须和当前运行的HTML在相同的域。如

果你不得不在另一个域打开一个URL,则需要用Selenium服务在另一个域去

打开一个新的浏览器会话。

参数:

命令将等待页 ·url–要打开的URL,可以为空

·windowID–要选择窗体的JavaScriptwindowID

pause(waitTime)

等待指定时间(以毫秒为单位)

参数:

·waitTime–要睡眠的时间(以毫秒为单位)

refresh()

模拟用户点击浏览器上的‖Refresh‖按钮。

removeAllSelections(locator)

removeAllSelections(locator)

rreemmoovveeAAllllSSeelleeccttiioonnss((llooccaattoorr))

----------------------- Page 10-----------------------

取消所有可多选元素的选择状态。

参数:

·locator–一个用于识别多选框的元素定位器

removeSelection(locator,optionLocator)

removeSelection(locator,optionLocator)

rreemmoovveeSSeelleeccttiioonn((llooccaattoorr,,ooppttiioonnLLooccaattoorr))

从用选项定位器进行筛选的多选元素的筛选集合中移除一个集合。@在

#doSelect中查看选项定位器的详细信息。

参数:

·locator–一个用于识别多选框的元素定位器

·optionLocator–一个选项定位器(默认为一个标签)

runScript(script)

runScript(script)

rruunnSSccrriipptt((ssccrriipptt))

在当前测试窗体的body中创建一个新的‖script‖标签,并在body中添加指定的

命令文本。用这种方式执行脚本,通常可以比使用Selenium的‖getEval‖方式更

简易的进行调试。要注意的是,由这种脚本标签所抛出的异常不受Selenium管

理,因此当该脚本有可能会抛出异常时,你需要用try/catch块将其包含起来。

·script–需要执行的JavaScript片段

select(selectLocator,optionLocator)

select(selectLocator,optionLocator)

sseelleecctt((sseelleeccttLLooccaattoorr,,ooppttiioonnLLooccaattoorr))

用选项选择器从一个下拉框中选择一个选项。

选项选择器提供不同的方法从一个HTML选择元素中识别选项。(例如:选择 一个指定选项,或断言一个满足某种规范的选项)有许多种形式的选择选项定位

器。

·label=labelPattern:基于其标签匹配选项,如其有效文本。(默认)

〇 label=regexp:^[Oo]ther

·value=valuePattern:基于其值匹配选项。

〇 value=other

·id=id:基于其id匹配选项。

〇 id=option1

·index=index:基于其索引匹配选项(从0开始)。

〇index=2

如果没有为选项定位器提供前缀,则默认匹配为标签行为。

参数:

·selectLocator–一个用于识别下拉菜单的元素定位器

·optionLocator–一个选项选择器默认为标签( )

selectFrame(locator)

selectFrame(locator)

sseelleeccttFFrraammee((llooccaattoorr))

在当前窗体中选择一个框架你可以多次调用这个命令用于选择嵌套框架。要(

选择父框架,用‖relative=parent‖作为定位器;要选择顶级框架,用‖relative=top‖。

你同样可以通过基于0的索引号选择框架;用‖index=0‖选择第一个框架,或者

用‖index=2‖选择第三个框架。

你同样可以直接使用一个DOM表达式来识别你要的框架。像这样:

dom=frames[―main‖].frames[―subframe‖]

----------------------- Page 11-----------------------

参数:

·locator–一个用于识别框架或子框架的元素定位器

selectWindow(windowID)

selectWindow(windowID)

sseelleeccttWWiinnddooww((wwiinnddoowwIIDD))

选择一个弹出窗体;一旦一个弹出窗体被选中,所有的命令将指向该窗体。要

再次选择主窗体,将对象设定为null。

window JavaScript ‖name‖ window (

注意: 的内在 的 属性和被给与的 文档通常是

) ‖title‖

你实际看到的,作为最终用户,在窗体的标题栏上的 之间有一个很大的 不同。‖name‖对于最终用户通常是不可见的;它是作为第二个参

数‖windowName‖传递给JavaScript函数

(url,windowName,windowFeatures,replaceFlag)( Selenium )

被 截取。

)

Selenium有许多方法用于查找被‖windowID‖参数所提及的窗体对象。

1.) 如果windowID为null,(或是字符串‖null‖),则假定为用户是提交给由浏览

器最初实例化的窗体。

2.) 如果‖windowID‖参数的值是当前应用窗体的一个JavaScript变量名,则假

定该变量包含一个由调用()函数所产生的返回值。

3.) 另外,seleniumlooksinahashitmaintainsthatmapsstringnamestowindow

―names‖.

4.) 如果失败了,我们将循环遍历所有已知的窗体以便试图找出适合的‖title‖。

由于‖title‖不是必须唯一,因此可能会产生一些非期望的行为。

如果很难判定你所要操作的窗体的名称,你可以查看为识别通过

( Selenium ) selenium

被 截取所打开窗体的名称时所产生的

息。在每个窗体被打开时,你通常可以看到如下信息:

debug:llintercepted;windowID(你可以用于selectWindow())is

―myNewWindow‖

在某些情况,Selenium会无法截取的调用(例如,如果该调用发生

在‖onLoad‖事件之间或之前)。(该BUG标记为SEL-339)。在这些情况,你可

Selenium openWindow Selenium

以使用 的 命令强制 去通告打开窗体的名称, 使用一个空(blank)url,像这样:openWindow(―‖,‖myFunnyWindow‖)。

参数:

·windowID–要选择窗体的JavaScript窗体ID

setBrowserLogLevel(logLevel)

setBrowserLogLevel(logLevel)

sseettBBrroowwsseerrLLooggLLeevveell((llooggLLeevveell))

设定浏览器方日志信息级别;在此级别之下的日志信息将被丢弃。有效的日志

级别字符串有:‖debug‖,‖info‖,‖warn‖,‖error‖,或‖off‖。要查看浏览器日

志,在GUI模式下打开日志窗口,或在SeleniumRC中将浏览器端记入日志设

定为enable。

参数:

·logLevel–以下之一:‖debug‖,‖info‖,‖warn‖,‖error‖,或‖off‖

setCursorPosition(locator,position)

setCursorPosition(locator,position)

sseettCCuurrssoorrPPoossiittiioonn((llooccaattoorr,,ppoossiittiioonn))

----------------------- Page 12-----------------------

将文本光标移动到被给与的输入元素或文本域的指定位置。若指定元素不是一

个可输入元素或文本域,该方法将失败。

参数:

日志消

·locator–一个指向输入元素或文本域的元素定位器

·position–该范围的光标数字位置;position如果设定为0,则为该范围域

的最开始位置,你同样可以将光标设定为-1以移动到该范围域的最末端。

setMouseSpeed(pixels)

setMouseSpeed(pixels)

sseettMMoouusseeSSppeeeedd((ppiixxeellss))

配置在dragAndDrop命令执行期间,‖mousemove‖事件时的像素数字(默认为

10)。

0

将这个值设定为 ,意味着我们将向从开始位置到结束位置的每一个像素发送

一个‖mousemove‖事件;那将会非常缓慢,且可能导致某些浏览器将该

JavaScript强制设定为超时。

如果该鼠标速度大于两个拖动对象间的距离,我们将只向开始位置和结束位置

发送一个‖mousemove‖事件。

参数:

·pixels–两个―mousemove‖事件间的像素间隔

setSpeed(value)

setSpeed(value)

sseettSSppeeeedd((vvaalluuee))

设定执行速度(也就是说,设定将要执行的每条selenium操作间的毫秒延迟间

隔长度)。默认情况下,没有延迟,也就是延迟为0毫秒。

参数:

·value–在操作后的暂停毫秒数

setTimeout(timeout)

setTimeout(timeout)

sseettTTiimmeeoouutt((ttiimmeeoouutt))

指定Selenium等待动作完成的等待时间。

‖open‖ ‖waitFor*‖

需要等待的动作包括 和 。

默认超时为30秒。

参数:

·timeout–以毫秒为单位,超过后该命令将返回错误。

shiftKeyDown()

shiftKeyDown()

sshhiiffttKKeeyyDDoowwnn(())

按下shift键,并保持按下状态,直到doShiftUp()被调用或一个新的页面被加载。

shiftKeyUp()

shiftKeyUp() sshhiiffttKKeeyyUUpp(())

释放shift键。

store(expression,variableName)

store(expression,variableName)

ssttoorree((eexxpprreessssiioonn,,vvaarriiaabblleeNNaammee))

该命令是存储表达式的同义词。

参数:

·expression–要存储的值

·variableName–用于存储结果的变量名

----------------------- Page 13-----------------------

submit(formLocator)

submit(formLocator)

ssuubbmmiitt((ffoorrmmLLooccaattoorr))

提交给指定表单。这对于没有提交按钮的表单特别有用,如,简单输入

的‖search‖表单。

参数:

·formLocator–一个指向你要提交的表单的元素定位器

type(locator,value)

type(locator,value)

ttyyppee((llooccaattoorr,,vvaalluuee))

设定一个输入域的值,如同你输入进去一样。

其同样可用于单选框,多选框等。在这些情况,value应为选项选择时的值,

而不是有效文本。

参数:

·locator–一个元素定位器

·value–要录入的值

typeKeys(locator,value)

typeKeys(locator,value)

ttyyppeeKKeeyyss((llooccaattoorr,,vvaalluuee))

模拟在指定元素上的按键事件,如同是你一个键一个键敲上去一样。

比起为指定字符串的每个字符调用keyDown,keyUp,keyPress方法,这个函数要

方便的多;其对于需要明确按键事件的动态UI组件(如自动完成的combobox)

同样有用。

不同于简单的‖敲打‖命令——将指定值直接强制赋给页面,该指令可能有,也

可能没有任何效果,即时在敲打按钮通常会有效的情况下。例如,如果你在一

个表单元素上使用‖typeKeys‖,你可能可以,也可能不可以看到看到你在该区

域录入的效果。

在有些时候,你可能不得不使用简单的‖type‖命令去设定域的值,然后

用‖typeKeys‖命令去发送按键事件以告知你所录入的值。

参数:

·locator–一个元素定位器

·value–要录入的值

uncheck(locator)

uncheck(locator)

uunncchheecckk((llooccaattoorr))

取消选中一个关联性按钮(checkbox/radio)

参数:

·locator–一个元素定位器

waitForCondition(script,timeout)

waitForCondition(script,timeout)

wwaaiittFFoorrCCoonnddiittiioonn((ssccrriipptt,,ttiimmeeoouutt))

重复执行指定JavaScript片段直到其值为‖true‖。

该片段可以有多行,但只考虑其最后一行的结果。

要注意:默认情况下,该片段会在运行者的测试窗体运行,而不是在你的应用

程序窗体。要得到你的应用程序窗体,你可以使用JavaScript片段

rentWindow(),然后让你的JavaScript在那运行。

参数:

·script–要运行的JavaScript片段

----------------------- Page 14-----------------------

·timeout–以毫秒为单位,超过后该命令将返回错误。

waitForFrameToLoad(frameAddress,timeout)

waitForFrameToLoad(frameAddress,timeout)

wwaaiittFFoorrFFrraammeeTTooLLooaadd((ffrraammeeAAddddrreessss,,ttiimmeeoouutt))

等待一个新的框架加载。

Selenium通常会持续跟踪新页面和框架的加载状态,当其第一次注意到页面加

载完成,将会设定一个‖newPageLoaded‖标志。

查看waitForPageToLoad获得更多信息。

参数:

·frameAddress–服务端的框架地址

·timeout-以毫秒为单位,超过后该命令将返回错误。

waitForPageToLoad(timeout)

waitForPageToLoad(timeout)

wwaaiittFFoorrPPaaggeeTTooLLooaadd((ttiimmeeoouutt))

等待一个新的页面加载。

你可以使用此命令以代替‖AndWait‖后 ‖clickAndWait‖ ‖selectAndWait‖ ‖typeAndWait‖ ( JSAPI )

缀, , , 等仅在 中有效。

Selenium通常会持续跟踪新页面的加载状态,当其第一次注意到页面加载完

成,将会设定一个‖newPageLoaded‖标志。当此标志变为false后再运行其他

Selenium命令。因此,如果你要等待一个页面加载完成,当一个Selenium命令

导致一个页面加载后就需立即开始等待。

参数:

·timeout-以毫秒为单位,超过后该命令将返回错误。

waitForPopUp(windowID,timeout)

waitForPopUp(windowID,timeout)

wwaaiittFFoorrPPooppUUpp((wwiinnddoowwIIDD,,ttiimmeeoouutt))

等待一个弹出窗体出现和加载。

参数:

·windowID–将出现窗体的JavaScript窗体ID

·timeout-以毫秒为单位,超过后该命令将返回错误。

windowFocus()

windowFocus()

wwiinnddoowwFFooccuuss(())

将焦点赋给当前选择窗体

windowMaximize()

windowMaximize()

wwiinnddoowwMMaaxxiimmiizzee(())

重新设定当前窗体大小为全屏

----------------------- Page 15-----------------------

SeleniumAccessors

SeleniumAccessors

SSeelleenniiuummAAcccceessssoorrss

assertErrorOnNext(message)

assertErrorOnNext(message)

aasssseerrttEErrrroorrOOnnNNeexxtt((mmeessssaaggee))

告诉Selenium在下一个命令执行时期待有错误。

参数:

·message–我们所期望的错误信息。如果出现不正确的错误信息,该命令

将失败。

同断言相关联,自动生成:

·assertNotErrorOnNext(message) ·verifyErrorOnNext(message)

·verifyNotErrorOnNext(message)

·waitForErrorOnNext(message)

·waitForNotErrorOnNext(message)

assertFailureOnNext(message)

assertFailureOnNext(message)

aasssseerrttFFaaiilluurreeOOnnNNeexxtt((mmeessssaaggee))

告诉Selenium在下一个命令执行时期待有失败。

参数:

·message–我们所期望的失败信息。如果出现不正确的失败信息,该命令

将失败。

同断言相关联,自动生成:

·assertNotFailureOnNext(message)

·verifyFailureOnNext(message)

·verifyNotFailureOnNext(message)

·waitForFailureOnNext(message)

·waitForNotFailureOnNext(message)

assertSelected(selectLocator,optionLocator)

assertSelected(selectLocator,optionLocator)

aasssseerrttSSeelleecctteedd((sseelleeccttLLooccaattoorr,,ooppttiioonnLLooccaattoorr))

验证从下拉框中选择的选项满足选项指定器。

注意,不赞成使用该命令;你应该使用assertSelectedLabel,assertSelectedValue,

assertSelectedIndex,或assertSelectedId进行代替。

查看选择命令获取更多关于选择定位器的信息。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

optionLocator– ( ‖John

· 一个选项定位器,代表性的就是一个选项标签如

Smith‖)

同断言相关联,自动生成:

·assertNotSelected(selectLocator,optionLocator)

·verifySelected(selectLocator,optionLocator)

·verifyNotSelected(selectLocator,optionLocator)

·waitForSelected(selectLocator,optionLocator)

----------------------- Page 16-----------------------

·waitForNotSelected(selectLocator,optionLocator)

storeAlert(variableName)

storeAlert(variableName) ssttoorreeAAlleerrtt((vvaarriiaabblleeNNaammee))

返回在之前动作所产生的JavaScript警告消息,如果没有警告将失败。

得到一个警告同手动点击OK有着相同的效果。如果产生了一个警告,而你并

不去得到/验证它,那么下一个Selenium动作将失败。

注意:在Selenium中,JavaScript警告将不会弹出一个可见的警告对话框。

注意:Selenium不支持在页面的onload()事件句柄中所产生的JavaScript警告。

在这种情况下,将会生成一个可见的对话框,Selenium将被悬停直到手动点击

OK。

Returns:

Returns:

RReettuurrnnss::

最近JavaScript的警告消息

同断言相关联,自动生成:

·assertAlert(pattern)

·assertNotAlert(pattern)

·verifyAlert(pattern)

·verifyNotAlert(pattern)

·waitForAlert(pattern)

·waitForNotAlert(pattern)

storeAllButtons(variableName)

返回页面上所有按钮的ID集。

如果被给与的按钮没有ID,则将在结果数组中显示为‖‖。

Returns:

Returns:

RReettuurrnnss::

页面上所有按钮的ID集。

同断言相关联,自动生成:

·assertAllButtons(pattern)

·assertNotAllButtons(pattern)

·verifyAllButtons(pattern)

·verifyNotAllButtons(pattern)

·waitForAllButtons(pattern)

·waitForNotAllButtons(pattern)

storeAllFields(variableName)

返回页面上所有可输入域的ID集。

如果被给与的域没有ID,则将在结果数组中显示为‖‖

Returns: Returns:

RReettuurrnnss::

页面上所有域的ID集。

----------------------- Page 17-----------------------

同断言相关联,自动生成:

·assertAllFields(pattern)

·assertNotAllFields(pattern)

·verifyAllFields(pattern)

·verifyNotAllFields(pattern)

·waitForAllFields(pattern)

·waitForNotAllFields(pattern)

storeAllLinks(variableName)

storeAllLinks(variableName)

ssttoorreeAAllllLLiinnkkss((vvaarriiaabblleeNNaammee))

返回页面上所有链接的ID集。

如果被给与的链接没有ID,则将在结果数组中显示为‖‖

Returns:

Returns:

RReettuurrnnss::

页面上所有链接的ID集。

同断言相关联,自动生成:

·assertAllLinks(pattern)

·assertNotAllLinks(pattern)

·verifyAllLinks(pattern)

·verifyNotAllLinks(pattern)

·waitForAllLinks(pattern)

·waitForNotAllLinks(pattern)

storeAllWindowIds(variableName)

storeAllWindowIds(variableName)

ssttoorreeAAllllWWiinnddoowwIIddss((vvaarriiaabblleeNNaammee))

返回所有浏览器已知的窗体ID集。

Returns:

Returns:

RReettuurrnnss::

ID

所有浏览器已知的窗体 集。

同断言相关联,自动生成: ·assertAllWindowIds(pattern)

·assertNotAllWindowIds(pattern)

·verifyAllWindowIds(pattern)

·verifyNotAllWindowIds(pattern)

·waitForAllWindowIds(pattern)

·waitForNotAllWindowIds(pattern)

storeAllWindowNames(variableName)

storeAllWindowNames(variableName)

ssttoorreeAAllllWWiinnddoowwNNaammeess((vvaarriiaabblleeNNaammee))

返回所有浏览器已知的窗体名称集。

Returns:

Returns:

RReettuurrnnss::

所有浏览器已知的窗体名称集。

同断言相关联,自动生成:

·assertAllWindowNames(pattern)

·assertNotAllWindowNames(pattern)

----------------------- Page 18-----------------------

·verifyAllWindowNames(pattern)

·verifyNotAllWindowNames(pattern)

·waitForAllWindowNames(pattern)

·waitForNotAllWindowNames(pattern)

storeAllWindowTitles(variableName)

storeAllWindowTitles(variableName)

ssttoorreeAAllllWWiinnddoowwTTiittlleess((vvaarriiaabblleeNNaammee))

返回所有浏览器已知的窗体标题集。

Returns:

Returns:

RReettuurrnnss::

所有浏览器已知的窗体标题集。

同断言相关联,自动生成:

·assertAllWindowTitles(pattern)

·assertNotAllWindowTitles(pattern)

·verifyAllWindowTitles(pattern)

·verifyNotAllWindowTitles(pattern)

·waitForAllWindowTitles(pattern)

·waitForNotAllWindowTitles(pattern)

storeAttribute(attributeLocator,variableName)

storeAttribute(attributeLocator,variableName)

ssttoorreeAAttttrriibbuuttee((aattttrriibbuutteeLLooccaattoorr,,vvaarriiaabblleeNNaammee))

获得一个元素属性值。

参数:

·attributeLocator–由@符号开头,后跟随属性名,如‖foo@bar‖

·variableName–用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

指定属性的值

同断言相关联,自动生成:

·assertAttribute(attributeLocator,pattern)

·assertNotAttribute(attributeLocator,pattern)

·verifyAttribute(attributeLocator,pattern)

·verifyNotAttribute(attributeLocator,pattern)

·waitForAttribute(attributeLocator,pattern)

·waitForNotAttribute(attributeLocator,pattern)

storeAttributeFromAllWindows(attributeName,variableName)

storeAttributeFromAllWindows(attributeName,variableName)

ssttoorreeAAttttrriibbuutteeFFrroommAAllllWWiinnddoowwss((aattttrriibbuutteeNNaammee,,vvaarriiaabblleeNNaammee))

返回所有已知窗体的某些属性的每一个实例。

参数:

·attributeName–窗体某属性的名称

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

从所有已知窗体获得的该属性的数值集。

同断言相关联,自动生成:

·assertAttributeFromAllWindows(attributeName,pattern)

----------------------- Page 19-----------------------

·assertNotAttributeFromAllWindows(attributeName,pattern)

·verifyAttributeFromAllWindows(attributeName,pattern)

·verifyNotAttributeFromAllWindows(attributeName,pattern)

·waitForAttributeFromAllWindows(attributeName,pattern)

·waitForNotAttributeFromAllWindows(attributeName,pattern)

storeBodyText(variableName) storeBodyText(variableName)

ssttoorreeBBooddyyTTeexxtt((vvaarriiaabblleeNNaammee))

获取页面上所有文本。

Returns:

Returns:

RReettuurrnnss::

页面上所有文本

同断言相关联,自动生成:

·assertBodyText(pattern)

·assertNotBodyText(pattern)

·verifyBodyText(pattern)

·verifyNotBodyText(pattern)

·waitForBodyText(pattern)

·waitForNotBodyText(pattern)

storeConfirmation(variableName)

storeConfirmation(variableName)

ssttoorreeCCoonnffiirrmmaattiioonn((vvaarriiaabblleeNNaammee))

返回在之前动作所产生的JavaScript确认消息。

默认情况下,confirm函数将返回true,同手动点击OK有着相同的效果。这可

以通过之前执行chooseCancelOnNextConfirmation命令改变。如果产生了一个

确认,而你并不去得到验证它,那么下一个/ Selenium动作将失败。

注意:在Selenium中,JavaScript确认将不会弹出一个可见的对话框。

注意:Selenium不支持在页面的onload()事件句柄中所产生的JavaScript警告。

在这种情况下,将会生成一个可见的对话框,Selenium将被悬停直到手动点击

OK。

Returns:

Returns:

RReettuurrnnss::

最近JavaScript的确认消息

同断言相关联,自动生成:

·assertConfirmation(pattern)

·assertNotConfirmation(pattern)

·verifyConfirmation(pattern)

·verifyNotConfirmation(pattern)

·waitForConfirmation(pattern)

·waitForNotConfirmation(pattern)

storeCookie(variableName)

storeCookie(variableName)

ssttoorreeCCooookkiiee((vvaarriiaabblleeNNaammee)) 返回当前测试下当前页面的所有cookies

Returns:

Returns:

RReettuurrnnss::

当前测试下当前页面的所有cookies

----------------------- Page 20-----------------------

同断言相关联,自动生成:

·assertCookie(pattern)

·assertNotCookie(pattern)

·verifyCookie(pattern)

·verifyNotCookie(pattern)

·waitForCookie(pattern)

·waitForNotCookie(pattern)

storeCursorPosition(locator,variableName)

storeCursorPosition(locator,variableName)

ssttoorreeCCuurrssoorrPPoossiittiioonn((llooccaattoorr,,vvaarriiaabblleeNNaammee))

返回所给与的输入元素或文本域的文本光标位置。

要注意,这并不在所有的浏览器中有效。

特别指出,如果光标/选择已经被JavaScript所清除,该命令将尝试返回光标所

在的最后位置,即使光标已经不在该页面。这被归档为SEL-243。

如果指定元素不是一个可输入元素或文本域,或没有光标在此元素上,该方法

将失败。

参数:

·locator–一个指向输入元素或文本域的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

在该域中的光标数字位置

同断言相关联,自动生成:

·assertCursorPosition(locator,pattern)

·assertNotCursorPosition(locator,pattern)

·verifyCursorPosition(locator,pattern)

·verifyNotCursorPosition(locator,pattern)

·waitForCursorPosition(locator,pattern)

·waitForNotCursorPosition(locator,pattern)

storeElementHeight(locator,variableName)

storeElementHeight(locator,variableName) ssttoorreeEElleemmeennttHHeeiigghhtt((llooccaattoorr,,vvaarriiaabblleeNNaammee))

返回元素的高度

参数:

·locator–一个指向元素的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

元素的高度

同断言相关联,自动生成:

·assertElementHeight(locator,pattern)

·assertNotElementHeight(locator,pattern)

·verifyElementHeight(locator,pattern)

·verifyNotElementHeight(locator,pattern)

----------------------- Page 21-----------------------

·waitForElementHeight(locator,pattern)

·waitForNotElementHeight(locator,pattern)

storeElementIndex(locator,variableName)

storeElementIndex(locator,variableName)

ssttoorreeEElleemmeennttIInnddeexx((llooccaattoorr,,vvaarriiaabblleeNNaammee))

获取元素相对于其父元素的索引(从0开始)。注释节点和空文本节点将被忽略。

参数:

·locator–一个指向元素的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

元素相对于其父元素的索引(从0开始)

同断言相关联,自动生成:

·assertElementIndex(locator,pattern)

·assertNotElementIndex(locator,pattern)

·verifyElementIndex(locator,pattern)

·verifyNotElementIndex(locator,pattern)

·waitForElementIndex(locator,pattern)

·waitForNotElementIndex(locator,pattern)

storeElementPositionLeft(locator,variableName)

storeElementPositionLeft(locator,variableName)

ssttoorreeEElleemmeennttPPoossiittiioonnLLeefftt((llooccaattoorr,,vvaarriiaabblleeNNaammee)) 返回元素的水平位置

参数:

·locator–一个指向元素的元素定位器或元素本身

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

到框架边缘的像素。

同断言相关联,自动生成:

·assertElementPositionLeft(locator,pattern)

·assertNotElementPositionLeft(locator,pattern)

·verifyElementPositionLeft(locator,pattern)

·verifyNotElementPositionLeft(locator,pattern)

·waitForElementPositionLeft(locator,pattern)

·waitForNotElementPositionLeft(locator,pattern)

storeElementPositionTop(locator,variableName)

storeElementPositionTop(locator,variableName)

ssttoorreeEElleemmeennttPPoossiittiioonnTToopp((llooccaattoorr,,vvaarriiaabblleeNNaammee))

返回元素的纵向位置

参数:

·locator–一个指向元素的元素定位器或元素本身

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

到框架边缘的像素。

同断言相关联,自动生成:

----------------------- Page 22-----------------------

·assertElementPositionTop(locator,pattern)

·assertNotElementPositionTop(locator,pattern)

·verifyElementPositionTop(locator,pattern)

·verifyNotElementPositionTop(locator,pattern)

·waitForElementPositionTop(locator,pattern)

·waitForNotElementPositionTop(locator,pattern)

storeElementWidth(locator,variableName)

storeElementWidth(locator,variableName)

ssttoorreeEElleemmeennttWWiiddtthh((llooccaattoorr,,vvaarriiaabblleeNNaammee))

返回元素的宽度 参数:

·locator–一个指向元素的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

元素的宽度(以像素为单位)

同断言相关联,自动生成:

·assertElementWidth(locator,pattern)

·assertNotElementWidth(locator,pattern)

·verifyElementWidth(locator,pattern)

·verifyNotElementWidth(locator,pattern)

·waitForElementWidth(locator,pattern)

·waitForNotElementWidth(locator,pattern)

storeEval(script,variableName)

storeEval(script,variableName)

ssttoorreeEEvvaall((ssccrriipptt,,vvaarriiaabblleeNNaammee))

获得指定JavaScript片段执行后的值。该片段可以有多行,但只返回最后一行

的值。要注意到,默认情况下,该片段将在‖selenium‖对象本身的上下文中运

行,因此其将提交给Selenium对象。用window将窗体提交给你的应用程序,

如:

mentById(‗foo‘)

如果你不得不在你的应用程序页面使用一个定位器提交一个单元素,你可以用

ement(―id=foo‖),这里‖id=foo‖就是你的定位器。

参数:

·script–要运行的JavaScript

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

片段执行后的值

同断言相关联,自动生成:

·assertEval(script,pattern)

·assertNotEval(script,pattern)

·verifyEval(script,pattern)

·verifyNotEval(script,pattern)

·waitForEval(script,pattern)

----------------------- Page 23-----------------------

·waitForNotEval(script,pattern)

storeExpression(expression,variableName)

storeExpression(expression,variableName)

ssttoorreeEExxpprreessssiioonn((eexxpprreessssiioonn,,vvaarriiaabblleeNNaammee))

返回指定表达式。

由于JavaScript的预处理机制使其显得非常有用。它可以用于生成如

assertExpression和waitForExpression命令。

参数:

·expression–要返回的值

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

通过的值

同断言相关联,自动生成:

·assertExpression(expression,pattern)

·assertNotExpression(expression,pattern)

·verifyExpression(expression,pattern)

·verifyNotExpression(expression,pattern)

·waitForExpression(expression,pattern)

·waitForNotExpression(expression,pattern)

storeHtmlSource(variableName)

storeHtmlSource(variableName)

ssttoorreeHHttmmllSSoouurrccee((vvaarriiaabblleeNNaammee))

返回‖html‖标签间的整个HTML源代码。

Returns:

Returns:

RReettuurrnnss::

整个HTML源代码

同断言相关联,自动生成:

·assertHtmlSource(pattern)

·assertNotHtmlSource(pattern)

·verifyHtmlSource(pattern)

·verifyNotHtmlSource(pattern)

·waitForHtmlSource(pattern)

·waitForNotHtmlSource(pattern)

storeLocation(variableName)

storeLocation(variableName)

ssttoorreeLLooccaattiioonn((vvaarriiaabblleeNNaammee)) 取得当前页面的绝对路径

Returns:

Returns:

RReettuurrnnss::

当前页面的绝对路径

同断言相关联,自动生成:

·assertLocation(pattern)

·assertNotLocation(pattern)

·verifyLocation(pattern)

·verifyNotLocation(pattern)

·waitForLocation(pattern)

----------------------- Page 24-----------------------

·waitForNotLocation(pattern)

storeMouseSpeed(variableName)

storeMouseSpeed(variableName)

ssttoorreeMMoouusseeSSppeeeedd((vvaarriiaabblleeNNaammee))

返回在dragAndDrop命令执行期间,‖mousemove‖事件时的像素数字默认为(

10)

Returns:

Returns:

RReettuurrnnss::

dragAndDrop命令执行期间,‖mousemove‖事件时的像素数字默认为( 10)

同断言相关联,自动生成:

·assertMouseSpeed(pattern)

·assertNotMouseSpeed(pattern)

·verifyMouseSpeed(pattern)

·verifyNotMouseSpeed(pattern)

·waitForMouseSpeed(pattern)

·waitForNotMouseSpeed(pattern)

storePrompt(variableName)

storePrompt(variableName)

ssttoorreePPrroommpptt((vvaarriiaabblleeNNaammee))

返回在之前动作所产生的JavaScript问题提示消息。

要成功挂起问题提示需要先运行answerOnNextPrompt命令。如果产生了一个

问题提示,而你并不去得到验证它,那么下一个/ Selenium动作将失败。

注意:在Selenium中,JavaScript确认将不会弹出一个可见的对话框。

注意:Selenium不支持在页面的onload()事件句柄中所产生的JavaScript问题提

示。在这种情况下,将会生成一个可见的对话框,Selenium将被悬停直到手动 OK

点击 。

Returns:

Returns:

RReettuurrnnss::

最近JavaScript的问题提示消息

同断言相关联,自动生成:

·assertPrompt(pattern)

·assertNotPrompt(pattern)

·verifyPrompt(pattern)

·verifyNotPrompt(pattern)

·waitForPrompt(pattern)

·waitForNotPrompt(pattern)

storeSelectedId(selectLocator,variableName)

storeSelectedId(selectLocator,variableName)

ssttoorreeSSeelleecctteeddIIdd((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

获取从指定选择元素中选择的选项元素ID。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

从指定选择元素中选择的选项元素ID

----------------------- Page 25-----------------------

同断言相关联,自动生成:

·assertSelectedId(selectLocator,pattern)

·assertNotSelectedId(selectLocator,pattern)

·verifySelectedId(selectLocator,pattern)

·verifyNotSelectedId(selectLocator,pattern)

·waitForSelectedId(selectLocator,pattern)

·waitForNotSelectedId(selectLocator,pattern)

storeSelectedIds(selectLocator,variableName)

storeSelectedIds(selectLocator,variableName)

ssttoorreeSSeelleecctteeddIIddss((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定选择或多选元素中获取选择的选项元素ID集。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器 ·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

ID

从指定选择或多选元素中选择的选项元素 集合数组

同断言相关联,自动生成:

·assertSelectedIds(selectLocator,pattern)

·assertNotSelectedIds(selectLocator,pattern)

·verifySelectedIds(selectLocator,pattern)

·verifyNotSelectedIds(selectLocator,pattern)

·waitForSelectedIds(selectLocator,pattern)

·waitForNotSelectedIds(selectLocator,pattern)

storeSelectedIndex(selectLocator,variableName)

storeSelectedIndex(selectLocator,variableName)

ssttoorreeSSeelleecctteeddIInnddeexx((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定的选择元素中获取被选项索引(从0开始)。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

从指定选择元素中选择的选项元素索引

同断言相关联,自动生成:

·assertSelectedIndex(selectLocator,pattern)

·assertNotSelectedIndex(selectLocator,pattern)

·verifySelectedIndex(selectLocator,pattern)

·verifyNotSelectedIndex(selectLocator,pattern)

·waitForSelectedIndex(selectLocator,pattern)

·waitForNotSelectedIndex(selectLocator,pattern)

storeSelectedIndexs(selectLocator,variableName)

storeSelectedIndexs(selectLocator,variableName)

ssttoorreeSSeelleecctteeddIInnddeexxss((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定的选择或多选元素中获取被选项索引(从0开始)集。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

----------------------- Page 26-----------------------

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

从指定选择或多选元素中选择的选项元素索引集合数组

同断言相关联,自动生成:

·assertSelectedIndexs(selectLocator,pattern)

·assertNotSelectedIndexs(selectLocator,pattern)

·verifySelectedIndexs(selectLocator,pattern)

·verifyNotSelectedIndexs(selectLocator,pattern)

·waitForSelectedIndexs(selectLocator,pattern)

·waitForNotSelectedIndexs(selectLocator,pattern)

storeSelectedLabel(selectLocator,variableName)

storeSelectedLabel(selectLocator,variableName)

ssttoorreeSSeelleecctteeddLLaabbeell((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定的选择元素中获取所选择的选项标签(可见文本)。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

所选择的选项标签

同断言相关联,自动生成:

·assertSelectedLabel(selectLocator,pattern)

·assertNotSelectedLabel(selectLocator,pattern)

·verifySelectedLabel(selectLocator,pattern)

·verifyNotSelectedLabel(selectLocator,pattern)

·waitForSelectedLabel(selectLocator,pattern)

·waitForNotSelectedLabel(selectLocator,pattern)

storeSelectedLabels(selectLocator,variableName)

storeSelectedLabels(selectLocator,variableName)

ssttoorreeSSeelleecctteeddLLaabbeellss((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定的选择或多选元素中获取所选择的选项标签(可见文本)。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss:: 所选择的选项标签

同断言相关联,自动生成:

·assertSelectedLabel(selectLocator,pattern)

·assertNotSelectedLabel(selectLocator,pattern)

·verifySelectedLabel(selectLocator,pattern)

·verifyNotSelectedLabel(selectLocator,pattern)

·waitForSelectedLabel(selectLocator,pattern)

·waitForNotSelectedLabel(selectLocator,pattern)

----------------------- Page 27-----------------------

storeSelectedValue(selectLocator,variableName)

storeSelectedValue(selectLocator,variableName)

ssttoorreeSSeelleecctteeddVVaalluuee((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定的选择元素中获取所选择的选项值(值属性)。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

所选择的选项值

同断言相关联,自动生成:

·assertSelectedValue(selectLocator,pattern)

·assertNotSelectedValue(selectLocator,pattern)

·verifySelectedValue(selectLocator,pattern)

·verifyNotSelectedValue(selectLocator,pattern)

·waitForSelectedValue(selectLocator,pattern)

·waitForNotSelectedValue(selectLocator,pattern)

storeSelectedValues(selectLocator,variableName)

storeSelectedValues(selectLocator,variableName)

ssttoorreeSSeelleecctteeddVVaalluueess((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定的选择或多选元素中获取所有所选择的选项值(值属性)。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

所有所选择的选项值数组

同断言相关联,自动生成:

·assertSelectedValues(selectLocator,pattern)

·assertNotSelectedValues(selectLocator,pattern)

·verifySelectedValues(selectLocator,pattern)

·verifyNotSelectedValues(selectLocator,pattern)

·waitForSelectedValues(selectLocator,pattern)

·waitForNotSelectedValues(selectLocator,pattern)

storeSelectOptions(selectLocator,variableName)

storeSelectOptions(selectLocator,variableName)

ssttoorreeSSeelleeccttOOppttiioonnss((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

获取指定选择下拉框的选项标签。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

指定选择下拉框的选项标签数组

同断言相关联,自动生成:

·assertSelectedOptions(selectLocator,pattern)

·assertNotSelectedOptions(selectLocator,pattern)

·verifySelectedOptions(selectLocator,pattern)

----------------------- Page 28-----------------------

·verifyNotSelectedOptions(selectLocator,pattern)

·waitForSelectedOptions(selectLocator,pattern)

·waitForNotSelectedOptions(selectLocator,pattern)

storeTable(tableCellAddress,variableName)

storeTable(tableCellAddress,variableName)

ssttoorreeTTaabbllee((ttaabblleeCCeellllAAddddrreessss,,vvaarriiaabblleeNNaammee))

从某个表的单元格中获取文本。单元格地址语法如,这

row column 0

里的 和 从 开始。

参数:

·tableCellAddress–一个单元格地址,如‖foo.1.4‖

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

从指定单元格取出的文本

同断言相关联,自动生成:

·assertTable(tableCellAddress,pattern)

·assertNotTable(tableCellAddress,pattern)

·verifyTable(tableCellAddress,pattern)

·verifyNotTable(tableCellAddress,pattern)

·waitForTable(tableCellAddress,pattern)

·waitForNotTable(tableCellAddress,pattern)

storeText(locator,variableName)

storeText(locator,variableName)

ssttoorreeTTeexxtt((llooccaattoorr,,vvaarriiaabblleeNNaammee))

获取元素的文本。这对任何包含文本的元素都有效。该命令即可以用于如火狐

textContent IE innerText

浏览器的 ,也可以用于如 浏览器的 ——显示给用户的。

参数:

·locator-一个元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

元素的文本

同断言相关联,自动生成:

·assertText(locator,pattern)

·assertNotText(locator,pattern)

·verifyText(locator,pattern)

·verifyNotText(locator,pattern)

·waitForText(locator,pattern)

·waitForNotText(locator,pattern)

storeTitle(variableName)

storeTitle(variableName)

ssttoorreeTTiittllee((vvaarriiaabblleeNNaammee))

获取当前页面的标题。

Returns:

Returns:

RReettuurrnnss::

当前页面的标题。

同断言相关联,自动生成:

----------------------- Page 29-----------------------

·assertTitle(pattern)

·assertNotTitle(pattern)

·verifyTitle(pattern)

·verifyNotTitle(pattern)

·waitForTitle(pattern)

·waitForNotTitle(pattern)

storeValue(locator,variableName)

storeValue(locator,variableName)

ssttoorreeVVaalluuee((llooccaattoorr,,vvaarriiaabblleeNNaammee))

获得一个输入域(或任何包含value参数的元素)的值(已去除空格)。对于

checkbox/radio元素,其值为‖on‖还是‖off‖依赖于该元素是否被选中。

参数:

·locator-一个元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

元素值,对于checkbox/radio元素则为‖on/off‖

同断言相关联,自动生成:

·assertValue(locator,pattern)

·assertNotValue(locator,pattern)

·verifyValue(locator,pattern)

·verifyNotValue(locator,pattern)

·waitForValue(locator,pattern)

·waitForNotValue(locator,pattern)

storeWhetherThisFrameMatchFrameExpression(currenFrameString,target,vari

storeWhetherThisFrameMatchFrameExpression(currenFrameString,target,vari

ssttoorreeWWhheetthheerrTThhiissFFrraammeeMMaattcchhFFrraammeeEExxpprreessssiioonn((ccuurrrreennFFrraammeeSSttrriinngg,,ttaarrggeett,,vvaarrii

ableName)

ableName)

aabblleeNNaammee))

确定当前框架是否包含该运行代码。

这对于代理注入代码模式非常有用,这些代码在每个浏览器框架和窗体中运

行,有时seleniumserver需要识别当前是哪个框架。这种情况下,当测试调用

selectFrame,该程序将被每个框架调用以指出哪个框架被选择。被选择的框架

true false

将返回 ,而其他将返回 。

参数:

·currenFrameString–开始框架 ·target–新框架也许与当前框架相关联( )

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

如果新框架为该代码的窗体,返回true

同断言相关联,自动生成:

·assertWhetherThisFrameMatchFrameExpression

(currenFrameString,target)

·assertNotWhetherThisFrameMatchFrameExpression

currenFrameString target

( , )

----------------------- Page 30-----------------------

·verifyWhetherThisFrameMatchFrameExpression

(currenFrameString,target)

·verifyNotWhetherThisFrameMatchFrameExpression

currenFrameString target

( , )

·waitForWhetherThisFrameMatchFrameExpression

(currenFrameString,target)

·waitForNotWhetherThisFrameMatchFrameExpression

currenFrameString target

( , )

storeWhetherThisWindowMatchWindowExpression(currenWindowString,targe

storeWhetherThisWindowMatchWindowExpression(currenWindowString,targe

ssttoorreeWWhheetthheerrTThhiissWWiinnddoowwMMaattcchhWWiinnddoowwEExxpprreessssiioonn((ccuurrrreennWWiinnddoowwSSttrriinngg,,ttaarrggee

t,variableName)

t,variableName)

tt,,vvaarriiaabblleeNNaammee))

确定当前窗体是否包含该运行代码。

这对于代理注入代码模式非常有用,这些代码在每个浏览器框架和窗体中运

行,有时seleniumserver需要识别当前是哪个窗体。这种情况下,当测试调用

selectWindow,该程序将被每个窗体调用以指出哪个窗体被选择。被选择的窗

true false

体将返回 ,而其他将返回 。

参数:

·currenFrameString–开始窗体

·target–新窗体也许与当前窗体相关联,如,( ‖_parent‖) ·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

如果新窗体为该代码的窗体,返回true

同断言相关联,自动生成:

·assertWhetherThisWindowMatchWindowExpression

currenWindowString target

( , )

·assertNotWhetherThisWindowMatchWindowExpression

(currenWindowString,target)

·verifyWhetherThisWindowMatchWindowExpression

currenWindowString target

( , )

·verifyNotWhetherThisWindowMatchWindowExpression

(currenWindowString,target)

·waitForWhetherThisWindowMatchWindowExpression

currenWindowString target

( , )

·waitForNotWhetherThisWindowMatchWindowExpression

(currenWindowString,target)

storeXpathCount(xpath,variableName)

storeXpathCount(xpath,variableName)

ssttoorreeXXppaatthhCCoouunntt((xxppaatthh,,vvaarriiaabblleeNNaammee))

返回匹配指定xpath的节点数,如‖//table‖将给出表的个数。

参数:

·xpath–要计算的xpath表达式。不要用‘count()‘函数将该表达式包含起来,

我们将自动帮你作这件事。

·variableName-用于存储结果的变量名。

----------------------- Page 31-----------------------

Returns:

Returns:

RReettuurrnnss::

匹配指定xpath的节点数

同断言相关联,自动生成:

·assertXpathCount(xpath,pattern)

·assertNotXpathCount(xpath,pattern)

·verifyXpathCount(xpath,pattern)

·verifyNotXpathCount(xpath,pattern) ·waitForXpathCount(xpath,pattern)

·waitForNotXpathCount(xpath,pattern)

storeAlertPresent(variableName)

storeAlertPresent(variableName)

ssttoorreeAAlleerrttPPrreesseenntt((vvaarriiaabblleeNNaammee))

发生警告了?

该函数永远不会抛出异常

Returns:

Returns:

RReettuurrnnss::

如果有警告返回true

同断言相关联,自动生成:

·assertAlertPresent()

·assertNotAlertPresent()

·verifyAlertPresent()

·verifyNotAlertPresent()

·waitForAlertPresent()

·waitForNotAlertPresent()

storeChecked(locator,variableName)

storeChecked(locator,variableName)

ssttoorreeCChheecckkeedd((llooccaattoorr,,vvaarriiaabblleeNNaammee))

获取一个关联性按钮(checkbox/radio)是否被勾选。如果指定元素不存在或不是

一个关联性按钮,将失败。

参数:

·locator–一个执行checkbox或radio按钮的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

如果该checkbox被勾选,返回true,否则返回false

同断言相关联,自动生成:

·assertChecked(locator)

·assertNotChecked(locator)

·verifyChecked(locator)

·verifyNotChecked(locator)

·waitForChecked(locator)

·waitForNotChecked(locator)

storeConfirmationPresent(variableName)

storeConfirmationPresent(variableName) ssttoorreeCCoonnffiirrmmaattiioonnPPrreesseenntt((vvaarriiaabblleeNNaammee))

confirm()被调用了?

----------------------- Page 32-----------------------

该函数永远不会抛出异常

Returns:

Returns:

RReettuurrnnss::

如果有一个未决的确认返回true

同断言相关联,自动生成:

·assertConfirmationPresent()

·assertNotConfirmationPresent()

·verifyConfirmationPresent()

·verifyNotConfirmationPresent()

·waitForConfirmationPresent()

·waitForNotConfirmationPresent()

storeEditable(locator,variableName)

storeEditable(locator,variableName)

ssttoorreeEEddiittaabbllee((llooccaattoorr,,vvaarriiaabblleeNNaammee))

判定指定的输入元素是否为可编辑,且ie没有被禁用。如果指定元素不为一个

可输入元素,该函数将失败。

参数:

·locator–一个元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

true false

如果输入元素可编辑返回 ,否则返回

同断言相关联,自动生成:

·assertEditable(locator)

·assertNotEditable(locator)

·verifyEditable(locator)

·verifyNotEditable(locator)

·waitForEditable(locator)

·waitForNotEditable(locator)

storeElementPresent(locator,variableName)

storeElementPresent(locator,variableName)

ssttoorreeEElleemmeennttPPrreesseenntt((llooccaattoorr,,vvaarriiaabblleeNNaammee)) 验证指定元素在页面上。

参数:

·locator–一个元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

true false

如果该元素出现返回 ,否则返回

同断言相关联,自动生成:

·assertElementPresent(locator)

·assertNotElementPresent(locator)

·verifyElementPresent(locator)

·verifyNotElementPresent(locator)

·waitForElementPresent(locator)

·waitForNotElementPresent(locator)

----------------------- Page 33-----------------------

storeOrdered(locator1,locator2,variableName)

storeOrdered(locator1,locator2,variableName)

ssttoorreeOOrrddeerreedd((llooccaattoorr11,,llooccaattoorr22,,vvaarriiaabblleeNNaammee))

检查这两个元素是否有相同的父级,且在DOM中为顺序亲属。两个相同元素

将不考虑顺序。

参数:

·locator1–指向第一个元素的元素定位器

·locator2–指向第二个元素的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

如果元素1是元素2的兄长,返回true,否则返回false

同断言相关联,自动生成:

·assertOrdered(locator1,locator2)

·assertNotOrdered(locator1,locator2)

·verifyOrdered(locator1,locator2)

·verifyNotOrdered(locator1,locator2)

·waitForOrdered(locator1,locator2)

·waitForNotOrdered(locator1,locator2)

storePromptPresent(variableName)

storePromptPresent(variableName) ssttoorreePPrroommppttPPrreesseenntt((vvaarriiaabblleeNNaammee))

发生提示了?

该函数永远不会抛出异常

Returns:

Returns:

RReettuurrnnss::

如果有一个未决的提示返回true

同断言相关联,自动生成:

·assertPromptPresent()

·assertNotPromptPresent()

·verifyPromptPresent()

·verifyNotPromptPresent()

·waitForPromptPresent()

·waitForNotPromptPresent()

storeSomethingSelected(selectLocator,variableName)

storeSomethingSelected(selectLocator,variableName)

ssttoorreeSSoommeetthhiinnggSSeelleecctteedd((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

判定一个下拉菜单是否选择了某个选项。

参数:

·selectLocator–一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

true false

如果选择某选项返回 ,否则返回

同断言相关联,自动生成:

·assertSomethingSelected(selectLocator)

·assertNotSomethingSelected(selectLocator)

----------------------- Page 34-----------------------

·verifySomethingSelected(selectLocator)

·verifyNotSomethingSelected(selectLocator)

·waitForSomethingSelected(selectLocator)

·waitForNotSomethingSelected(selectLocator)

storeTextPresent(pattern,variableName)

storeTextPresent(pattern,variableName)

ssttoorreeTTeexxttPPrreesseenntt((ppaatttteerrnn,,vvaarriiaabblleeNNaammee))

验证指定文本出现在提交给用户的页面上。 参数:

·pattern–用于匹配页面文本的范式

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

true false

如果该范式匹配文本返回 ,否则返回

同断言相关联,自动生成:

·assertTextPresent(pattern)

·assertNotTextPresent(pattern)

·verifyTextPresent(pattern)

·verifyNotTextPresent(pattern)

·waitForTextPresent(pattern)

·waitForNotTextPresent(pattern)

storeVisible(locator,variableName)

storeVisible(locator,variableName)

ssttoorreeVViissiibbllee((llooccaattoorr,,vvaarriiaabblleeNNaammee))

判定指定元素是否可见。一个元素可以通过将其本身或其父级的CSS‖visibility‖

属性设定为‖hidden‖,或将‖dispaly‖属性设定为‖none‖,以使其不可见。如果该

元素不存在,此方法将失败。

参数:

·locator–一个元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

如果指定元素为可见返回true,否则返回false

同断言相关联,自动生成:

·assertVisible(locator)

·assertNotVisible(locator)

·verifyVisible(locator)

·verifyNotVisible(locator)

·waitForVisible(locator)

·waitForNotVisible(locator)

2023年6月21日发(作者:)

Selenium中文 API 参考手册

自行添加内容

最近研究了下Selenium,苦于网上中文资料太少,便自己翻译了下Selenium官网上的

API,便于大家一起沟通和学习。

由于本人英文水平有限,部分字词句的拿捏可能不太到位,希望各位朋友给出宝贵意见哈

概念

Selenium通过命令进行驱动。Selenium可归纳为三种―风格‖:动作、辅助和断

言。每一个命令调用就是下表中的一行。

命令 目标 值

(Actions)

(Actions)

((AAccttiioonnss)) ‖ ‖ ‖

动作 命令一般用于操作应用程序的状态。它们通过如点击链接和选

择选项‖的方式进行工作。如果一个动作执行失败,或是有错误,当前的测试将

会停止执行。

‖ ‖ ,‖ ‖

许多动作可以被包含后缀并等待的方式进行调用,例如 点击并等待。这个后

缀告知Selenium,该命令将使浏览器向服务器产生一个请求,并使得Selenium

等待加载一个新的页面。

(Accessors)

(Accessors)

辅助((AAcccceessssoorrss))用于检查应用程序的状态并将结果存储在变量中。例

如‖storeTitle‖。它们同样可用于自动生成断言。

(Assertions)

(Assertions)

断言((AAsssseerrttiioonnss))类似于辅助,但它们可以验证应用程序的状态是否同所期望的

‖ X‖ ‖ ‖

相一致。例如包括确认页面标题为 和验证该复选框是否被勾选。

所有的Selenium断言可以被用于三种模式:‖assert‖,―verify‖,和‖waitfor‖。例如,

‖assertText‖ ‖verifyText‖ ‖waitforText‖ ‖assert‖

你可以 , ,及 。当 失败时,该测试将

终止。当‖verify‖失败时,该测试将继续执行,并将错误记入日志。这就允许了

通过单条‖assert‖确保应用程序在正确的页面上,而通过一系列的‖verify‖断言测

试表单上的区域值,标签等。

―waitfor‖命令用于等待某些条件变为真可用于( Ajax应用程序的测试。如果该条)

件已经为真,他们将立即成功执行。反之,如果该条件不为真,则将失败并暂停

测试,直到超过当前所设定的超时时间(参照后面的setTimeout动作)。

(ElementLocators)

(ElementLocators)

元素定位器((EElleemmeennttLLooccaattoorrss))告诉Selenium是向HTML中的哪一个元素发送命

令。许多命令需要一个如‖target‖属性的元素定位器。这其中包括‖elementId‖

和‖[0].element‖。在接下来的部分将更详细的描述它们。

----------------------- Page 2-----------------------

(Patterns)

(Patterns)

式样((PPaatttteerrnnss))由于多种因素被使用着,如指定一个输入域的期望值,或识别一

个选择选项。Selenium支持许多类型的式样,其中包括正则表达式,所有这些将

在接下来的章节中进行更详细的描述。

定义一个类用于运行Selenium命令。

(ElementLocators)

(ElementLocators)

元素定位器((EElleemmeennttLLooccaattoorrss))

元素定位器(ElementLocators)告诉Selenium是向HTML中的哪一个元素发送命

令。一个定位器的格式如下:

locatorType=argument

我们支持如下写法用于定位元素:

·identifier=id:根据指定的@id属性选择元素。如果没有匹配的值,则选择

第一个@name属性为id的元素。(参照后面)

·id=id:根据指定的@id属性选择元素。

·name=name:选择第一个根据指定的@name所查找到的元素。

〇 username

〇 name=username

这里的name可以作为可选项跟在一个或多个元素过滤器的后面,通过空格进行

分隔。如果没有指定过滤类型,则假定为value。

〇 name=flavourvalue=chocolate

·dom=javascriptExpression:通过检测指定字符串查找元素。这使得你可以通

过JavaScript贯穿HTML文档对象。注意在这个字符串中返回值不是必须的;

仅仅只需要确保这条语句是你块中的最后一条。

〇 dom=[´myForm´].myDropdown

〇 dom=[56]

〇 dom=functionfoo(){[1];};foo(); ·xpath=xpathExpression:通过XPath表达式定位元素。

〇 xpath=//img[@alt=´Theimagealttext´]

〇 xpath=//table[@id=table1]//tr[4]/td[2]´ ´

〇 xpath=//a[contains(@href, #id1)]´ ´

〇 xpath=//a[contains(@href,´#id1´)]/@class

〇 xpath=(//table[@class=´stylee´])//th[text()=´theHeaderText´]/../

td

´ ´ ´ ´

〇 xpath=//input[@name=name2 and@value=yes]

〇 xpath=//*[text()=″right″]

·link=textPattern:选择所包含的文字匹配指定式样的链接(锚)。

〇 link=Thelinktext

·css=cssSelectorSyntax:通过css选择器选择元素。请查询CSS2选择器,

CSS3选择器以获得更多信息。在下载下来的seleniumcorepackage中的

seleniumtestsuite里的TestCssLocatorstest,你同样可以查看到使用例

子。

〇 css=a[href=″#id3″]

----------------------- Page 3-----------------------

〇 css=span#firstChid+span

当前css选择过滤器支持所有的css1,css2,css3,除了css3中一些虚拟类

(:nth-of-type,:nth-last-of-type,:first-of-type,:last-of-type,:only-of

-type,:visited,:hover,:active,:focus,:indeterminate)以及虚拟元素

(::first-line,::first-letter,::selection,::before,::after)。

如果没有一个显式的前缀,Selenium使用以下默认写法:

·dom,用于开头为″document.″的定位器

·xpath,用于开头为″//″的定位器

·identifier,其他

元素过滤器(ElementFilters)

元素过滤器可以同选择器一起使用,从一堆候选元素中进行筛选。它们当前仅使

用于‘name‘元素选择器。

过滤器看起来更像是选择器,也就是:

filterType=argument

所支持的元素过滤器为:

value

value vvaalluuee=valuePattern

匹配元素时基于它们的值进行匹配。这在对一堆相似命名的关联按钮的筛

选中显得尤其有用。

index

index

iinnddeexx=index

( 0 )

选择单个元素基于其在列表中的位置从 开始。

字符串匹配式样

有各种各样的式样语法可用于匹配字符串值:

·glob:pattern:用″glob″去匹配一个字符串。″Glob″是一种用于命令行shells

glob ,″*″

的代表性的有限正则表达式语法。在一个 式样中 代表任意序列字符集,

而″?″则代表任意单个字符。Glob式样匹配整个字符串。

·regexp:regexp:使用正则表达式匹配字符串。可使用所有的JavaScript正则

表达式。

如果没有指定式样前缀,Selenium假定其为″glob″式样。

SeleniumActions

addLocationStrategy(strategyName,functionDefinition)

addLocationStrategy(strategyName,functionDefinition)

aaddddLLooccaattiioonnSSttrraatteeggyy((ssttrraatteeggyyNNaammee,,ffuunnccttiioonnDDeeffiinniittiioonn))

为selenium定义一个新的函数用于定位页面上的元素。例如,如果你定义了

一个方法″foo″,并运行了click(″foo=blah″),我们将运行你的函数,传递给你字

----------------------- Page 4-----------------------

符串″blah″,并点击该函数所返回的元素,如果返回为null,则抛出一个″Element

notfound″的错误。我们将给该函数传递三个参数。

·locator:用户传递过来的字符串

·inWindow:当前所选中的窗体

·inDocument:当前所选中的文档

如果未找到相应的元素,则函数必须返回一个null。

参数:

·strategyName–定义的方法名;只能使用字母[a-zA-Z],不能包含空格

或其他标点符号。

·functionDefinition–在JavaScript函数中的一个定义body的字符串。

如:mentById(locator);

addSelection(locator,optioLocator)

为通过使用选择定位器,在一个可多选元素中所选择的集合添加一个 selection。@查看#doSelect关于选择定位器的细节。

参数:

·locator–用于指定一个多选框的元素定位器

·optionLocator–一个选择定位器(默认为标签)

allowNativeXpath(allow)

指定Selenium是否使用XPath的本地浏览执行(如果有可用的本地版本);如果传

递的值为″false″,我们将使用pure-JavaScriptxpath库。使用pure-JSxpath库可以

提高xpath元素定位器在不同浏览器中的一致性,但其执行速度将大大低于本地

执行。

参数:

·allow–Boolean,true意味着我们更愿意使用本地XPath;false则意味

着我们将只使用JSXPath

altKeyDown()

按下alt键并保持其按下状态,直到doAltUp()被调用或一个新的页面被加载。

altKeyUp()

释放alt键

answerOnNextPrompt(answer)

通知Selenium返回下一次JavaScriptprompt[()]所指定的回

答字符串。

参数:

·answer–对弹出的提示所给与的回答

assignId(locator,identifier)

″id″ ID

临时为指定元素设定一个 属性,使你可以在将来使用其 ,以代替缓慢且

XPath ID

更复杂的 。该 将在页面重载后消失。

----------------------- Page 5-----------------------

参数:

·locator–指向某个元素的元素定位器

·identifier– 为指定元素作为ID使用的字符串

break()

暂停当前正在进行的测试,并等待用户按下继续按钮。这个命令对于调试非常

有用,但使用时要特别小心,因为他将强制暂停自动化测试,直到用户手动操

作。

check(locator)

勾选一个关联性按钮(checkbox/radio)

参数:

·locator–一个元素定位器

chooseCancelOnNextConfirmation()

默认情况下,Selenium的重载m()函数将返回true,等同于用

户手动点击OK;执行该命令后,下一次调用confirm()将返回false,等同于用

户手动点击了Cancel。Selenium对后来的确认动作将继续使用默认行为,自

动返回true(OK),除非/直到你为每个确认动作明确的调用此命令。

chooseOkOnNextConfirmation()

撤销调用chooseCancelOnNextConfirmation的效果。注意,Selenium的重载

m()函数通常将自动返回true,等同于用户手动点击OK,因此

你没有必要使用此命令,除非由于某种原因使你在下一次确认动作前不得不改

变你先前的想法。在任意确认动作后,Selenium对后来的确认动作将继续使用

默认行为,自动返回true(OK),除非/直到你为每个确认动作明确的调用

chooseCancelOnNextConfirmation()。

click(locator)

点击一个链接、按钮、多选框或单选框。如果该点击事件导致了新的页面加载

(如同链接通常所作的),将调用waitForPageToLoad。

参数:

·locator-一个元素定位器

clickAt(locator,coordString)

点击一个链接、按钮、多选框或单选框。如果该点击事件导致了新的页面加载

(如同链接通常所作的),将调用waitForPageToLoad。

参数:

·locator-一个元素定位器

·coordString–指定由定位器返回的鼠标事件相关联的元素x,y坐标(也

就是–10,20)

close()

″ ″

模拟用户点击弹出窗体或表单标题栏上的关闭按钮。

----------------------- Page 6-----------------------

controlKeyDown()

按下control键并保持其按下状态,直到doControlUp()被调用或一个新的页

面被加载。

controlKeyUp() 释放control键

createCookie(nameValuePair,optionsString)

创建一个新的cookie,除非你清楚的指定该cookie的路径,否则其路径和域

将与当前测试的页面相同。

参数:

·nameValuePair–该cookie的名称和值,使用如下格式″name=value″

·optionsString–该cookie的选项。当前支持的选项包括‘path‘

‘max_age‘ optionsString ‖path=/path/,max_age=60‖

和 。 的格式为 。选项的顺

序无关紧要。

deleteCookie(name,path)

deleteCookie(name,path)

ddeelleetteeCCooookkiiee((nnaammee,,ppaatthh))

删除指定路径下的该名称cookie。

参数:

·name–被删除cookie的名称

·path–被删除cookie的路径属性

doubleClick(locator)

doubleClick(locator)

ddoouubblleeCClliicckk((llooccaattoorr))

双击一个链接、按钮、多选框或单选框。如果该双击事件导致了新的页面加载

(如同链接通常所作的),将调用waitForPageToLoad。

参数:

·locator-一个元素定位器

doubleClickAt(locator,coordString)

doubleClickAt(locator,coordString)

ddoouubblleeCClliicckkAAtt((llooccaattoorr,,ccoooorrddSSttrriinngg))

双击一个链接、按钮、多选框或单选框。如果该双击事件导致了新的页面加载

(如同链接通常所作的),将调用waitForPageToLoad。

参数:

·locator-一个元素定位器

·coordString–指定由定位器返回的鼠标事件相关联的元素x,y坐标(也

就是–10,20)

dragAndDrop(locator,movementsString)

dragAndDrop(locator,movementsString)

ddrraaggAAnnddDDrroopp((llooccaattoorr,,mmoovveemmeennttssSSttrriinngg))

拖动元素一定的距离并放下

参数:

·locator-一个元素定位器 ·movementsString–从当前位置到指定位置的像素偏移量,如,‖+70,-300‖

----------------------- Page 7-----------------------

dragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinatio

dragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinatio

ddrraaggAAnnddDDrrooppTTooOObbjjeecctt((llooccaattoorrOOffOObbjjeeccttTTooBBeeDDrraaggggeedd,,llooccaattoorrOOffDDrraaggDDeessttiinnaattiioo

nObject)

nObject)

nnOObbjjeecctt))

拖动元素到另一元素

参数:

·locatorOfObjectToBeDragged–被拖动的元素

·locatorOfDragDestinationObject–被拖动的元素将拖向的元素的坐标(如,

其最中心像素)

Dragdrop(locator,movementsString)

Dragdrop(locator,movementsString)

DDrraaggddrroopp((llooccaattoorr,,mmoovveemmeennttssSSttrriinngg))

不建议–用dragAndDrop代替

参数:

·locator-一个元素定位器

·movementsString–从当前位置到指定位置的像素偏移量,如,‖+70,-300‖

Echo(message)

Echo(message)

EEcchhoo((mmeessssaaggee))

打印指定消息到你的Selenese表的第三个表单元。有利于调试。

参数:

·message–要打印的消息

fireEvent(locator,eventName)

fireEvent(locator,eventName)

ffiirreeEEvveenntt((llooccaattoorr,,eevveennttNNaammee))

明确地模拟一个事件,触发‖onevent‖响应句柄。

参数:

·locator-一个元素定位器

eventName– ‖focus‖ ‖blur‖

· 事件名,如 或

getSpeed()

getSpeed()

ggeettSSppeeeedd(()) 获取执行速度也就是,获取接下来的每一个( selenium操作的延迟豪秒长度。)

0 setSpeed

默认情况下,是不会有延迟的。也就是延迟为 毫秒。参照 。

goBack()

goBack()

ggooBBaacckk(())

模拟用户点击其浏览器上的‖back‖按钮

highlight(locator)

highlight(locator)

hhiigghhlliigghhtt((llooccaattoorr))

暂时将指定元素的背景色改变为黄色。有利于调试。

参数:

·locator-一个元素定位器

keyDown(locator,keySequence)

模拟用户按下一个键除了还没释放的( )

参数:

·locator-一个元素定位器

·keySequence–可以是个字符串(―‖后跟随要被按下键的数字键码,通常

是该键的ASCII值),或是个单字符,如―w―,―119―。

----------------------- Page 8-----------------------

keyPress(locator,keySequence)

keyPress(locator,keySequence)

kkeeyyPPrreessss((llooccaattoorr,,kkeeyySSeeqquueennccee))

模拟用户按下和释放一个键。

参数:

·locator-一个元素定位器

·keySequence–可以是个字符串(―‖后跟随要被按下键的数字键码,通常

是该键的ASCII值),或是个单字符,如―w―,―119―。

keyUp(locator,keySequence)

keyUp(locator,keySequence)

kkeeyyUUpp((llooccaattoorr,,kkeeyySSeeqquueennccee))

模拟用户释放一个键。

参数:

·locator-一个元素定位器

―‖

·keySequence–可以是个字符串( 后跟随要被按下键的数字键码,通常

是该键的ASCII值),或是个单字符,如―w―,―119―。

metaKeyDown()

metaKeyDown()

mmeettaaKKeeyyDDoowwnn(())

按下meta键并保持其按下状态,直到doMetaUp()被调用或一个新的页面被加

载。

metaKeyUp()

metaKeyUp()

mmeettaaKKeeyyUUpp(())

释放meta键

mouseDown(locator)

mouseDown(locator)

mmoouusseeDDoowwnn((llooccaattoorr))

模拟用户在指定元素上按下鼠标按钮除了还没释放的。(

参数:

·locator-一个元素定位器

mouseDownAt(locator,coordString)

mouseDownAt(locator,coordString)

mmoouusseeDDoowwnnAAtt((llooccaattoorr,,ccoooorrddSSttrriinngg))

模拟用户在指定位置上按下鼠标按钮除了还没释放的。(

参数:

·locator-一个元素定位器

·coordString-指定由定位器返回的鼠标事件相关联的元素x,y坐标(也就

是–10,20)

mouseMove(locator)

mouseMove(locator)

mmoouusseeMMoovvee((llooccaattoorr))

模拟用户在指定元素上按下鼠标按钮除了还没释放的。(

参数:

·locator-一个元素定位器

mouseMoveAt(locator,coordString)

mouseMoveAt(locator,coordString)

mmoouusseeMMoovveeAAtt((llooccaattoorr,,ccoooorrddSSttrriinngg))

模拟用户在指定位置上按下鼠标按钮除了还没释放的。(

参数:

·locator-一个元素定位器

·coordString-指定由定位器返回的鼠标事件相关联的元素x,y坐标(也就

是–10,20)

----------------------- Page 9-----------------------

)

)

)

)

mouseOut(locator)

mouseOut(locator)

mmoouusseeOOuutt((llooccaattoorr))

模拟用户从指定元素上移开鼠标指针。

参数:

·locator-一个元素定位器

mouseOver(locator)

mouseOver(locator)

mmoouusseeOOvveerr((llooccaattoorr))

模拟用户鼠标滑过指定元素。

参数:

·locator-一个元素定位器

mouseUp(locator)

mouseUp(locator)

mmoouusseeUUpp((llooccaattoorr))

模拟用户在指定元素上释放鼠标按钮时发生的事件(也就是,停止保持按钮按

下)。

参数:

·locator-一个元素定位器

mouseUpAt(locator,coordString)

mouseUpAt(locator,coordString)

mmoouusseeUUppAAtt((llooccaattoorr,,ccoooorrddSSttrriinngg))

模拟用户在指定元素上释放鼠标按钮时发生的事件也就是,停止保持按钮按(

下。)

参数:

·locator-一个元素定位器

·coordString-指定由定位器返回的鼠标事件相关联的元素x,y坐标(也就

是–10,20)

open(url)

open(url)

ooppeenn((uurrll))

URL URLs ‖open‖

在测试框架中打开一个 ,可以为相对和绝对 。 ‖ ‖

面加载完成才继续进行,也就是明确的指名并等待后缀。注意:由于浏览器

安全策略(相同来源方针)这个URL必须和当前运行的HTML在相同的域。如

果你不得不在另一个域打开一个URL,则需要用Selenium服务在另一个域去

打开一个新的浏览器会话。

参数:

命令将等待页 ·url–要打开的URL,可以为空

·windowID–要选择窗体的JavaScriptwindowID

pause(waitTime)

等待指定时间(以毫秒为单位)

参数:

·waitTime–要睡眠的时间(以毫秒为单位)

refresh()

模拟用户点击浏览器上的‖Refresh‖按钮。

removeAllSelections(locator)

removeAllSelections(locator)

rreemmoovveeAAllllSSeelleeccttiioonnss((llooccaattoorr))

----------------------- Page 10-----------------------

取消所有可多选元素的选择状态。

参数:

·locator–一个用于识别多选框的元素定位器

removeSelection(locator,optionLocator)

removeSelection(locator,optionLocator)

rreemmoovveeSSeelleeccttiioonn((llooccaattoorr,,ooppttiioonnLLooccaattoorr))

从用选项定位器进行筛选的多选元素的筛选集合中移除一个集合。@在

#doSelect中查看选项定位器的详细信息。

参数:

·locator–一个用于识别多选框的元素定位器

·optionLocator–一个选项定位器(默认为一个标签)

runScript(script)

runScript(script)

rruunnSSccrriipptt((ssccrriipptt))

在当前测试窗体的body中创建一个新的‖script‖标签,并在body中添加指定的

命令文本。用这种方式执行脚本,通常可以比使用Selenium的‖getEval‖方式更

简易的进行调试。要注意的是,由这种脚本标签所抛出的异常不受Selenium管

理,因此当该脚本有可能会抛出异常时,你需要用try/catch块将其包含起来。

·script–需要执行的JavaScript片段

select(selectLocator,optionLocator)

select(selectLocator,optionLocator)

sseelleecctt((sseelleeccttLLooccaattoorr,,ooppttiioonnLLooccaattoorr))

用选项选择器从一个下拉框中选择一个选项。

选项选择器提供不同的方法从一个HTML选择元素中识别选项。(例如:选择 一个指定选项,或断言一个满足某种规范的选项)有许多种形式的选择选项定位

器。

·label=labelPattern:基于其标签匹配选项,如其有效文本。(默认)

〇 label=regexp:^[Oo]ther

·value=valuePattern:基于其值匹配选项。

〇 value=other

·id=id:基于其id匹配选项。

〇 id=option1

·index=index:基于其索引匹配选项(从0开始)。

〇index=2

如果没有为选项定位器提供前缀,则默认匹配为标签行为。

参数:

·selectLocator–一个用于识别下拉菜单的元素定位器

·optionLocator–一个选项选择器默认为标签( )

selectFrame(locator)

selectFrame(locator)

sseelleeccttFFrraammee((llooccaattoorr))

在当前窗体中选择一个框架你可以多次调用这个命令用于选择嵌套框架。要(

选择父框架,用‖relative=parent‖作为定位器;要选择顶级框架,用‖relative=top‖。

你同样可以通过基于0的索引号选择框架;用‖index=0‖选择第一个框架,或者

用‖index=2‖选择第三个框架。

你同样可以直接使用一个DOM表达式来识别你要的框架。像这样:

dom=frames[―main‖].frames[―subframe‖]

----------------------- Page 11-----------------------

参数:

·locator–一个用于识别框架或子框架的元素定位器

selectWindow(windowID)

selectWindow(windowID)

sseelleeccttWWiinnddooww((wwiinnddoowwIIDD))

选择一个弹出窗体;一旦一个弹出窗体被选中,所有的命令将指向该窗体。要

再次选择主窗体,将对象设定为null。

window JavaScript ‖name‖ window (

注意: 的内在 的 属性和被给与的 文档通常是

) ‖title‖

你实际看到的,作为最终用户,在窗体的标题栏上的 之间有一个很大的 不同。‖name‖对于最终用户通常是不可见的;它是作为第二个参

数‖windowName‖传递给JavaScript函数

(url,windowName,windowFeatures,replaceFlag)( Selenium )

被 截取。

)

Selenium有许多方法用于查找被‖windowID‖参数所提及的窗体对象。

1.) 如果windowID为null,(或是字符串‖null‖),则假定为用户是提交给由浏览

器最初实例化的窗体。

2.) 如果‖windowID‖参数的值是当前应用窗体的一个JavaScript变量名,则假

定该变量包含一个由调用()函数所产生的返回值。

3.) 另外,seleniumlooksinahashitmaintainsthatmapsstringnamestowindow

―names‖.

4.) 如果失败了,我们将循环遍历所有已知的窗体以便试图找出适合的‖title‖。

由于‖title‖不是必须唯一,因此可能会产生一些非期望的行为。

如果很难判定你所要操作的窗体的名称,你可以查看为识别通过

( Selenium ) selenium

被 截取所打开窗体的名称时所产生的

息。在每个窗体被打开时,你通常可以看到如下信息:

debug:llintercepted;windowID(你可以用于selectWindow())is

―myNewWindow‖

在某些情况,Selenium会无法截取的调用(例如,如果该调用发生

在‖onLoad‖事件之间或之前)。(该BUG标记为SEL-339)。在这些情况,你可

Selenium openWindow Selenium

以使用 的 命令强制 去通告打开窗体的名称, 使用一个空(blank)url,像这样:openWindow(―‖,‖myFunnyWindow‖)。

参数:

·windowID–要选择窗体的JavaScript窗体ID

setBrowserLogLevel(logLevel)

setBrowserLogLevel(logLevel)

sseettBBrroowwsseerrLLooggLLeevveell((llooggLLeevveell))

设定浏览器方日志信息级别;在此级别之下的日志信息将被丢弃。有效的日志

级别字符串有:‖debug‖,‖info‖,‖warn‖,‖error‖,或‖off‖。要查看浏览器日

志,在GUI模式下打开日志窗口,或在SeleniumRC中将浏览器端记入日志设

定为enable。

参数:

·logLevel–以下之一:‖debug‖,‖info‖,‖warn‖,‖error‖,或‖off‖

setCursorPosition(locator,position)

setCursorPosition(locator,position)

sseettCCuurrssoorrPPoossiittiioonn((llooccaattoorr,,ppoossiittiioonn))

----------------------- Page 12-----------------------

将文本光标移动到被给与的输入元素或文本域的指定位置。若指定元素不是一

个可输入元素或文本域,该方法将失败。

参数:

日志消

·locator–一个指向输入元素或文本域的元素定位器

·position–该范围的光标数字位置;position如果设定为0,则为该范围域

的最开始位置,你同样可以将光标设定为-1以移动到该范围域的最末端。

setMouseSpeed(pixels)

setMouseSpeed(pixels)

sseettMMoouusseeSSppeeeedd((ppiixxeellss))

配置在dragAndDrop命令执行期间,‖mousemove‖事件时的像素数字(默认为

10)。

0

将这个值设定为 ,意味着我们将向从开始位置到结束位置的每一个像素发送

一个‖mousemove‖事件;那将会非常缓慢,且可能导致某些浏览器将该

JavaScript强制设定为超时。

如果该鼠标速度大于两个拖动对象间的距离,我们将只向开始位置和结束位置

发送一个‖mousemove‖事件。

参数:

·pixels–两个―mousemove‖事件间的像素间隔

setSpeed(value)

setSpeed(value)

sseettSSppeeeedd((vvaalluuee))

设定执行速度(也就是说,设定将要执行的每条selenium操作间的毫秒延迟间

隔长度)。默认情况下,没有延迟,也就是延迟为0毫秒。

参数:

·value–在操作后的暂停毫秒数

setTimeout(timeout)

setTimeout(timeout)

sseettTTiimmeeoouutt((ttiimmeeoouutt))

指定Selenium等待动作完成的等待时间。

‖open‖ ‖waitFor*‖

需要等待的动作包括 和 。

默认超时为30秒。

参数:

·timeout–以毫秒为单位,超过后该命令将返回错误。

shiftKeyDown()

shiftKeyDown()

sshhiiffttKKeeyyDDoowwnn(())

按下shift键,并保持按下状态,直到doShiftUp()被调用或一个新的页面被加载。

shiftKeyUp()

shiftKeyUp() sshhiiffttKKeeyyUUpp(())

释放shift键。

store(expression,variableName)

store(expression,variableName)

ssttoorree((eexxpprreessssiioonn,,vvaarriiaabblleeNNaammee))

该命令是存储表达式的同义词。

参数:

·expression–要存储的值

·variableName–用于存储结果的变量名

----------------------- Page 13-----------------------

submit(formLocator)

submit(formLocator)

ssuubbmmiitt((ffoorrmmLLooccaattoorr))

提交给指定表单。这对于没有提交按钮的表单特别有用,如,简单输入

的‖search‖表单。

参数:

·formLocator–一个指向你要提交的表单的元素定位器

type(locator,value)

type(locator,value)

ttyyppee((llooccaattoorr,,vvaalluuee))

设定一个输入域的值,如同你输入进去一样。

其同样可用于单选框,多选框等。在这些情况,value应为选项选择时的值,

而不是有效文本。

参数:

·locator–一个元素定位器

·value–要录入的值

typeKeys(locator,value)

typeKeys(locator,value)

ttyyppeeKKeeyyss((llooccaattoorr,,vvaalluuee))

模拟在指定元素上的按键事件,如同是你一个键一个键敲上去一样。

比起为指定字符串的每个字符调用keyDown,keyUp,keyPress方法,这个函数要

方便的多;其对于需要明确按键事件的动态UI组件(如自动完成的combobox)

同样有用。

不同于简单的‖敲打‖命令——将指定值直接强制赋给页面,该指令可能有,也

可能没有任何效果,即时在敲打按钮通常会有效的情况下。例如,如果你在一

个表单元素上使用‖typeKeys‖,你可能可以,也可能不可以看到看到你在该区

域录入的效果。

在有些时候,你可能不得不使用简单的‖type‖命令去设定域的值,然后

用‖typeKeys‖命令去发送按键事件以告知你所录入的值。

参数:

·locator–一个元素定位器

·value–要录入的值

uncheck(locator)

uncheck(locator)

uunncchheecckk((llooccaattoorr))

取消选中一个关联性按钮(checkbox/radio)

参数:

·locator–一个元素定位器

waitForCondition(script,timeout)

waitForCondition(script,timeout)

wwaaiittFFoorrCCoonnddiittiioonn((ssccrriipptt,,ttiimmeeoouutt))

重复执行指定JavaScript片段直到其值为‖true‖。

该片段可以有多行,但只考虑其最后一行的结果。

要注意:默认情况下,该片段会在运行者的测试窗体运行,而不是在你的应用

程序窗体。要得到你的应用程序窗体,你可以使用JavaScript片段

rentWindow(),然后让你的JavaScript在那运行。

参数:

·script–要运行的JavaScript片段

----------------------- Page 14-----------------------

·timeout–以毫秒为单位,超过后该命令将返回错误。

waitForFrameToLoad(frameAddress,timeout)

waitForFrameToLoad(frameAddress,timeout)

wwaaiittFFoorrFFrraammeeTTooLLooaadd((ffrraammeeAAddddrreessss,,ttiimmeeoouutt))

等待一个新的框架加载。

Selenium通常会持续跟踪新页面和框架的加载状态,当其第一次注意到页面加

载完成,将会设定一个‖newPageLoaded‖标志。

查看waitForPageToLoad获得更多信息。

参数:

·frameAddress–服务端的框架地址

·timeout-以毫秒为单位,超过后该命令将返回错误。

waitForPageToLoad(timeout)

waitForPageToLoad(timeout)

wwaaiittFFoorrPPaaggeeTTooLLooaadd((ttiimmeeoouutt))

等待一个新的页面加载。

你可以使用此命令以代替‖AndWait‖后 ‖clickAndWait‖ ‖selectAndWait‖ ‖typeAndWait‖ ( JSAPI )

缀, , , 等仅在 中有效。

Selenium通常会持续跟踪新页面的加载状态,当其第一次注意到页面加载完

成,将会设定一个‖newPageLoaded‖标志。当此标志变为false后再运行其他

Selenium命令。因此,如果你要等待一个页面加载完成,当一个Selenium命令

导致一个页面加载后就需立即开始等待。

参数:

·timeout-以毫秒为单位,超过后该命令将返回错误。

waitForPopUp(windowID,timeout)

waitForPopUp(windowID,timeout)

wwaaiittFFoorrPPooppUUpp((wwiinnddoowwIIDD,,ttiimmeeoouutt))

等待一个弹出窗体出现和加载。

参数:

·windowID–将出现窗体的JavaScript窗体ID

·timeout-以毫秒为单位,超过后该命令将返回错误。

windowFocus()

windowFocus()

wwiinnddoowwFFooccuuss(())

将焦点赋给当前选择窗体

windowMaximize()

windowMaximize()

wwiinnddoowwMMaaxxiimmiizzee(())

重新设定当前窗体大小为全屏

----------------------- Page 15-----------------------

SeleniumAccessors

SeleniumAccessors

SSeelleenniiuummAAcccceessssoorrss

assertErrorOnNext(message)

assertErrorOnNext(message)

aasssseerrttEErrrroorrOOnnNNeexxtt((mmeessssaaggee))

告诉Selenium在下一个命令执行时期待有错误。

参数:

·message–我们所期望的错误信息。如果出现不正确的错误信息,该命令

将失败。

同断言相关联,自动生成:

·assertNotErrorOnNext(message) ·verifyErrorOnNext(message)

·verifyNotErrorOnNext(message)

·waitForErrorOnNext(message)

·waitForNotErrorOnNext(message)

assertFailureOnNext(message)

assertFailureOnNext(message)

aasssseerrttFFaaiilluurreeOOnnNNeexxtt((mmeessssaaggee))

告诉Selenium在下一个命令执行时期待有失败。

参数:

·message–我们所期望的失败信息。如果出现不正确的失败信息,该命令

将失败。

同断言相关联,自动生成:

·assertNotFailureOnNext(message)

·verifyFailureOnNext(message)

·verifyNotFailureOnNext(message)

·waitForFailureOnNext(message)

·waitForNotFailureOnNext(message)

assertSelected(selectLocator,optionLocator)

assertSelected(selectLocator,optionLocator)

aasssseerrttSSeelleecctteedd((sseelleeccttLLooccaattoorr,,ooppttiioonnLLooccaattoorr))

验证从下拉框中选择的选项满足选项指定器。

注意,不赞成使用该命令;你应该使用assertSelectedLabel,assertSelectedValue,

assertSelectedIndex,或assertSelectedId进行代替。

查看选择命令获取更多关于选择定位器的信息。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

optionLocator– ( ‖John

· 一个选项定位器,代表性的就是一个选项标签如

Smith‖)

同断言相关联,自动生成:

·assertNotSelected(selectLocator,optionLocator)

·verifySelected(selectLocator,optionLocator)

·verifyNotSelected(selectLocator,optionLocator)

·waitForSelected(selectLocator,optionLocator)

----------------------- Page 16-----------------------

·waitForNotSelected(selectLocator,optionLocator)

storeAlert(variableName)

storeAlert(variableName) ssttoorreeAAlleerrtt((vvaarriiaabblleeNNaammee))

返回在之前动作所产生的JavaScript警告消息,如果没有警告将失败。

得到一个警告同手动点击OK有着相同的效果。如果产生了一个警告,而你并

不去得到/验证它,那么下一个Selenium动作将失败。

注意:在Selenium中,JavaScript警告将不会弹出一个可见的警告对话框。

注意:Selenium不支持在页面的onload()事件句柄中所产生的JavaScript警告。

在这种情况下,将会生成一个可见的对话框,Selenium将被悬停直到手动点击

OK。

Returns:

Returns:

RReettuurrnnss::

最近JavaScript的警告消息

同断言相关联,自动生成:

·assertAlert(pattern)

·assertNotAlert(pattern)

·verifyAlert(pattern)

·verifyNotAlert(pattern)

·waitForAlert(pattern)

·waitForNotAlert(pattern)

storeAllButtons(variableName)

返回页面上所有按钮的ID集。

如果被给与的按钮没有ID,则将在结果数组中显示为‖‖。

Returns:

Returns:

RReettuurrnnss::

页面上所有按钮的ID集。

同断言相关联,自动生成:

·assertAllButtons(pattern)

·assertNotAllButtons(pattern)

·verifyAllButtons(pattern)

·verifyNotAllButtons(pattern)

·waitForAllButtons(pattern)

·waitForNotAllButtons(pattern)

storeAllFields(variableName)

返回页面上所有可输入域的ID集。

如果被给与的域没有ID,则将在结果数组中显示为‖‖

Returns: Returns:

RReettuurrnnss::

页面上所有域的ID集。

----------------------- Page 17-----------------------

同断言相关联,自动生成:

·assertAllFields(pattern)

·assertNotAllFields(pattern)

·verifyAllFields(pattern)

·verifyNotAllFields(pattern)

·waitForAllFields(pattern)

·waitForNotAllFields(pattern)

storeAllLinks(variableName)

storeAllLinks(variableName)

ssttoorreeAAllllLLiinnkkss((vvaarriiaabblleeNNaammee))

返回页面上所有链接的ID集。

如果被给与的链接没有ID,则将在结果数组中显示为‖‖

Returns:

Returns:

RReettuurrnnss::

页面上所有链接的ID集。

同断言相关联,自动生成:

·assertAllLinks(pattern)

·assertNotAllLinks(pattern)

·verifyAllLinks(pattern)

·verifyNotAllLinks(pattern)

·waitForAllLinks(pattern)

·waitForNotAllLinks(pattern)

storeAllWindowIds(variableName)

storeAllWindowIds(variableName)

ssttoorreeAAllllWWiinnddoowwIIddss((vvaarriiaabblleeNNaammee))

返回所有浏览器已知的窗体ID集。

Returns:

Returns:

RReettuurrnnss::

ID

所有浏览器已知的窗体 集。

同断言相关联,自动生成: ·assertAllWindowIds(pattern)

·assertNotAllWindowIds(pattern)

·verifyAllWindowIds(pattern)

·verifyNotAllWindowIds(pattern)

·waitForAllWindowIds(pattern)

·waitForNotAllWindowIds(pattern)

storeAllWindowNames(variableName)

storeAllWindowNames(variableName)

ssttoorreeAAllllWWiinnddoowwNNaammeess((vvaarriiaabblleeNNaammee))

返回所有浏览器已知的窗体名称集。

Returns:

Returns:

RReettuurrnnss::

所有浏览器已知的窗体名称集。

同断言相关联,自动生成:

·assertAllWindowNames(pattern)

·assertNotAllWindowNames(pattern)

----------------------- Page 18-----------------------

·verifyAllWindowNames(pattern)

·verifyNotAllWindowNames(pattern)

·waitForAllWindowNames(pattern)

·waitForNotAllWindowNames(pattern)

storeAllWindowTitles(variableName)

storeAllWindowTitles(variableName)

ssttoorreeAAllllWWiinnddoowwTTiittlleess((vvaarriiaabblleeNNaammee))

返回所有浏览器已知的窗体标题集。

Returns:

Returns:

RReettuurrnnss::

所有浏览器已知的窗体标题集。

同断言相关联,自动生成:

·assertAllWindowTitles(pattern)

·assertNotAllWindowTitles(pattern)

·verifyAllWindowTitles(pattern)

·verifyNotAllWindowTitles(pattern)

·waitForAllWindowTitles(pattern)

·waitForNotAllWindowTitles(pattern)

storeAttribute(attributeLocator,variableName)

storeAttribute(attributeLocator,variableName)

ssttoorreeAAttttrriibbuuttee((aattttrriibbuutteeLLooccaattoorr,,vvaarriiaabblleeNNaammee))

获得一个元素属性值。

参数:

·attributeLocator–由@符号开头,后跟随属性名,如‖foo@bar‖

·variableName–用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

指定属性的值

同断言相关联,自动生成:

·assertAttribute(attributeLocator,pattern)

·assertNotAttribute(attributeLocator,pattern)

·verifyAttribute(attributeLocator,pattern)

·verifyNotAttribute(attributeLocator,pattern)

·waitForAttribute(attributeLocator,pattern)

·waitForNotAttribute(attributeLocator,pattern)

storeAttributeFromAllWindows(attributeName,variableName)

storeAttributeFromAllWindows(attributeName,variableName)

ssttoorreeAAttttrriibbuutteeFFrroommAAllllWWiinnddoowwss((aattttrriibbuutteeNNaammee,,vvaarriiaabblleeNNaammee))

返回所有已知窗体的某些属性的每一个实例。

参数:

·attributeName–窗体某属性的名称

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

从所有已知窗体获得的该属性的数值集。

同断言相关联,自动生成:

·assertAttributeFromAllWindows(attributeName,pattern)

----------------------- Page 19-----------------------

·assertNotAttributeFromAllWindows(attributeName,pattern)

·verifyAttributeFromAllWindows(attributeName,pattern)

·verifyNotAttributeFromAllWindows(attributeName,pattern)

·waitForAttributeFromAllWindows(attributeName,pattern)

·waitForNotAttributeFromAllWindows(attributeName,pattern)

storeBodyText(variableName) storeBodyText(variableName)

ssttoorreeBBooddyyTTeexxtt((vvaarriiaabblleeNNaammee))

获取页面上所有文本。

Returns:

Returns:

RReettuurrnnss::

页面上所有文本

同断言相关联,自动生成:

·assertBodyText(pattern)

·assertNotBodyText(pattern)

·verifyBodyText(pattern)

·verifyNotBodyText(pattern)

·waitForBodyText(pattern)

·waitForNotBodyText(pattern)

storeConfirmation(variableName)

storeConfirmation(variableName)

ssttoorreeCCoonnffiirrmmaattiioonn((vvaarriiaabblleeNNaammee))

返回在之前动作所产生的JavaScript确认消息。

默认情况下,confirm函数将返回true,同手动点击OK有着相同的效果。这可

以通过之前执行chooseCancelOnNextConfirmation命令改变。如果产生了一个

确认,而你并不去得到验证它,那么下一个/ Selenium动作将失败。

注意:在Selenium中,JavaScript确认将不会弹出一个可见的对话框。

注意:Selenium不支持在页面的onload()事件句柄中所产生的JavaScript警告。

在这种情况下,将会生成一个可见的对话框,Selenium将被悬停直到手动点击

OK。

Returns:

Returns:

RReettuurrnnss::

最近JavaScript的确认消息

同断言相关联,自动生成:

·assertConfirmation(pattern)

·assertNotConfirmation(pattern)

·verifyConfirmation(pattern)

·verifyNotConfirmation(pattern)

·waitForConfirmation(pattern)

·waitForNotConfirmation(pattern)

storeCookie(variableName)

storeCookie(variableName)

ssttoorreeCCooookkiiee((vvaarriiaabblleeNNaammee)) 返回当前测试下当前页面的所有cookies

Returns:

Returns:

RReettuurrnnss::

当前测试下当前页面的所有cookies

----------------------- Page 20-----------------------

同断言相关联,自动生成:

·assertCookie(pattern)

·assertNotCookie(pattern)

·verifyCookie(pattern)

·verifyNotCookie(pattern)

·waitForCookie(pattern)

·waitForNotCookie(pattern)

storeCursorPosition(locator,variableName)

storeCursorPosition(locator,variableName)

ssttoorreeCCuurrssoorrPPoossiittiioonn((llooccaattoorr,,vvaarriiaabblleeNNaammee))

返回所给与的输入元素或文本域的文本光标位置。

要注意,这并不在所有的浏览器中有效。

特别指出,如果光标/选择已经被JavaScript所清除,该命令将尝试返回光标所

在的最后位置,即使光标已经不在该页面。这被归档为SEL-243。

如果指定元素不是一个可输入元素或文本域,或没有光标在此元素上,该方法

将失败。

参数:

·locator–一个指向输入元素或文本域的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

在该域中的光标数字位置

同断言相关联,自动生成:

·assertCursorPosition(locator,pattern)

·assertNotCursorPosition(locator,pattern)

·verifyCursorPosition(locator,pattern)

·verifyNotCursorPosition(locator,pattern)

·waitForCursorPosition(locator,pattern)

·waitForNotCursorPosition(locator,pattern)

storeElementHeight(locator,variableName)

storeElementHeight(locator,variableName) ssttoorreeEElleemmeennttHHeeiigghhtt((llooccaattoorr,,vvaarriiaabblleeNNaammee))

返回元素的高度

参数:

·locator–一个指向元素的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

元素的高度

同断言相关联,自动生成:

·assertElementHeight(locator,pattern)

·assertNotElementHeight(locator,pattern)

·verifyElementHeight(locator,pattern)

·verifyNotElementHeight(locator,pattern)

----------------------- Page 21-----------------------

·waitForElementHeight(locator,pattern)

·waitForNotElementHeight(locator,pattern)

storeElementIndex(locator,variableName)

storeElementIndex(locator,variableName)

ssttoorreeEElleemmeennttIInnddeexx((llooccaattoorr,,vvaarriiaabblleeNNaammee))

获取元素相对于其父元素的索引(从0开始)。注释节点和空文本节点将被忽略。

参数:

·locator–一个指向元素的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

元素相对于其父元素的索引(从0开始)

同断言相关联,自动生成:

·assertElementIndex(locator,pattern)

·assertNotElementIndex(locator,pattern)

·verifyElementIndex(locator,pattern)

·verifyNotElementIndex(locator,pattern)

·waitForElementIndex(locator,pattern)

·waitForNotElementIndex(locator,pattern)

storeElementPositionLeft(locator,variableName)

storeElementPositionLeft(locator,variableName)

ssttoorreeEElleemmeennttPPoossiittiioonnLLeefftt((llooccaattoorr,,vvaarriiaabblleeNNaammee)) 返回元素的水平位置

参数:

·locator–一个指向元素的元素定位器或元素本身

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

到框架边缘的像素。

同断言相关联,自动生成:

·assertElementPositionLeft(locator,pattern)

·assertNotElementPositionLeft(locator,pattern)

·verifyElementPositionLeft(locator,pattern)

·verifyNotElementPositionLeft(locator,pattern)

·waitForElementPositionLeft(locator,pattern)

·waitForNotElementPositionLeft(locator,pattern)

storeElementPositionTop(locator,variableName)

storeElementPositionTop(locator,variableName)

ssttoorreeEElleemmeennttPPoossiittiioonnTToopp((llooccaattoorr,,vvaarriiaabblleeNNaammee))

返回元素的纵向位置

参数:

·locator–一个指向元素的元素定位器或元素本身

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

到框架边缘的像素。

同断言相关联,自动生成:

----------------------- Page 22-----------------------

·assertElementPositionTop(locator,pattern)

·assertNotElementPositionTop(locator,pattern)

·verifyElementPositionTop(locator,pattern)

·verifyNotElementPositionTop(locator,pattern)

·waitForElementPositionTop(locator,pattern)

·waitForNotElementPositionTop(locator,pattern)

storeElementWidth(locator,variableName)

storeElementWidth(locator,variableName)

ssttoorreeEElleemmeennttWWiiddtthh((llooccaattoorr,,vvaarriiaabblleeNNaammee))

返回元素的宽度 参数:

·locator–一个指向元素的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

元素的宽度(以像素为单位)

同断言相关联,自动生成:

·assertElementWidth(locator,pattern)

·assertNotElementWidth(locator,pattern)

·verifyElementWidth(locator,pattern)

·verifyNotElementWidth(locator,pattern)

·waitForElementWidth(locator,pattern)

·waitForNotElementWidth(locator,pattern)

storeEval(script,variableName)

storeEval(script,variableName)

ssttoorreeEEvvaall((ssccrriipptt,,vvaarriiaabblleeNNaammee))

获得指定JavaScript片段执行后的值。该片段可以有多行,但只返回最后一行

的值。要注意到,默认情况下,该片段将在‖selenium‖对象本身的上下文中运

行,因此其将提交给Selenium对象。用window将窗体提交给你的应用程序,

如:

mentById(‗foo‘)

如果你不得不在你的应用程序页面使用一个定位器提交一个单元素,你可以用

ement(―id=foo‖),这里‖id=foo‖就是你的定位器。

参数:

·script–要运行的JavaScript

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

片段执行后的值

同断言相关联,自动生成:

·assertEval(script,pattern)

·assertNotEval(script,pattern)

·verifyEval(script,pattern)

·verifyNotEval(script,pattern)

·waitForEval(script,pattern)

----------------------- Page 23-----------------------

·waitForNotEval(script,pattern)

storeExpression(expression,variableName)

storeExpression(expression,variableName)

ssttoorreeEExxpprreessssiioonn((eexxpprreessssiioonn,,vvaarriiaabblleeNNaammee))

返回指定表达式。

由于JavaScript的预处理机制使其显得非常有用。它可以用于生成如

assertExpression和waitForExpression命令。

参数:

·expression–要返回的值

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

通过的值

同断言相关联,自动生成:

·assertExpression(expression,pattern)

·assertNotExpression(expression,pattern)

·verifyExpression(expression,pattern)

·verifyNotExpression(expression,pattern)

·waitForExpression(expression,pattern)

·waitForNotExpression(expression,pattern)

storeHtmlSource(variableName)

storeHtmlSource(variableName)

ssttoorreeHHttmmllSSoouurrccee((vvaarriiaabblleeNNaammee))

返回‖html‖标签间的整个HTML源代码。

Returns:

Returns:

RReettuurrnnss::

整个HTML源代码

同断言相关联,自动生成:

·assertHtmlSource(pattern)

·assertNotHtmlSource(pattern)

·verifyHtmlSource(pattern)

·verifyNotHtmlSource(pattern)

·waitForHtmlSource(pattern)

·waitForNotHtmlSource(pattern)

storeLocation(variableName)

storeLocation(variableName)

ssttoorreeLLooccaattiioonn((vvaarriiaabblleeNNaammee)) 取得当前页面的绝对路径

Returns:

Returns:

RReettuurrnnss::

当前页面的绝对路径

同断言相关联,自动生成:

·assertLocation(pattern)

·assertNotLocation(pattern)

·verifyLocation(pattern)

·verifyNotLocation(pattern)

·waitForLocation(pattern)

----------------------- Page 24-----------------------

·waitForNotLocation(pattern)

storeMouseSpeed(variableName)

storeMouseSpeed(variableName)

ssttoorreeMMoouusseeSSppeeeedd((vvaarriiaabblleeNNaammee))

返回在dragAndDrop命令执行期间,‖mousemove‖事件时的像素数字默认为(

10)

Returns:

Returns:

RReettuurrnnss::

dragAndDrop命令执行期间,‖mousemove‖事件时的像素数字默认为( 10)

同断言相关联,自动生成:

·assertMouseSpeed(pattern)

·assertNotMouseSpeed(pattern)

·verifyMouseSpeed(pattern)

·verifyNotMouseSpeed(pattern)

·waitForMouseSpeed(pattern)

·waitForNotMouseSpeed(pattern)

storePrompt(variableName)

storePrompt(variableName)

ssttoorreePPrroommpptt((vvaarriiaabblleeNNaammee))

返回在之前动作所产生的JavaScript问题提示消息。

要成功挂起问题提示需要先运行answerOnNextPrompt命令。如果产生了一个

问题提示,而你并不去得到验证它,那么下一个/ Selenium动作将失败。

注意:在Selenium中,JavaScript确认将不会弹出一个可见的对话框。

注意:Selenium不支持在页面的onload()事件句柄中所产生的JavaScript问题提

示。在这种情况下,将会生成一个可见的对话框,Selenium将被悬停直到手动 OK

点击 。

Returns:

Returns:

RReettuurrnnss::

最近JavaScript的问题提示消息

同断言相关联,自动生成:

·assertPrompt(pattern)

·assertNotPrompt(pattern)

·verifyPrompt(pattern)

·verifyNotPrompt(pattern)

·waitForPrompt(pattern)

·waitForNotPrompt(pattern)

storeSelectedId(selectLocator,variableName)

storeSelectedId(selectLocator,variableName)

ssttoorreeSSeelleecctteeddIIdd((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

获取从指定选择元素中选择的选项元素ID。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

从指定选择元素中选择的选项元素ID

----------------------- Page 25-----------------------

同断言相关联,自动生成:

·assertSelectedId(selectLocator,pattern)

·assertNotSelectedId(selectLocator,pattern)

·verifySelectedId(selectLocator,pattern)

·verifyNotSelectedId(selectLocator,pattern)

·waitForSelectedId(selectLocator,pattern)

·waitForNotSelectedId(selectLocator,pattern)

storeSelectedIds(selectLocator,variableName)

storeSelectedIds(selectLocator,variableName)

ssttoorreeSSeelleecctteeddIIddss((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定选择或多选元素中获取选择的选项元素ID集。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器 ·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

ID

从指定选择或多选元素中选择的选项元素 集合数组

同断言相关联,自动生成:

·assertSelectedIds(selectLocator,pattern)

·assertNotSelectedIds(selectLocator,pattern)

·verifySelectedIds(selectLocator,pattern)

·verifyNotSelectedIds(selectLocator,pattern)

·waitForSelectedIds(selectLocator,pattern)

·waitForNotSelectedIds(selectLocator,pattern)

storeSelectedIndex(selectLocator,variableName)

storeSelectedIndex(selectLocator,variableName)

ssttoorreeSSeelleecctteeddIInnddeexx((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定的选择元素中获取被选项索引(从0开始)。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

从指定选择元素中选择的选项元素索引

同断言相关联,自动生成:

·assertSelectedIndex(selectLocator,pattern)

·assertNotSelectedIndex(selectLocator,pattern)

·verifySelectedIndex(selectLocator,pattern)

·verifyNotSelectedIndex(selectLocator,pattern)

·waitForSelectedIndex(selectLocator,pattern)

·waitForNotSelectedIndex(selectLocator,pattern)

storeSelectedIndexs(selectLocator,variableName)

storeSelectedIndexs(selectLocator,variableName)

ssttoorreeSSeelleecctteeddIInnddeexxss((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定的选择或多选元素中获取被选项索引(从0开始)集。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

----------------------- Page 26-----------------------

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

从指定选择或多选元素中选择的选项元素索引集合数组

同断言相关联,自动生成:

·assertSelectedIndexs(selectLocator,pattern)

·assertNotSelectedIndexs(selectLocator,pattern)

·verifySelectedIndexs(selectLocator,pattern)

·verifyNotSelectedIndexs(selectLocator,pattern)

·waitForSelectedIndexs(selectLocator,pattern)

·waitForNotSelectedIndexs(selectLocator,pattern)

storeSelectedLabel(selectLocator,variableName)

storeSelectedLabel(selectLocator,variableName)

ssttoorreeSSeelleecctteeddLLaabbeell((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定的选择元素中获取所选择的选项标签(可见文本)。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

所选择的选项标签

同断言相关联,自动生成:

·assertSelectedLabel(selectLocator,pattern)

·assertNotSelectedLabel(selectLocator,pattern)

·verifySelectedLabel(selectLocator,pattern)

·verifyNotSelectedLabel(selectLocator,pattern)

·waitForSelectedLabel(selectLocator,pattern)

·waitForNotSelectedLabel(selectLocator,pattern)

storeSelectedLabels(selectLocator,variableName)

storeSelectedLabels(selectLocator,variableName)

ssttoorreeSSeelleecctteeddLLaabbeellss((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定的选择或多选元素中获取所选择的选项标签(可见文本)。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss:: 所选择的选项标签

同断言相关联,自动生成:

·assertSelectedLabel(selectLocator,pattern)

·assertNotSelectedLabel(selectLocator,pattern)

·verifySelectedLabel(selectLocator,pattern)

·verifyNotSelectedLabel(selectLocator,pattern)

·waitForSelectedLabel(selectLocator,pattern)

·waitForNotSelectedLabel(selectLocator,pattern)

----------------------- Page 27-----------------------

storeSelectedValue(selectLocator,variableName)

storeSelectedValue(selectLocator,variableName)

ssttoorreeSSeelleecctteeddVVaalluuee((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定的选择元素中获取所选择的选项值(值属性)。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

所选择的选项值

同断言相关联,自动生成:

·assertSelectedValue(selectLocator,pattern)

·assertNotSelectedValue(selectLocator,pattern)

·verifySelectedValue(selectLocator,pattern)

·verifyNotSelectedValue(selectLocator,pattern)

·waitForSelectedValue(selectLocator,pattern)

·waitForNotSelectedValue(selectLocator,pattern)

storeSelectedValues(selectLocator,variableName)

storeSelectedValues(selectLocator,variableName)

ssttoorreeSSeelleecctteeddVVaalluueess((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

从指定的选择或多选元素中获取所有所选择的选项值(值属性)。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

所有所选择的选项值数组

同断言相关联,自动生成:

·assertSelectedValues(selectLocator,pattern)

·assertNotSelectedValues(selectLocator,pattern)

·verifySelectedValues(selectLocator,pattern)

·verifyNotSelectedValues(selectLocator,pattern)

·waitForSelectedValues(selectLocator,pattern)

·waitForNotSelectedValues(selectLocator,pattern)

storeSelectOptions(selectLocator,variableName)

storeSelectOptions(selectLocator,variableName)

ssttoorreeSSeelleeccttOOppttiioonnss((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

获取指定选择下拉框的选项标签。

参数:

·selectLocator-一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

指定选择下拉框的选项标签数组

同断言相关联,自动生成:

·assertSelectedOptions(selectLocator,pattern)

·assertNotSelectedOptions(selectLocator,pattern)

·verifySelectedOptions(selectLocator,pattern)

----------------------- Page 28-----------------------

·verifyNotSelectedOptions(selectLocator,pattern)

·waitForSelectedOptions(selectLocator,pattern)

·waitForNotSelectedOptions(selectLocator,pattern)

storeTable(tableCellAddress,variableName)

storeTable(tableCellAddress,variableName)

ssttoorreeTTaabbllee((ttaabblleeCCeellllAAddddrreessss,,vvaarriiaabblleeNNaammee))

从某个表的单元格中获取文本。单元格地址语法如,这

row column 0

里的 和 从 开始。

参数:

·tableCellAddress–一个单元格地址,如‖foo.1.4‖

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

从指定单元格取出的文本

同断言相关联,自动生成:

·assertTable(tableCellAddress,pattern)

·assertNotTable(tableCellAddress,pattern)

·verifyTable(tableCellAddress,pattern)

·verifyNotTable(tableCellAddress,pattern)

·waitForTable(tableCellAddress,pattern)

·waitForNotTable(tableCellAddress,pattern)

storeText(locator,variableName)

storeText(locator,variableName)

ssttoorreeTTeexxtt((llooccaattoorr,,vvaarriiaabblleeNNaammee))

获取元素的文本。这对任何包含文本的元素都有效。该命令即可以用于如火狐

textContent IE innerText

浏览器的 ,也可以用于如 浏览器的 ——显示给用户的。

参数:

·locator-一个元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

元素的文本

同断言相关联,自动生成:

·assertText(locator,pattern)

·assertNotText(locator,pattern)

·verifyText(locator,pattern)

·verifyNotText(locator,pattern)

·waitForText(locator,pattern)

·waitForNotText(locator,pattern)

storeTitle(variableName)

storeTitle(variableName)

ssttoorreeTTiittllee((vvaarriiaabblleeNNaammee))

获取当前页面的标题。

Returns:

Returns:

RReettuurrnnss::

当前页面的标题。

同断言相关联,自动生成:

----------------------- Page 29-----------------------

·assertTitle(pattern)

·assertNotTitle(pattern)

·verifyTitle(pattern)

·verifyNotTitle(pattern)

·waitForTitle(pattern)

·waitForNotTitle(pattern)

storeValue(locator,variableName)

storeValue(locator,variableName)

ssttoorreeVVaalluuee((llooccaattoorr,,vvaarriiaabblleeNNaammee))

获得一个输入域(或任何包含value参数的元素)的值(已去除空格)。对于

checkbox/radio元素,其值为‖on‖还是‖off‖依赖于该元素是否被选中。

参数:

·locator-一个元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

元素值,对于checkbox/radio元素则为‖on/off‖

同断言相关联,自动生成:

·assertValue(locator,pattern)

·assertNotValue(locator,pattern)

·verifyValue(locator,pattern)

·verifyNotValue(locator,pattern)

·waitForValue(locator,pattern)

·waitForNotValue(locator,pattern)

storeWhetherThisFrameMatchFrameExpression(currenFrameString,target,vari

storeWhetherThisFrameMatchFrameExpression(currenFrameString,target,vari

ssttoorreeWWhheetthheerrTThhiissFFrraammeeMMaattcchhFFrraammeeEExxpprreessssiioonn((ccuurrrreennFFrraammeeSSttrriinngg,,ttaarrggeett,,vvaarrii

ableName)

ableName)

aabblleeNNaammee))

确定当前框架是否包含该运行代码。

这对于代理注入代码模式非常有用,这些代码在每个浏览器框架和窗体中运

行,有时seleniumserver需要识别当前是哪个框架。这种情况下,当测试调用

selectFrame,该程序将被每个框架调用以指出哪个框架被选择。被选择的框架

true false

将返回 ,而其他将返回 。

参数:

·currenFrameString–开始框架 ·target–新框架也许与当前框架相关联( )

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

如果新框架为该代码的窗体,返回true

同断言相关联,自动生成:

·assertWhetherThisFrameMatchFrameExpression

(currenFrameString,target)

·assertNotWhetherThisFrameMatchFrameExpression

currenFrameString target

( , )

----------------------- Page 30-----------------------

·verifyWhetherThisFrameMatchFrameExpression

(currenFrameString,target)

·verifyNotWhetherThisFrameMatchFrameExpression

currenFrameString target

( , )

·waitForWhetherThisFrameMatchFrameExpression

(currenFrameString,target)

·waitForNotWhetherThisFrameMatchFrameExpression

currenFrameString target

( , )

storeWhetherThisWindowMatchWindowExpression(currenWindowString,targe

storeWhetherThisWindowMatchWindowExpression(currenWindowString,targe

ssttoorreeWWhheetthheerrTThhiissWWiinnddoowwMMaattcchhWWiinnddoowwEExxpprreessssiioonn((ccuurrrreennWWiinnddoowwSSttrriinngg,,ttaarrggee

t,variableName)

t,variableName)

tt,,vvaarriiaabblleeNNaammee))

确定当前窗体是否包含该运行代码。

这对于代理注入代码模式非常有用,这些代码在每个浏览器框架和窗体中运

行,有时seleniumserver需要识别当前是哪个窗体。这种情况下,当测试调用

selectWindow,该程序将被每个窗体调用以指出哪个窗体被选择。被选择的窗

true false

体将返回 ,而其他将返回 。

参数:

·currenFrameString–开始窗体

·target–新窗体也许与当前窗体相关联,如,( ‖_parent‖) ·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

如果新窗体为该代码的窗体,返回true

同断言相关联,自动生成:

·assertWhetherThisWindowMatchWindowExpression

currenWindowString target

( , )

·assertNotWhetherThisWindowMatchWindowExpression

(currenWindowString,target)

·verifyWhetherThisWindowMatchWindowExpression

currenWindowString target

( , )

·verifyNotWhetherThisWindowMatchWindowExpression

(currenWindowString,target)

·waitForWhetherThisWindowMatchWindowExpression

currenWindowString target

( , )

·waitForNotWhetherThisWindowMatchWindowExpression

(currenWindowString,target)

storeXpathCount(xpath,variableName)

storeXpathCount(xpath,variableName)

ssttoorreeXXppaatthhCCoouunntt((xxppaatthh,,vvaarriiaabblleeNNaammee))

返回匹配指定xpath的节点数,如‖//table‖将给出表的个数。

参数:

·xpath–要计算的xpath表达式。不要用‘count()‘函数将该表达式包含起来,

我们将自动帮你作这件事。

·variableName-用于存储结果的变量名。

----------------------- Page 31-----------------------

Returns:

Returns:

RReettuurrnnss::

匹配指定xpath的节点数

同断言相关联,自动生成:

·assertXpathCount(xpath,pattern)

·assertNotXpathCount(xpath,pattern)

·verifyXpathCount(xpath,pattern)

·verifyNotXpathCount(xpath,pattern) ·waitForXpathCount(xpath,pattern)

·waitForNotXpathCount(xpath,pattern)

storeAlertPresent(variableName)

storeAlertPresent(variableName)

ssttoorreeAAlleerrttPPrreesseenntt((vvaarriiaabblleeNNaammee))

发生警告了?

该函数永远不会抛出异常

Returns:

Returns:

RReettuurrnnss::

如果有警告返回true

同断言相关联,自动生成:

·assertAlertPresent()

·assertNotAlertPresent()

·verifyAlertPresent()

·verifyNotAlertPresent()

·waitForAlertPresent()

·waitForNotAlertPresent()

storeChecked(locator,variableName)

storeChecked(locator,variableName)

ssttoorreeCChheecckkeedd((llooccaattoorr,,vvaarriiaabblleeNNaammee))

获取一个关联性按钮(checkbox/radio)是否被勾选。如果指定元素不存在或不是

一个关联性按钮,将失败。

参数:

·locator–一个执行checkbox或radio按钮的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

如果该checkbox被勾选,返回true,否则返回false

同断言相关联,自动生成:

·assertChecked(locator)

·assertNotChecked(locator)

·verifyChecked(locator)

·verifyNotChecked(locator)

·waitForChecked(locator)

·waitForNotChecked(locator)

storeConfirmationPresent(variableName)

storeConfirmationPresent(variableName) ssttoorreeCCoonnffiirrmmaattiioonnPPrreesseenntt((vvaarriiaabblleeNNaammee))

confirm()被调用了?

----------------------- Page 32-----------------------

该函数永远不会抛出异常

Returns:

Returns:

RReettuurrnnss::

如果有一个未决的确认返回true

同断言相关联,自动生成:

·assertConfirmationPresent()

·assertNotConfirmationPresent()

·verifyConfirmationPresent()

·verifyNotConfirmationPresent()

·waitForConfirmationPresent()

·waitForNotConfirmationPresent()

storeEditable(locator,variableName)

storeEditable(locator,variableName)

ssttoorreeEEddiittaabbllee((llooccaattoorr,,vvaarriiaabblleeNNaammee))

判定指定的输入元素是否为可编辑,且ie没有被禁用。如果指定元素不为一个

可输入元素,该函数将失败。

参数:

·locator–一个元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

true false

如果输入元素可编辑返回 ,否则返回

同断言相关联,自动生成:

·assertEditable(locator)

·assertNotEditable(locator)

·verifyEditable(locator)

·verifyNotEditable(locator)

·waitForEditable(locator)

·waitForNotEditable(locator)

storeElementPresent(locator,variableName)

storeElementPresent(locator,variableName)

ssttoorreeEElleemmeennttPPrreesseenntt((llooccaattoorr,,vvaarriiaabblleeNNaammee)) 验证指定元素在页面上。

参数:

·locator–一个元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

true false

如果该元素出现返回 ,否则返回

同断言相关联,自动生成:

·assertElementPresent(locator)

·assertNotElementPresent(locator)

·verifyElementPresent(locator)

·verifyNotElementPresent(locator)

·waitForElementPresent(locator)

·waitForNotElementPresent(locator)

----------------------- Page 33-----------------------

storeOrdered(locator1,locator2,variableName)

storeOrdered(locator1,locator2,variableName)

ssttoorreeOOrrddeerreedd((llooccaattoorr11,,llooccaattoorr22,,vvaarriiaabblleeNNaammee))

检查这两个元素是否有相同的父级,且在DOM中为顺序亲属。两个相同元素

将不考虑顺序。

参数:

·locator1–指向第一个元素的元素定位器

·locator2–指向第二个元素的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

如果元素1是元素2的兄长,返回true,否则返回false

同断言相关联,自动生成:

·assertOrdered(locator1,locator2)

·assertNotOrdered(locator1,locator2)

·verifyOrdered(locator1,locator2)

·verifyNotOrdered(locator1,locator2)

·waitForOrdered(locator1,locator2)

·waitForNotOrdered(locator1,locator2)

storePromptPresent(variableName)

storePromptPresent(variableName) ssttoorreePPrroommppttPPrreesseenntt((vvaarriiaabblleeNNaammee))

发生提示了?

该函数永远不会抛出异常

Returns:

Returns:

RReettuurrnnss::

如果有一个未决的提示返回true

同断言相关联,自动生成:

·assertPromptPresent()

·assertNotPromptPresent()

·verifyPromptPresent()

·verifyNotPromptPresent()

·waitForPromptPresent()

·waitForNotPromptPresent()

storeSomethingSelected(selectLocator,variableName)

storeSomethingSelected(selectLocator,variableName)

ssttoorreeSSoommeetthhiinnggSSeelleecctteedd((sseelleeccttLLooccaattoorr,,vvaarriiaabblleeNNaammee))

判定一个下拉菜单是否选择了某个选项。

参数:

·selectLocator–一个用于识别下拉菜单的元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

true false

如果选择某选项返回 ,否则返回

同断言相关联,自动生成:

·assertSomethingSelected(selectLocator)

·assertNotSomethingSelected(selectLocator)

----------------------- Page 34-----------------------

·verifySomethingSelected(selectLocator)

·verifyNotSomethingSelected(selectLocator)

·waitForSomethingSelected(selectLocator)

·waitForNotSomethingSelected(selectLocator)

storeTextPresent(pattern,variableName)

storeTextPresent(pattern,variableName)

ssttoorreeTTeexxttPPrreesseenntt((ppaatttteerrnn,,vvaarriiaabblleeNNaammee))

验证指定文本出现在提交给用户的页面上。 参数:

·pattern–用于匹配页面文本的范式

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

true false

如果该范式匹配文本返回 ,否则返回

同断言相关联,自动生成:

·assertTextPresent(pattern)

·assertNotTextPresent(pattern)

·verifyTextPresent(pattern)

·verifyNotTextPresent(pattern)

·waitForTextPresent(pattern)

·waitForNotTextPresent(pattern)

storeVisible(locator,variableName)

storeVisible(locator,variableName)

ssttoorreeVViissiibbllee((llooccaattoorr,,vvaarriiaabblleeNNaammee))

判定指定元素是否可见。一个元素可以通过将其本身或其父级的CSS‖visibility‖

属性设定为‖hidden‖,或将‖dispaly‖属性设定为‖none‖,以使其不可见。如果该

元素不存在,此方法将失败。

参数:

·locator–一个元素定位器

·variableName-用于存储结果的变量名。

Returns:

Returns:

RReettuurrnnss::

如果指定元素为可见返回true,否则返回false

同断言相关联,自动生成:

·assertVisible(locator)

·assertNotVisible(locator)

·verifyVisible(locator)

·verifyNotVisible(locator)

·waitForVisible(locator)

·waitForNotVisible(locator)