首页 Selenium_中文API

Selenium_中文API

举报
开通vip

Selenium_中文API SeleniumSeleniumSeleniumSelenium 中文 APIAPIAPIAPI 最近研究了下 Selenium,苦于网上中文资料太少,便自己翻译了下 Selenium官网上的 API,便于大家一起沟通和学习。 由于本人英文水平有限,部分字词句的拿捏可能不太到位,希望各位朋友给出宝贵意见哈 概念 Selenium 通过命令进行驱动。Selenium 可归纳为三种“风格”:动作、辅助和断 言。每一个命令调用就是下表中的一行。 命令 目标 值 动作(Actions)(Actions)(Acti...

Selenium_中文API
SeleniumSeleniumSeleniumSelenium 中文 APIAPIAPIAPI 最近研究了下 Selenium,苦于网上中文资料太少,便自己翻译了下 Selenium官网上的 API,便于大家一起沟通和学习。 由于本人英文水平有限,部分字词句的拿捏可能不太到位,希望各位朋友给出宝贵意见哈 概念 Selenium 通过命令进行驱动。Selenium 可归纳为三种“风格”:动作、辅助和断 言。每一个命令调用就是下表中的一行。 命令 目标 值 动作(Actions)(Actions)(Actions)(Actions)命令一般用于操作应用程序的状态。它们通过如”点击链接”和”选 择选项”的方式进行工作。如果一个动作执行失败,或是有错误,当前的测试将 会停止执行。 许多动作可以被包含后缀”并等待”的方式进行调用,例如,”点击并等待”。这个后 缀告知 Selenium,该命令将使浏览器向服务器产生一个请求,并使得 Selenium 等待加载一个新的页面。 辅助(Accessors)(Accessors)(Accessors)(Accessors)用于检查应用程序的状态并将结果存储在变量中。例 如”storeTitle”。它们同样可用于自动生成断言。 断言(Assertions)(Assertions)(Assertions)(Assertions)类似于辅助,但它们可以验证应用程序的状态是否同所期望的 相一致。例如包括”确认页面标题为 X”和”验证该复选框是否被勾选”。 所有的 Selenium 断言可以被用于三种模式:”assert”, “verify”,和”waitfor”。例如, 你可以”assertText”,”verifyText”,及”waitforText”。当”assert”失败时,该测试将 终止。当”verify”失败时,该测试将继续执行,并将错误记入日志。这就允许了 通过单条”assert”确保应用程序在正确的页面上,而通过一系列的”verify”断言测 试表单上的区域值,标签等。 “waitfor”命令用于等待某些条件变为真(可用于 Ajax 应用程序的测试)。如果该条 件已经为真,他们将立即成功执行。反之,如果该条件不为真,则将失败并暂停 测试,直到超过当前所设定的超时时间(参照后面的 setTimeout 动作)。 元素定位器(Element(Element(Element(Element Locators)Locators)Locators)Locators)告诉 Selenium是向HTML中的哪一个元素发送命 令。许多命令需要一个如”target”属性的元素定位器。这其中包括”elementId” 和”document. forms[0].element”。在接下来的部分将更详细的描述它们。 式样(Patterns)(Patterns)(Patterns)(Patterns)由于多种因素被使用着,如指定一个输入域的期望值,或识别一 个选择选项。Selenium 支持许多类型的式样,其中包括正则表达式,所有这些将 在接下来的章节中进行更详细的描述。 定义一个类用于运行 Selenium 命令。 元素定位器(Element(Element(Element(Element Locators)Locators)Locators)Locators) 元素定位器(Element Locators)告诉 Selenium是向 HTML中的哪一个元素发送命 令。一个定位器的格式如下: locatorType = argument 我们支持如下写法用于定位元素: ·identifier=id :根据指定的@id 属性选择元素。如果没有匹配的值,则选择 第一个@name 属性为 id 的元素。(参照后面) ·id=id :根据指定的@id 属性选择元素。 ·name=name :选择第一个根据指定的@name 所查找到的元素。 〇 username 〇 name=username 这里的 name 可以作为可选项跟在一个或多个元素过滤器的后面,通过空格进行 分隔。如果没有指定过滤类型,则假定为 value。 〇 name=flavour value=chocolate ·dom=javascriptExpression: 通过检测指定字符串查找元素。这使得你可以通 过 JavaScript 贯穿 HTML 文档对象。注意在这个字符串中返回值不是必须的; 仅仅只需要确保这条语句是你块中的最后一条。 〇 dom=document.forms[´myForm´].myDropdown 〇 dom=document.images[56] 〇 dom=function foo() { return document.links[1];}; foo(); ·xpath=xpathExpression: 通过 XPath 表达式定位元素。 〇 xpath=//img[@alt=´The image alt text´] 〇 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=The link text ·css=cssSelectorSyntax: 通过 css 选择器选择元素。请查询 CSS2 选择器, CSS3 选择器以获得更多信息。在下载下来的 selenium core package 中的 selenium test suite 里的 TestCssLocators test ,你同样可以查看到使用例 子。 〇 css=a[href=″#id3″] 〇 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,其他 元素过滤器(Element Filters) 元素过滤器可以同选择器一起使用,从一堆候选元素中进行筛选。它们当前仅使 用于’name’元素选择器。 过滤器看起来更像是选择器,也就是: filterType=argument 所支持的元素过滤器为: valuevaluevaluevalue=valuePattern 匹配元素时基于它们的值进行匹配。这在对一堆相似命名的关联按钮的筛 选中显得尤其有用。 indexindexindexindex=index 选择单个元素基于其在列表中的位置(从 0 开始)。 字符串匹配 式样 有各种各样的式样语法可用于匹配字符串值: ·glob:pattern: 用″glob″去匹配一个字符串。″Glob″是一种用于命令行 shells 的代表性的有限正则表达式语法。在一个 glob 式样中, ″*″代表任意序列字符集, 而″?″则代表任意单个字符。Glob 式样匹配整个字符串。 ·regexp:regexp: 使用正则表达式匹配字符串。可使用所有的 JavaScript 正则 表达式。 如果没有指定式样前缀,Selenium 假定其为″glob″式样。 Selenium Actions addLocationStrategyaddLocationStrategyaddLocationStrategyaddLocationStrategy (strategyName,(strategyName,(strategyName,(strategyName, functionDefinition)functionDefinition)functionDefinition)functionDefinition) 为 selenium 定义一个新的函数用于定位页面上的元素。例如,如果你定义了 一个方法″foo″,并运行了 click(″foo=blah″),我们将运行你的函数,传递给你字 符串″blah″,并点击该函数所返回的元素,如果返回为 null,则抛出一个″Element not found″的错误。我们将给该函数传递三个参数。 ·locator: 用户传递过来的字符串 ·inWindow: 当前所选中的窗体 ·inDocument: 当前所选中的文档 如果未找到相应的元素,则函数必须返回一个 null。 参数: ·strategyName – 定义的方法名;只能使用字母[a-zA-Z],不能包含空格 或其他标点符号。 ·functionDefinition – 在 JavaScript 函数中的一个定义 body 的字符串。 如:return inDocument.getElementById(locator); addSelection (locator, optioLocator) 为通过使用选择定位器,在一个可多选元素中所选择的集合添加一个 selection。@查看#doSelect 关于选择定位器的细节。 参数: ·locator – 用于指定一个多选框的元素定位器 ·optionLocator – 一个选择定位器(默认为标签) allowNativeXpath (allow) 指定Selenium是否使用XPath的本地浏览执行(如果有可用的本地版本);如果传 递的值为″false″,我们将使用 pure-JavaScript xpath 库。使用 pure-JS xpath 库可以 提高 xpath 元素定位器在不同浏览器中的一致性,但其执行速度将大大低于本地 执行。 参数: ·allow – Boolean,true 意味着我们更愿意使用本地 XPath;false 则意味 着我们将只使用 JS XPath altKeyDown() 按下 alt 键并保持其按下状态,直到 doAltUp()被调用或一个新的页面被加载。 altKeyUp() 释放 alt 键 answerOnNextPrompt (answer) 通知 Selenium 返回下一次 JavaScript prompt[window.prompt()]所指定的回 答字符串。 参数: ·answer – 对弹出的提示所给与的回答 assignId (locator,identifier) 临时为指定元素设定一个″id″属性,使你可以在将来使用其 ID,以代替缓慢且 更复杂的 XPath。该 ID 将在页面重载后消失。 参数: ·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() 模拟用户点击弹出窗体或表单标题栏上的″关闭″按钮。 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)deleteCookie(name,path)deleteCookie(name,path) 删除指定路径下的该名称 cookie。 参数: ·name – 被删除 cookie 的名称 ·path – 被删除 cookie 的路径属性 doubleClick(locator)doubleClick(locator)doubleClick(locator)doubleClick(locator) 双击一个链接、按钮、多选框或单选框。如果该双击事件导致了新的页面加载 (如同链接通常所作的),将调用 waitForPageToLoad。 参数: ·locator - 一个元素定位器 doubleClickAt(locator,coordString)doubleClickAt(locator,coordString)doubleClickAt(locator,coordString)doubleClickAt(locator,coordString) 双击一个链接、按钮、多选框或单选框。如果该双击事件导致了新的页面加载 (如同链接通常所作的),将调用 waitForPageToLoad。 参数: ·locator - 一个元素定位器 ·coordString – 指定由定位器返回的鼠标事件相关联的元素 x,y 坐标(也 就是 – 10,20) dragAndDrop(locator,movementsString)dragAndDrop(locator,movementsString)dragAndDrop(locator,movementsString)dragAndDrop(locator,movementsString) 拖动元素一定的距离并放下 参数: ·locator - 一个元素定位器 ·movementsString – 从当前位置到指定位置的像素偏移量,如,”+70,-300” dragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinatiodragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinatiodragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinatiodragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinatio nObject)nObject)nObject)nObject) 拖动元素到另一元素 参数: ·locatorOfObjectToBeDragged – 被拖动的元素 ·locatorOfDragDestinationObject – 被拖动的元素将拖向的元素的坐标 (如, 其最中心像素) Dragdrop(locator,movementsString)Dragdrop(locator,movementsString)Dragdrop(locator,movementsString)Dragdrop(locator,movementsString) 不建议 – 用 dragAndDrop 代替 参数: ·locator - 一个元素定位器 ·movementsString – 从当前位置到指定位置的像素偏移量,如,”+70,-300” Echo(message)Echo(message)Echo(message)Echo(message) 打印指定消息到你的 Selenese 表的第三个表单元。有利于调试。 参数: ·message – 要打印的消息 fireEvent(locator,eventName)fireEvent(locator,eventName)fireEvent(locator,eventName)fireEvent(locator,eventName) 明确地模拟一个事件,触发”onevent”响应句柄。 参数: ·locator - 一个元素定位器 ·eventName – 事件名,如”focus” 或”blur” getSpeed()getSpeed()getSpeed()getSpeed() 获取执行速度(也就是,获取接下来的每一个 selenium 操作的延迟豪秒长度)。 默认情况下,是不会有延迟的。也就是延迟为 0 毫秒。参照 setSpeed。 goBack()goBack()goBack()goBack() 模拟用户点击其浏览器上的”back”按钮 highlight(locator)highlight(locator)highlight(locator)highlight(locator) 暂时将指定元素的背景色改变为黄色。有利于调试。 参数: ·locator - 一个元素定位器 keyDown(locator,keySequence) 模拟用户按下一个键(除了还没释放的) 参数: ·locator - 一个元素定位器 ·keySequence – 可以是个字符串(“\”后跟随要被按下键的数字键码,通常 是该键的 ASCII 值),或是个单字符,如“w“, “\119“。 keyPress(locator,keySequence)keyPress(locator,keySequence)keyPress(locator,keySequence)keyPress(locator,keySequence) 模拟用户按下和释放一个键。 参数: ·locator - 一个元素定位器 ·keySequence – 可以是个字符串(“\”后跟随要被按下键的数字键码,通常 是该键的 ASCII 值),或是个单字符,如“w“, “\119“。 keyUp(locator,keySequence)keyUp(locator,keySequence)keyUp(locator,keySequence)keyUp(locator,keySequence) 模拟用户释放一个键。 参数: ·locator - 一个元素定位器 ·keySequence – 可以是个字符串(“\”后跟随要被按下键的数字键码,通常 是该键的 ASCII 值),或是个单字符,如“w“, “\119“。 metaKeyDown()metaKeyDown()metaKeyDown()metaKeyDown() 按下 meta键并保持其按下状态,直到 doMetaUp()被调用或一个新的页面被加 载。 metaKeyUp()metaKeyUp()metaKeyUp()metaKeyUp() 释放 meta键 mouseDown(locator)mouseDown(locator)mouseDown(locator)mouseDown(locator) 模拟用户在指定元素上按下鼠标按钮(除了还没释放的)。 参数: ·locator - 一个元素定位器 mouseDownAt(locator,coordString)mouseDownAt(locator,coordString)mouseDownAt(locator,coordString)mouseDownAt(locator,coordString) 模拟用户在指定位置上按下鼠标按钮(除了还没释放的)。 参数: ·locator - 一个元素定位器 ·coordString -指定由定位器返回的鼠标事件相关联的元素 x,y 坐标(也就 是 – 10,20) mouseMove(locator)mouseMove(locator)mouseMove(locator)mouseMove(locator) 模拟用户在指定元素上按下鼠标按钮(除了还没释放的)。 参数: ·locator - 一个元素定位器 mouseMoveAt(locator,coordString)mouseMoveAt(locator,coordString)mouseMoveAt(locator,coordString)mouseMoveAt(locator,coordString) 模拟用户在指定位置上按下鼠标按钮(除了还没释放的)。 参数: ·locator - 一个元素定位器 ·coordString -指定由定位器返回的鼠标事件相关联的元素 x,y 坐标(也就 是 – 10,20) mouseOut(locator)mouseOut(locator)mouseOut(locator)mouseOut(locator) 模拟用户从指定元素上移开鼠标指针。 参数: ·locator - 一个元素定位器 mouseOver(locator)mouseOver(locator)mouseOver(locator)mouseOver(locator) 模拟用户鼠标滑过指定元素。 参数: ·locator - 一个元素定位器 mouseUp(locator)mouseUp(locator)mouseUp(locator)mouseUp(locator) 模拟用户在指定元素上释放鼠标按钮时发生的事件(也就是,停止保持按钮按 下)。 参数: ·locator - 一个元素定位器 mouseUpAt(locator,coordString)mouseUpAt(locator,coordString)mouseUpAt(locator,coordString)mouseUpAt(locator,coordString) 模拟用户在指定元素上释放鼠标按钮时发生的事件(也就是,停止保持按钮按 下)。 参数: ·locator - 一个元素定位器 ·coordString -指定由定位器返回的鼠标事件相关联的元素 x,y 坐标(也就 是 – 10,20) open(url)open(url)open(url)open(url) 在测试框架中打开一个 URL,可以为相对和绝对 URLs。”open”命令将等待页 面加载完成才继续进行,也就是明确的指名”并等待”后缀。注意:由于浏览器 安全策略(相同来源方针)这个 URL必须和当前运行的 HTML 在相同的域。如 果你不得不在另一个域打开一个 URL,则需要用 Selenium 服务在另一个域去 打开一个新的浏览器会话。 参数: ·url – 要打开的 URL,可以为空 ·windowID – 要选择窗体的 JavaScript window ID pause(waitTime) 等待指定时间(以毫秒为单位) 参数: ·waitTime – 要睡眠的时间(以毫秒为单位) refresh() 模拟用户点击浏览器上的”Refresh”按钮。 removeAllSelections(locator)removeAllSelections(locator)removeAllSelections(locator)removeAllSelections(locator) 取消所有可多选元素的选择状态。 参数: ·locator – 一个用于识别多选框的元素定位器 removeSelection(locator,optionLocator)removeSelection(locator,optionLocator)removeSelection(locator,optionLocator)removeSelection(locator,optionLocator) 从用选项定位器进行筛选的多选元素的筛选集合中移除一个集合。@在 #doSelect 中查看选项定位器的详细信息。 参数: ·locator – 一个用于识别多选框的元素定位器 ·optionLocator – 一个选项定位器(默认为一个标签) runScript(script)runScript(script)runScript(script)runScript(script) 在当前测试窗体的 body 中创建一个新的”script”标签,并在 body 中添加指定的 命令文本。用这种方式执行脚本,通常可以比使用 Selenium的”getEval”方式更 简易的进行调试。要注意的是,由这种脚本标签所抛出的异常不受 Selenium 管 理,因此当该脚本有可能会抛出异常时,你需要用 try/catch 块将其包含起来。 ·script – 需要执行的 JavaScript 片段 select(selectLocator,optionLocator)select(selectLocator,optionLocator)select(selectLocator,optionLocator)select(selectLocator,optionLocator) 用选项选择器从一个下拉框中选择一个选项。 选项选择器提供不同的方法从一个 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)selectFrame(locator)selectFrame(locator) 在当前窗体中选择一个框架(你可以多次调用这个命令用于选择嵌套框架)。要 选择父框架,用”relative=parent”作为定位器;要选择顶级框架,用”relative=top”。 你同样可以通过基于 0 的索引号选择框架;用”index=0”选择第一个框架,或者 用”index=2”选择第三个框架。 你同样可以直接使用一个 DOM 表达式来识别你要的框架。像这样: dom=frames[“main”].frames[“subframe”] 参数: ·locator – 一个用于识别框架或子框架的元素定位器 selectWindow(windowID)selectWindow(windowID)selectWindow(windowID)selectWindow(windowID) 选择一个弹出窗体;一旦一个弹出窗体被选中,所有的命令将指向该窗体。要 再次选择主窗体,将对象设定为 null。 注意:window的内在 JavaScript 的”name”属性和被给与的 window文档(通常是 你实际看到的,作为最终用户,在窗体的标题栏上)的”title”之间有一个很大的 不同。”name”对于最终用户通常是不可见的;它是作为第二个参 数”windowName”传递给 JavaScript 函数 window.open(url,windowName,windowFeatures,replaceFlag)(被 Selenium截取)。 Selenium 有许多方法用于查找被”windowID”参数所提及的窗体对象。 1.) 如果 windowID 为 null,(或是字符串”null”),则假定为用户是提交给由浏览 器最初实例化的窗体。 2.) 如果”windowID”参数的值是当前应用窗体的一个 JavaScript 变量名,则假 定该变量包含一个由调用 JavaScript window.open()函数所产生的返回值。 3.) 另外,selenium looks in a hash it maintains that maps string names to window “names”. 4.) 如果失败了,我们将循环遍历所有已知的窗体以便试图找出适合的”title”。 由于”title”不是必须唯一,因此可能会产生一些非期望的行为。 如果很难判定你所要操作的窗体的名称,你可以查看为识别通过 window.open(被 Selenium 截取)所打开窗体的名称时所产生的 selenium 日志消 息。在每个窗体被打开时,你通常可以看到如下信息: debug: window.open call intercepted; window ID (你可以用于 selectWindow()) is “myNewWindow” 在某些情况,Selenium 会无法截取 window.open 的调用(例如,如果该调用发生 在”onLoad”事件之间或之前)。(该 BUG 标记为 SEL-339)。在这些情况,你可 以使用 Selenium 的 openWindow命令强制 Selenium 去通告打开窗体的名称, 使用一个空(blank) url,像这样:openWindow(“”,”myFunnyWindow”)。 参数: ·windowID – 要选择窗体的 JavaScript 窗体 ID setBrowserLogLevel(logLevel)setBrowserLogLevel(logLevel)setBrowserLogLevel(logLevel)setBrowserLogLevel(logLevel) 设定浏览器方日志信息级别;在此级别之下的日志信息将被丢弃。有效的日志 级别字符串有:”debug”,”info”,”warn”,”error”,或”off”。要查看浏览器日 志,在 GUI 模式下打开日志窗口,或在 Selenium RC 中将浏览器端记入日志设 定为 enable。 参数: ·logLevel – 以下之一:”debug”,”info”,”warn”,”error”,或”off” setCursorPosition(locator,position)setCursorPosition(locator,position)setCursorPosition(locator,position)setCursorPosition(locator,position) 将文本光标移动到被给与的输入元素或文本域的指定位置。若指定元素不是一 个可输入元素或文本域,该方法将失败。 参数: ·locator – 一个指向输入元素或文本域的元素定位器 ·position – 该范围的光标数字位置;position如果设定为 0,则为该范围域 的最开始位置,你同样可以将光标设定为-1 以移动到该范围域的最末端。 setMouseSpeed(pixels)setMouseSpeed(pixels)setMouseSpeed(pixels)setMouseSpeed(pixels) 配置在 dragAndDrop 命令执行期间,”mousemove”事件时的像素数字(默认为 10)。 将这个值设定为 0,意味着我们将向从开始位置到结束位置的每一个像素发送 一个”mousemove”事件;那将会非常缓慢,且可能导致某些浏览器将该 JavaScript 强制设定为超时。 如果该鼠标速度大于两个拖动对象间的距离,我们将只向开始位置和结束位置 发送一个”mousemove”事件。 参数: ·pixels – 两个“mousemove”事件间的像素间隔 setSpeed(value)setSpeed(value)setSpeed(value)setSpeed(value) 设定执行速度(也就是说,设定将要执行的每条 selenium 操作间的毫秒延迟间 隔长度)。默认情况下,没有延迟,也就是延迟为 0 毫秒。 参数: ·value – 在操作后的暂停毫秒数 setTimeout(timeout)setTimeout(timeout)setTimeout(timeout)setTimeout(timeout) 指定 Selenium 等待动作完成的等待时间。 需要等待的动作包括”open”和”waitFor*”。 默认超时为 30 秒。 参数: ·timeout – 以毫秒为单位,超过后该命令将返回错误。 shiftKeyDown()shiftKeyDown()shiftKeyDown()shiftKeyDown() 按下 shift 键,并保持按下状态,直到 doShiftUp()被调用或一个新的页面被加载。 shiftKeyUp()shiftKeyUp()shiftKeyUp()shiftKeyUp() 释放 shift 键。 store(expression,variableName)store(expression,variableName)store(expression,variableName)store(expression,variableName) 该命令是存储表达式的同义词。 参数: ·expression – 要存储的值 ·variableName – 用于存储结果的变量名 submit(formLocator)submit(formLocator)submit(formLocator)submit(formLocator) 提交给指定表单。这对于没有提交按钮的表单特别有用,如,简单输入 的”search”表单。 参数: ·formLocator – 一个指向你要提交的表单的元素定位器 type(locator,value)type(locator,value)type(locator,value)type(locator,value) 设定一个输入域的值,如同你输入进去一样。 其同样可用于单选框,多选框等。在这些情况,value应为选项选择时的值, 而不是有效文本。 参数: ·locator – 一个元素定位器 ·value – 要录入的值 typeKeys(locator,value)typeKeys(locator,value)typeKeys(locator,value)typeKeys(locator,value) 模拟在指定元素上的按键事件,如同是你一个键一个键敲上去一样。 比起为指定字符串的每个字符调用 keyDown,keyUp,keyPress 方法,这个函数要 方便的多;其对于需要明确按键事件的动态 UI 组件(如自动完成的 combo box) 同样有用。 不同于简单的”敲打”命令——将指定值直接强制赋给页面,该指令可能有,也 可能没有任何效果,即时在敲打按钮通常会有效的情况下。例如,如果你在一 个表单元素上使用”typeKeys”,你可能可以,也可能不可以看到看到你在该区 域录入的效果。 在有些时候,你可能不得不使用简单的”type”命令去设定域的值,然后 用”typeKeys”命令去发送按键事件以告知你所录入的值。 参数: ·locator – 一个元素定位器 ·value – 要录入的值 uncheck(locator)uncheck(locator)uncheck(locator)uncheck(locator) 取消选中一个关联性按钮(checkbox/radio) 参数: ·locator – 一个元素定位器 waitForCondition(script,timeout)waitForCondition(script,timeout)waitForCondition(script,timeout)waitForCondition(script,timeout) 重复执行指定 JavaScript 片段直到其值为”true”。 该片段可以有多行,但只考虑其最后一行的结果。 要注意:默认情况下,该片段会在运行者的测试窗体运行,而不是在你的应用 程序窗体。要得到你的应用程序窗体,你可以使用 JavaScript 片段 selenium.browserbot.getCurrentWindow(),然后让你的 JavaScript 在那运行。 参数: ·script – 要运行的 JavaScript 片段 ·timeout –以毫秒为单位,超过后该命令将返回错误。 waitForFrameToLoad(frameAddress,timeout)waitForFrameToLoad(frameAddress,timeout)waitForFrameToLoad(frameAddress,timeout)waitForFrameToLoad(frameAddress,timeout) 等待一个新的框架加载。 Selenium 通常会持续跟踪新页面和框架的加载状态,当其第一次注意到页面加 载完成,将会设定一个”newPageLoaded”标志。 查看 waitForPageToLoad 获得更多信息。 参数: ·frameAddress – 服务端的框架地址 ·timeout -以毫秒为单位,超过后该命令将返回错误。 waitForPageToLoad(timeout)waitForPageToLoad(timeout)waitForPageToLoad(timeout)waitForPageToLoad(timeout) 等待一个新的页面加载。 你可以使用此命令以代替”AndWait”后 缀,”clickAndWait”,”selectAndWait”,”typeAndWait”等(仅在 JS API中有效)。 Selenium 通常会持续跟踪新页面的加载状态,当其第一次注意到页面加载完 成,将会设定一个”newPageLoaded”标志。当此标志变为 false后再运行其他 Selenium 命令。因此,如果你要等待一个页面加载完成,当一个 Selenium 命令 导致一个页面加载后就需立即开始等待。 参数: ·timeout -以毫秒为单位,超过后该命令将返回错误。 waitForPopUp(windowID,timeout)waitForPopUp(windowID,timeout)waitForPopUp(windowID,timeout)waitForPopUp(windowID,timeout) 等待一个弹出窗体出现和加载。 参数: ·windowID – 将出现窗体的 JavaScript 窗体 ID ·timeout -以毫秒为单位,超过后该命令将返回错误。 windowFocus()windowFocus()windowFocus()windowFocus() 将焦点赋给当前选择窗体 windowMaximize()windowMaximize()windowMaximize()windowMaximize() 重新设定当前窗体大小为全屏 SeleniumSeleniumSeleniumSeleniumAccessorsAccessorsAccessorsAccessors assertErrorOnNext(message)assertErrorOnNext(message)assertErrorOnNext(message)assertErrorOnNext(message) 告诉 Selenium 在下一个命令执行时期待有错误。 参数: ·message – 我们所期望的错误信息。如果出现不正确的错误信息,该命令 将失败。 同断言相关联,自动生成: ·assertNotErrorOnNext(message) ·verifyErrorOnNext(message) ·verifyNotErrorOnNext(message) ·waitForErrorOnNext(message) ·waitForNotErrorOnNext(message) assertFailureOnNext(message)assertFailureOnNext(message)assertFailureOnNext(message)assertFailureOnNext(message) 告诉 Selenium 在下一个命令执行时期待有失败。 参数: ·message – 我们所期望的失败信息。如果出现不正确的失败信息,该命令 将失败。 同断言相关联,自动生成: ·assertNotFailureOnNext(message) ·verifyFailureOnNext(message) ·verifyNotFailureOnNext(message) ·waitForFailureOnNext(message) ·waitForNotFailureOnNext(message) assertSelected(selectLocator,optionLocator)assertSelected(selectLocator,optionLocator)assertSelected(selectLocator,optionLocator)assertSelected(selectLocator,optionLocator) 验证从下拉框中选择的选项满足选项指定器。 注意,不赞成使用该命令;你应该使用 assertSelectedLabel, assertSelectedValue, assertSelectedIndex,或 assertSelectedId 进行代替。 查看选择命令获取更多关于选择定位器的信息。 参数: ·selectLocator - 一个用于识别下拉菜单的元素定位器 ·optionLocator – 一个选项定位器,代表性的就是一个选项标签(如”John Smith”) 同断言相关联,自动生成: ·assertNotSelected(selectLocator,optionLocator) ·verifySelected(selectLocator,optionLocator) ·verifyNotSelected(selectLocator,optionLocator) ·waitForSelected(selectLocator,optionLocator) ·waitForNotSelected(selectLocator,optionLocator) storeAlert(variableName)storeAlert(variableName)storeAlert(variableName)storeAlert(variableName) 返回在之前动作所产生的 JavaScript 警告消息,如果没有警告将失败。 得到一个警告同手动点击 OK有着相同的效果。如果产生了一个警告,而你并 不去得到/验证它,那么下一个 Selenium 动作将失败。 注意:在 Selenium 中,JavaScript 警告将不会弹出一个可见的警告对话框。 注意:Selenium 不支持在页面的 onload()事件句柄中所产生的 JavaScript 警告。 在这种情况下,将会生成一个可见的对话框,Selenium 将被悬停直到手动点击 OK。 Returns:Returns:Returns:Returns: 最近 JavaScript 的警告消息 同断言相关联,自动生成: ·assertAlert(pattern) ·assertNotAlert(pattern) ·verifyAlert(pattern) ·verifyNotAlert(pattern) ·waitForAlert(pattern) ·waitForNotAlert(pattern) storeAllButtons(variableName) 返回页面上所有按钮的 ID 集。 如果被给与的按钮没有 ID,则将在结果数组中显示为””。 Returns:Returns:Returns:Returns: 页面上所有按钮的 ID 集。 同断言相关联,自动生成: ·assertAllButtons(pattern) ·assertNotAllButtons(pattern) ·verifyAllButtons(pattern) ·verifyNotAllButtons(pattern) ·waitForAllButtons(pattern) ·waitForNotAllButtons(pattern) storeAllFields(variableName) 返回页面上所有可输入域的 ID 集。 如果被给与的域没有 ID,则将在结果数
本文档为【Selenium_中文API】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_141457
暂无简介~
格式:pdf
大小:296KB
软件:PDF阅读器
页数:34
分类:互联网
上传时间:2014-02-23
浏览量:24