Selenium中文 API 参考手册

更新时间:2023-12-05 21:57:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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‖ 和‖document.forms[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=document.forms[′myForm′].myDropdown 〇 dom=document.images[56]

〇 dom=functionfoo(){returndocument.links[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的字符串。 如:returninDocument.getElementById(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[window.prompt()]所指定的回 答字符串。 参数:

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

assignId(locator,identifier)

″id″ ID

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

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

----------------------- Page 5----------------------- 参数:

·locator–指向某个元素的元素定位器 ·identifier– 为指定元素作为ID使用的字符串 break()

暂停当前正在进行的测试,并等待用户按下继续按钮。这个命令对于调试非常 有用,但使用时要特别小心,因为他将强制暂停自动化测试,直到用户手动操 作。

check(locator)

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

·locator–一个元素定位器

chooseCancelOnNextConfirmation()

默认情况下,Selenium的重载window.confirm()函数将返回true,等同于用 户手动点击OK;执行该命令后,下一次调用confirm()将返回false,等同于用 户手动点击了Cancel。Selenium对后来的确认动作将继续使用默认行为,自 动返回true(OK),除非/直到你为每个确认动作明确的调用此命令。

chooseOkOnNextConfirmation()

撤销调用chooseCancelOnNextConfirmation的效果。注意,Selenium的重载 window.confirm()函数通常将自动返回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-----------------------

) ) ) )

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片段

selenium.browserbot.getCurrentWindow(),然后让你的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:

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将窗体提交给你的应用程序, 如:

window.document.getElementById(?foo‘)

如果你不得不在你的应用程序页面使用一个定位器提交一个单元素,你可以用 this.browserbot.findElement(―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将被悬停直到手动

本文来源:https://www.bwwdw.com/article/p68t.html

Top