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

Selenium中⽂API⽂档标签:转⾃:概念Selenium 通过命令进⾏驱动。Selenium 可归纳为三种“风格”:动作、辅助和断⾔。每⼀个命令调⽤就是下表中的⼀⾏。命令⽬标值动作(Actions)命令⼀般⽤于操作应⽤程序的状态。它们通过如”点击链接”和”选择选项”的⽅式进⾏⼯作。如果⼀个动作执⾏失败,或是有错误,当前的测试将会停⽌执⾏。许多动作可以被包含后缀”并等待”的⽅式进⾏调⽤,例如,”点击并等待”。这个后缀告知Selenium,该命令将使浏览器向服务器产⽣⼀个请求,并使得Selenium等待加载⼀个新的页⾯。辅助(Accessors)⽤于检查应⽤程序的状态并将结果存储在变量中。例如”storeTitle”。它们同样可⽤于⾃动⽣成断⾔。断⾔(Assertions)类似于辅助,但它们可以验证应⽤程序的状态是否同所期望的相⼀致。例如包括”确认页⾯标题为X”和”验证该复选框是否被勾选”。所有的Selenium断⾔可以被⽤于三种模式:”assert”, “verify”,和”waitfor”。例如,你可以”assertText”,”verifyText”,及”waitforText”。当”assert”失败时,该测试将终⽌。当”verify”失败时,该测试将继续执⾏,并将错误记⼊⽇志。这就允许了通过单条”assert”确保应⽤程序在正确的页⾯上,⽽通过⼀系列的”verify”断⾔测试表单上的区域值,标签等。“waitfor”命令⽤于等待某些条件变为真(可⽤于Ajax应⽤程序的测试)。如果该条件已经为真,他们将⽴即成功执⾏。反之,如果该条件不为真,则将失败并暂停测试,直到超过当前所设定的超时时间(参照后⾯的setTimeout动作)。元素定位器(Element Locators)告诉Selenium是向HTML中的哪⼀个元素发送命令。许多命令需要⼀个如”target”属性的元素定位器。这其中包括”elementId”和”document. forms[0].element”。在接下来的部分将更详细的描述它们。式样(Patterns)由于多种因素被使⽤着,如指定⼀个输⼊域的期望值,或识别⼀个选择选项。Selenium⽀持许多类型的式样,其中包括正则表达式,所有这些将在接下来的章节中进⾏更详细的描述。定义⼀个类⽤于运⾏Selenium命令。元素定位器(Element 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=[´myForm´].myDropdown 〇 dom=[56] 〇 dom=function foo() { return [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 corepackage中的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

所⽀持的元素过滤器为:value=valuePattern 匹配元素时基于它们的值进⾏匹配。这在对⼀堆相似命名的关联按钮的筛选中显得尤其有⽤。index=index 选择单个元素基于其在列表中的位置(从0开始)。字符串匹配 式样有各种各样的式样语法可⽤于匹配字符串值:·glob:pattern: ⽤″glob″去匹配⼀个字符串。″Glob″是⼀种⽤于命令⾏shells的代表性的有限正则表达式语法。在⼀个glob式样中, ″*″代表任意序列字符集,⽽″?″则代表任意单个字符。Glob式样匹配整个字符串。·regexp:regexp: 使⽤正则表达式匹配字符串。可使⽤所有的JavaScript正则表达式。如果没有指定式样前缀,Selenium假定其为″glob″式样。Selenium ActionsaddLocationStrategy (strategyName, functionDefinition) 为selenium定义⼀个新的函数⽤于定位页⾯上的元素。例如,如果你定义了⼀个⽅法″foo″,并运⾏了click(″foo=blah″),我们将运⾏你的函数,传递给你字符串″blah″,并点击该函数所返回的元素,如果返回为null,则抛出⼀个″Element not found″的错误。我们将给该函数传递三个参数。 ·locator: ⽤户传递过来的字符串 ·inWindow: 当前所选中的窗体 ·inDocument: 当前所选中的⽂档如果未找到相应的元素,则函数必须返回⼀个null。参数:·strategyName – 定义的⽅法名;只能使⽤字母[a-zA-Z],不能包含空格或其他标点符号。·functionDefinition – 在JavaScript函数中的⼀个定义body的字符串。如:return mentById(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 XPathaltKeyDown()按下alt键并保持其按下状态,直到doAltUp()被调⽤或⼀个新的页⾯被加载。altKeyUp()释放alt键answerOnNextPrompt (answer)通知Selenium返回下⼀次JavaScript prompt[()]所指定的回答字符串。参数: ·answer – 对弹出的提⽰所给与的回答assignId (locator,identifier)临时为指定元素设定⼀个″id″属性,使你可以在将来使⽤其ID,以代替缓慢且更复杂的XPath。该ID将在页⾯重载后消失。参数: ·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()模拟⽤户点击弹出窗体或表单标题栏上的″关闭″按钮。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)删除指定路径下的该名称cookie。参数: ·name – 被删除cookie的名称·path – 被删除cookie的路径属性doubleClick(locator)双击⼀个链接、按钮、多选框或单选框。如果该双击事件导致了新的页⾯加载(如同链接通常所作的),将调⽤waitForPageToLoad。参数: ·locator - ⼀个元素定位器doubleClickAt(locator,coordString)双击⼀个链接、按钮、多选框或单选框。如果该双击事件导致了新的页⾯加载(如同链接通常所作的),将调⽤waitForPageToLoad。参数: ·locator - ⼀个元素定位器·coordString – 指定由定位器返回的⿏标事件相关联的元素x,y 坐标(也就是 – 10,20)dragAndDrop(locator,movementsString)拖动元素⼀定的距离并放下参数: ·locator - ⼀个元素定位器 ·movementsString – 从当前位置到指定位置的像素偏移量,如,”+70,-300”dragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinationObject)拖动元素到另⼀元素参数: ·locatorOfObjectToBeDragged – 被拖动的元素·locatorOfDragDestinationObject – 被拖动的元素将拖向的元素的坐标 (如,其最中⼼像素)Dragdrop(locator,movementsString)不建议 – ⽤dragAndDrop 代替参数: ·locator - ⼀个元素定位器·movementsString – 从当前位置到指定位置的像素偏移量,如,”+70,-300”Echo(message)打印指定消息到你的Selenese 表的第三个表单元。有利于调试。参数: ·message – 要打印的消息fireEvent(locator,eventName)明确地模拟⼀个事件,触发”onevent”响应句柄。参数: ·locator - ⼀个元素定位器 ·eventName – 事件名,如”focus” 或”blur”getSpeed()获取执⾏速度(也就是,获取接下来的每⼀个selenium操作的延迟豪秒长度)。默认情况下,是不会有延迟的。也就是延迟为0毫秒。参照setSpeed。goBack()模拟⽤户点击其浏览器上的”back”按钮highlight(locator)暂时将指定元素的背景⾊改变为黄⾊。有利于调试。参数: ·locator - ⼀个元素定位器keyDown(locator,keySequence)模拟⽤户按下⼀个键(除了还没释放的)参数: ·locator - ⼀个元素定位器 ·keySequence – 可以是个字符串(“/”后跟随要被按下键的数字键码,通常是该键的ASCII值),或是个单字符,如“w“, “/119“。keyPress(locator,keySequence)模拟⽤户按下和释放⼀个键。参数: ·locator - ⼀个元素定位器 ·keySequence – 可以是个字符串(“/”后跟随要被按下键的数字键码,通常是该键的ASCII值),或是个单字符,如“w“, “/119“。keyUp(locator,keySequence)模拟⽤户释放⼀个键。参数: ·locator - ⼀个元素定位器 ·keySequence – 可以是个字符串(“/”后跟随要被按下键的数字键码,通常是该键的ASCII值),或是个单字符,如“w“, “/119“。metaKeyDown()按下meta键并保持其按下状态,直到doMetaUp()被调⽤或⼀个新的页⾯被加载。metaKeyUp()释放meta键mouseDown(locator)模拟⽤户在指定元素上按下⿏标按钮(除了还没释放的)。参数: ·locator - ⼀个元素定位器mouseDownAt(locator,coordString)模拟⽤户在指定位置上按下⿏标按钮(除了还没释放的)。参数: ·locator - ⼀个元素定位器·coordString -指定由定位器返回的⿏标事件相关联的元素x,y 坐标(也就是 – 10,20)mouseMove(locator)模拟⽤户在指定元素上按下⿏标按钮(除了还没释放的)。参数: ·locator - ⼀个元素定位器mouseMoveAt(locator,coordString)模拟⽤户在指定位置上按下⿏标按钮(除了还没释放的)。参数: ·locator - ⼀个元素定位器·coordString -指定由定位器返回的⿏标事件相关联的元素x,y 坐标(也就是 – 10,20)mouseOut(locator)模拟⽤户从指定元素上移开⿏标指针。参数: ·locator - ⼀个元素定位器mouseOver(locator)模拟⽤户⿏标滑过指定元素。参数: ·locator - ⼀个元素定位器mouseUp(locator)模拟⽤户在指定元素上释放⿏标按钮时发⽣的事件(也就是,停⽌保持按钮按下)。参数: ·locator - ⼀个元素定位器mouseUpAt(locator,coordString)模拟⽤户在指定元素上释放⿏标按钮时发⽣的事件(也就是,停⽌保持按钮按下)。参数: ·locator - ⼀个元素定位器·coordString -指定由定位器返回的⿏标事件相关联的元素x,y 坐标(也就是 – 10,20)open(url)在测试框架中打开⼀个URL,可以为相对和绝对URLs。”open”命令将等待页⾯加载完成才继续进⾏,也就是明确的指名”并等待”后缀。注意:由于浏览器安全策略(相同来源⽅针)这个URL必须和当前运⾏的HTML在相同的域。如果你不得不在另⼀个域打开⼀个URL,则需要⽤Selenium服务在另⼀个域去打开⼀个新的浏览器会话。参数: ·url – 要打开的URL,可以为空 ·windowID – 要选择窗体的JavaScript window IDpause(waitTime)等待指定时间(以毫秒为单位)参数: ·waitTime – 要睡眠的时间(以毫秒为单位)refresh()模拟⽤户点击浏览器上的”Refresh”按钮。removeAllSelections(locator)取消所有可多选元素的选择状态。参数: ·locator – ⼀个⽤于识别多选框的元素定位器removeSelection(locator,optionLocator)从⽤选项定位器进⾏筛选的多选元素的筛选集合中移除⼀个集合。@在#doSelect中查看选项定位器的详细信息。参数: ·locator – ⼀个⽤于识别多选框的元素定位器 ·optionLocator – ⼀个选项定位器(默认为⼀个标签)runScript(script)在当前测试窗体的body中创建⼀个新的”script”标签,并在body中添加指定的命令⽂本。⽤这种⽅式执⾏脚本,通常可以⽐使⽤Selenium的”getEval”⽅式更简易的进⾏调试。要注意的是,由这种脚本标签所抛出的异常不受Selenium管理,因此当该脚本有可能会抛出异常时,你需要⽤try/catch块将其包含起来。 ·script – 需要执⾏的JavaScript ⽚段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)在当前窗体中选择⼀个框架(你可以多次调⽤这个命令⽤于选择嵌套框架)。要选择⽗框架,⽤”relative=parent”作为定位器;要选择顶级框架,⽤”relative=top”。你同样可以通过基于0的索引号选择框架;⽤”index=0”选择第⼀个框架,或者⽤”index=2”选择第三个框架。你同样可以直接使⽤⼀个DOM表达式来识别你要的框架。像这样:dom=frames[“main”].frames[“subframe”]参数: ·locator – ⼀个⽤于识别框架或⼦框架的元素定位器selectWindow(windowID)选择⼀个弹出窗体;⼀旦⼀个弹出窗体被选中,所有的命令将指向该窗体。要再次选择主窗体,将对象设定为null。注意:window的内在JavaScript的”name”属性和被给与的window⽂档(通常是你实际看到的,作为最终⽤户,在窗体的标题栏上)的”title”之间有⼀个很⼤的不同。”name”对于最终⽤户通常是不可见的;它是作为第⼆个参数”windowName”传递给JavaScript函数(url,windowName,windowFeatures,replaceFlag)(被Selenium截取)。Selenium有许多⽅法⽤于查找被”windowID”参数所提及的窗体对象。1.) 如果windowID为null,(或是字符串”null”),则假定为⽤户是提交给由浏览器最初实例化的窗体。2.) 如果”windowID”参数的值是当前应⽤窗体的⼀个JavaScript变量名,则假定该变量包含⼀个由调⽤JavaScript ()函数所产⽣的返回值。3.) 另外,selenium looks in a hash it maintains that maps string names to window “names”.4.) 如果失败了,我们将循环遍历所有已知的窗体以便试图找出适合的”title”。由于”title”不是必须唯⼀,因此可能会产⽣⼀些⾮期望的⾏为。如果很难判定你所要操作的窗体的名称,你可以查看为识别通过(被Selenium截取)所打开窗体的名称时所产⽣的selenium ⽇志消息。在每个窗体被打开时,你通常可以看到如下信息:debug: call intercepted; window ID (你可以⽤于 selectWindow()) is “myNewWindow”在某些情况,Selenium会⽆法截取的调⽤(例如,如果该调⽤发⽣在”onLoad”事件之间或之前)。(该BUG标记为SEL-339)。在这些情况,你可以使⽤Selenium的openWindow命令强制Selenium去通告打开窗体的名称,使⽤⼀个空(blank) url,像这样:openWindow(“”,”myFunnyWindow”)。参数: ·windowID – 要选择窗体的JavaScript 窗体IDsetBrowserLogLevel(logLevel)设定浏览器⽅⽇志信息级别;在此级别之下的⽇志信息将被丢弃。有效的⽇志级别字符串有:”debug”,”info”,”warn”,”error”,或”off”。要查看浏览器⽇志,在GUI模式下打开⽇志窗⼝,或在Selenium RC中将浏览器端记⼊⽇志设定为enable。参数: ·logLevel – 以下之⼀:”debug”,”info”,”warn”,”error”,或”off”setCursorPosition(locator,position)将⽂本光标移动到被给与的输⼊元素或⽂本域的指定位置。若指定元素不是⼀个可输⼊元素或⽂本域,该⽅法将失败。参数: ·locator – ⼀个指向输⼊元素或⽂本域的元素定位器 ·position – 该范围的光标数字位置;position如果设定为0,则为该范围域的最开始位置,你同样可以将光标设定为-1以移动到该范围域的最末端。setMouseSpeed(pixels)配置在dragAndDrop 命令执⾏期间,”mousemove”事件时的像素数字(默认为10)。将这个值设定为0,意味着我们将向从开始位置到结束位置的每⼀个像素发送⼀个”mousemove”事件;那将会⾮常缓慢,且可能导致某些浏览器将该JavaScript强制设定为超时。如果该⿏标速度⼤于两个拖动对象间的距离,我们将只向开始位置和结束位置发送⼀个”mousemove”事件。参数: ·pixels – 两个“mousemove”事件间的像素间隔setSpeed(value)设定执⾏速度(也就是说,设定将要执⾏的每条selenium操作间的毫秒延迟间隔长度)。默认情况下,没有延迟,也就是延迟为0毫秒。参数: ·value – 在操作后的暂停毫秒数setTimeout(timeout)指定Selenium等待动作完成的等待时间。需要等待的动作包括”open”和”waitFor*”。默认超时为30秒。参数: ·timeout – 以毫秒为单位,超过后该命令将返回错误。shiftKeyDown()按下shift键,并保持按下状态,直到doShiftUp()被调⽤或⼀个新的页⾯被加载。shiftKeyUp()释放shift键。store(expression,variableName)该命令是存储表达式的同义词。参数: ·expression – 要存储的值 ·variableName – ⽤于存储结果的变量名submit(formLocator)提交给指定表单。这对于没有提交按钮的表单特别有⽤,如,简单输⼊的”search”表单。参数: ·formLocator – ⼀个指向你要提交的表单的元素定位器type(locator,value)设定⼀个输⼊域的值,如同你输⼊进去⼀样。其同样可⽤于单选框,多选框等。在这些情况,value应为选项选择时的值,⽽不是有效⽂本。参数: ·locator – ⼀个元素定位器 ·value – 要录⼊的值typeKeys(locator,value)模拟在指定元素上的按键事件,如同是你⼀个键⼀个键敲上去⼀样。⽐起为指定字符串的每个字符调⽤keyDown,keyUp,keyPress⽅法,这个函数要⽅便的多;其对于需要明确按键事件的动态UI组件(如⾃动完成的combo box)同样有⽤。不同于简单的”敲打”命令——将指定值直接强制赋给页⾯,该指令可能有,也可能没有任何效果,即时在敲打按钮通常会有效的情况下。例如,如果你在⼀个表单元素上使⽤”typeKeys”,你可能可以,也可能不可以看到看到你在该区域录⼊的效果。在有些时候,你可能不得不使⽤简单的”type”命令去设定域的值,然后⽤”typeKeys”命令去发送按键事件以告知你所录⼊的值。参数: ·locator – ⼀个元素定位器 ·value – 要录⼊的值uncheck(locator)取消选中⼀个关联性按钮(checkbox/radio)参数: ·locator – ⼀个元素定位器waitForCondition(script,timeout)重复执⾏指定JavaScript⽚段直到其值为”true”。该⽚段可以有多⾏,但只考虑其最后⼀⾏的结果。要注意:默认情况下,该⽚段会在运⾏者的测试窗体运⾏,⽽不是在你的应⽤程序窗体。要得到你的应⽤程序窗体,你可以使⽤JavaScript⽚段rentWindow(),然后让你的JavaScript在那运⾏。参数: ·script – 要运⾏的JavaScript⽚段 ·timeout –以毫秒为单位,超过后该命令将返回错误。waitForFrameToLoad(frameAddress,timeout)等待⼀个新的框架加载。Selenium通常会持续跟踪新页⾯和框架的加载状态,当其第⼀次注意到页⾯加载完成,将会设定⼀个”newPageLoaded”标志。查看waitForPageToLoad获得更多信息。参数: ·frameAddress – 服务端的框架地址 ·timeout - 以毫秒为单位,超过后该命令将返回错误。waitForPageToLoad(timeout)等待⼀个新的页⾯加载。你可以使⽤此命令以代替”AndWait”后缀,”clickAndWait”,”selectAndWait”,”typeAndWait”等(仅在JS API中有效)。Selenium通常会持续跟踪新页⾯的加载状态,当其第⼀次注意到页⾯加载完成,将会设定⼀个”newPageLoaded”标志。当此标志变为false后再运⾏其他Selenium命令。因此,如果你要等待⼀个页⾯加载完成,当⼀个Selenium命令导致⼀个页⾯加载后就需⽴即开始等待。参数: ·timeout - 以毫秒为单位,超过后该命令将返回错误。waitForPopUp(windowID,timeout)等待⼀个弹出窗体出现和加载。参数: ·windowID – 将出现窗体的JavaScript 窗体ID ·timeout - 以毫秒为单位,超过后该命令将返回错误。windowFocus()将焦点赋给当前选择窗体windowMaximize()重新设定当前窗体⼤⼩为全屏

Selenium AccessorsassertErrorOnNext(message)告诉Selenium在下⼀个命令执⾏时期待有错误。参数: ·message – 我们所期望的错误信息。如果出现不正确的错误信息,该命令将失败。同断⾔相关联,⾃动⽣成: ·assertNotErrorOnNext(message) ·verifyErrorOnNext(message) ·verifyNotErrorOnNext(message) ·waitForErrorOnNext(message) ·waitForNotErrorOnNext(message)assertFailureOnNext(message)告诉Selenium在下⼀个命令执⾏时期待有失败。参数: ·message – 我们所期望的失败信息。如果出现不正确的失败信息,该命令将失败。同断⾔相关联,⾃动⽣成: ·assertNotFailureOnNext(message) ·verifyFailureOnNext(message) ·verifyNotFailureOnNext(message) ·waitForFailureOnNext(message) ·waitForNotFailureOnNext(message)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)返回在之前动作所产⽣的JavaScript警告消息,如果没有警告将失败。得到⼀个警告同⼿动点击OK有着相同的效果。如果产⽣了⼀个警告,⽽你并不去得到/验证它,那么下⼀个Selenium动作将失败。注意:在Selenium中,JavaScript警告将不会弹出⼀个可见的警告对话框。注意:Selenium不⽀持在页⾯的onload()事件句柄中所产⽣的JavaScript警告。在这种情况下,将会⽣成⼀个可见的对话框,Selenium将被悬停直到⼿动点击OK。Returns: 最近JavaScript的警告消息同断⾔相关联,⾃动⽣成: ·assertAlert(pattern) ·assertNotAlert(pattern) ·verifyAlert(pattern) ·verifyNotAlert(pattern) ·waitForAlert(pattern) ·waitForNotAlert(pattern)storeAllButtons(variableName)返回页⾯上所有按钮的ID集。如果被给与的按钮没有ID,则将在结果数组中显⽰为””。Returns: 页⾯上所有按钮的ID集。同断⾔相关联,⾃动⽣成: ·assertAllButtons(pattern) ·assertNotAllButtons(pattern) ·verifyAllButtons(pattern) ·verifyNotAllButtons(pattern) ·waitForAllButtons(pattern) ·waitForNotAllButtons(pattern)storeAllFields(variableName)返回页⾯上所有可输⼊域的ID集。如果被给与的域没有ID,则将在结果数组中显⽰为””Returns: 页⾯上所有域的ID集。同断⾔相关联,⾃动⽣成: ·assertAllFields(pattern) ·assertNotAllFields (pattern) ·verifyAllFields (pattern) ·verifyNotAllFields (pattern) ·waitForAllFields (pattern) ·waitForNotAllFields (pattern)storeAllLinks(variableName)返回页⾯上所有链接的ID集。如果被给与的链接没有ID,则将在结果数组中显⽰为””Returns: 页⾯上所有链接的ID集。同断⾔相关联,⾃动⽣成: ·assertAllLinks(pattern) ·assertNotAllLinks (pattern) ·verifyAllLinks (pattern) ·verifyNotAllLinks (pattern) ·waitForAllLinks (pattern) ·waitForNotAllLinks (pattern)storeAllWindowIds(variableName)返回所有浏览器已知的窗体ID集。Returns: 所有浏览器已知的窗体ID集。同断⾔相关联,⾃动⽣成: ·assertAllWindowIds (pattern) ·assertNotAllWindowIds (pattern) ·verifyAllWindowIds (pattern) ·verifyNotAllWindowIds (pattern) ·waitForAllWindowIds (pattern) ·waitForNotAllWindowIds (pattern)storeAllWindowNames(variableName)返回所有浏览器已知的窗体名称集。Returns: 所有浏览器已知的窗体名称集。同断⾔相关联,⾃动⽣成: ·assertAllWindowNames (pattern) ·assertNotAllWindowNames (pattern) ·verifyAllWindowNames (pattern) ·verifyNotAllWindowNames (pattern) ·waitForAllWindowNames (pattern) ·waitForNotAllWindowNames (pattern)storeAllWindowTitles(variableName)返回所有浏览器已知的窗体标题集。Returns: 所有浏览器已知的窗体标题集。同断⾔相关联,⾃动⽣成: ·assertAllWindowTitles (pattern) ·assertNotAllWindowTitles (pattern) ·verifyAllWindowTitles (pattern) ·verifyNotAllWindowTitles (pattern) ·waitForAllWindowTitles (pattern) ·waitForNotAllWindowTitles (pattern)storeAttribute(attributeLocator,variableName)获得⼀个元素属性值。参数: ·attributeLocator – 由@符号开头,后跟随属性名,如”foo@bar” ·variableName – ⽤于存储结果的变量名。Returns: 指定属性的值同断⾔相关联,⾃动⽣成: ·assertAttribute (attributeLocator, pattern) ·assertNotAttribute (attributeLocator, pattern) ·verifyAttribute (attributeLocator, pattern) ·verifyNotAttribute (attributeLocator, pattern) ·waitForAttribute (attributeLocator, pattern) ·waitForNotAttribute (attributeLocator, pattern)storeAttributeFromAllWindows(attributeName,variableName)返回所有已知窗体的某些属性的每⼀个实例。参数: ·attributeName – 窗体某属性的名称 ·variableName - ⽤于存储结果的变量名。Returns: 从所有已知窗体获得的该属性的数值集。同断⾔相关联,⾃动⽣成: ·assertAttributeFromAllWindows (attributeName, pattern) ·assertNotAttributeFromAllWindows (attributeName, pattern) ·verifyAttributeFromAllWindows (attributeName, pattern) ·verifyNotAttributeFromAllWindows (attributeName, pattern) ·waitForAttributeFromAllWindows (attributeName, pattern) ·waitForNotAttributeFromAllWindows (attributeName, pattern)storeBodyText(variableName)获取页⾯上所有⽂本。Returns: 页⾯上所有⽂本同断⾔相关联,⾃动⽣成: ·assertBodyText (pattern) ·assertNotBodyText (pattern) ·verifyBodyText (pattern) ·verifyNotBodyText (pattern) ·waitForBodyText (pattern) ·waitForNotBodyText (pattern)storeConfirmation(variableName)返回在之前动作所产⽣的JavaScript确认消息。默认情况下,confirm函数将返回true,同⼿动点击OK有着相同的效果。这可以通过之前执⾏chooseCancelOnNextConfirmation命令改变。如果产⽣了⼀个确认,⽽你并不去得到/验证它,那么下⼀个Selenium动作将失败。注意:在Selenium中,JavaScript确认将不会弹出⼀个可见的对话框。注意:Selenium不⽀持在页⾯的onload()事件句柄中所产⽣的JavaScript警告。在这种情况下,将会⽣成⼀个可见的对话框,Selenium将被悬停直到⼿动点击OK。Returns: 最近JavaScript的确认消息同断⾔相关联,⾃动⽣成: ·assertConfirmation (pattern) ·assertNotConfirmation (pattern) ·verifyConfirmation (pattern) ·verifyNotConfirmation (pattern) ·waitForConfirmation (pattern) ·waitForNotConfirmation (pattern)storeCookie(variableName)返回当前测试下当前页⾯的所有cookiesReturns: 当前测试下当前页⾯的所有cookies同断⾔相关联,⾃动⽣成: ·assertCookie (pattern) ·assertNotCookie (pattern) ·verifyCookie (pattern) ·verifyNotCookie (pattern) ·waitForCookie (pattern) ·waitForNotCookie (pattern)storeCursorPosition(locator,variableName)返回所给与的输⼊元素或⽂本域的⽂本光标位置。要注意,这并不在所有的浏览器中有效。特别指出,如果光标/选择已经被JavaScript所清除,该命令将尝试返回光标所在的最后位置,即使光标已经不在该页⾯。这被归档为SEL-243。如果指定元素不是⼀个可输⼊元素或⽂本域,或没有光标在此元素上,该⽅法将失败。参数: ·locator – ⼀个指向输⼊元素或⽂本域的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 在该域中的光标数字位置同断⾔相关联,⾃动⽣成: ·assertCursorPosition (locator,pattern) ·assertNotCursorPosition (locator,pattern) ·verifyCursorPosition (locator,pattern) ·verifyNotCursorPosition (locator,pattern) ·waitForCursorPosition (locator,pattern) ·waitForNotCursorPosition (locator,pattern)storeElementHeight(locator,variableName)返回元素的⾼度参数: ·locator – ⼀个指向元素的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 元素的⾼度同断⾔相关联,⾃动⽣成: ·assertElementHeight (locator,pattern) ·assertNotElementHeight (locator,pattern) ·verifyElementHeight (locator,pattern) ·verifyNotElementHeight (locator,pattern) ·waitForElementHeight (locator,pattern) ·waitForNotElementHeight (locator,pattern)storeElementIndex(locator,variableName)获取元素相对于其⽗元素的索引(从0开始)。注释节点和空⽂本节点将被忽略。参数: ·locator – ⼀个指向元素的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 元素相对于其⽗元素的索引(从0开始)同断⾔相关联,⾃动⽣成: ·assertElementIndex (locator,pattern) ·assertNotElementIndex (locator,pattern) ·verifyElementIndex (locator,pattern) ·verifyNotElementIndex (locator,pattern) ·waitForElementIndex (locator,pattern) ·waitForNotElementIndex (locator,pattern)storeElementPositionLeft(locator,variableName)返回元素的⽔平位置参数: ·locator – ⼀个指向元素的元素定位器或元素本⾝ ·variableName - ⽤于存储结果的变量名。Returns: 到框架边缘的像素。同断⾔相关联,⾃动⽣成: ·assertElementPositionLeft (locator,pattern) ·assertNotElementPositionLeft (locator,pattern) ·verifyElementPositionLeft (locator,pattern) ·verifyNotElementPositionLeft (locator,pattern) ·waitForElementPositionLeft (locator,pattern) ·waitForNotElementPositionLeft (locator,pattern)storeElementPositionTop(locator,variableName)返回元素的纵向位置参数: ·locator – ⼀个指向元素的元素定位器或元素本⾝ ·variableName - ⽤于存储结果的变量名。Returns: 到框架边缘的像素。同断⾔相关联,⾃动⽣成: ·assertElementPositionTop (locator,pattern) ·assertNotElementPositionTop (locator,pattern) ·verifyElementPositionTop (locator,pattern) ·verifyNotElementPositionTop (locator,pattern) ·waitForElementPositionTop (locator,pattern) ·waitForNotElementPositionTop (locator,pattern)storeElementWidth(locator,variableName)返回元素的宽度参数: ·locator – ⼀个指向元素的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 元素的宽度(以像素为单位)同断⾔相关联,⾃动⽣成: ·assertElementWidth (locator,pattern) ·assertNotElementWidth (locator,pattern) ·verifyElementWidth (locator,pattern) ·verifyNotElementWidth (locator,pattern) ·waitForElementWidth (locator,pattern) ·waitForNotElementWidth (locator,pattern)storeEval(script,variableName)获得指定JavaScript⽚段执⾏后的值。该⽚段可以有多⾏,但只返回最后⼀⾏的值。要注意到,默认情况下,该⽚段将在”selenium”对象本⾝的上下⽂中运⾏,因此其将提交给Selenium对象。⽤window将窗体提交给你的应⽤程序,如:mentById(‘foo’)如果你不得不在你的应⽤程序页⾯使⽤⼀个定位器提交⼀个单元素,你可以⽤ement(“id=foo”),这⾥”id=foo”就是你的定位器。参数: ·script – 要运⾏的JavaScript ·variableName - ⽤于存储结果的变量名。Returns: ⽚段执⾏后的值同断⾔相关联,⾃动⽣成: ·assertEval (script,pattern) ·assertNotEval (script,pattern) ·verifyEval (script,pattern) ·verifyNotEval (script,pattern) ·waitForEval (script,pattern) ·waitForNotEval (script,pattern)storeExpression(expression,variableName)返回指定表达式。由于JavaScript的预处理机制使其显得⾮常有⽤。它可以⽤于⽣成如assertExpression和waitForExpression命令。参数: ·expression – 要返回的值 ·variableName - ⽤于存储结果的变量名。Returns: 通过的值同断⾔相关联,⾃动⽣成: ·assertExpression (expression,pattern) ·assertNotExpression (expression,pattern) ·verifyExpression (expression,pattern) ·verifyNotExpression (expression,pattern) ·waitForExpression (expression,pattern) ·waitForNotExpression (expression,pattern)storeHtmlSource(variableName)返回”html”标签间的整个HTML源代码。Returns: 整个HTML源代码同断⾔相关联,⾃动⽣成: ·assertHtmlSource (pattern) ·assertNotHtmlSource (pattern) ·verifyHtmlSource (pattern) ·verifyNotHtmlSource (pattern) ·waitForHtmlSource (pattern) ·waitForNotHtmlSource (pattern)storeLocation(variableName)取得当前页⾯的绝对路径Returns: 当前页⾯的绝对路径同断⾔相关联,⾃动⽣成: ·assertLocation (pattern) ·assertNotLocation (pattern) ·verifyLocation (pattern) ·verifyNotLocation (pattern) ·waitForLocation (pattern) ·waitForNotLocation (pattern)storeMouseSpeed(variableName)返回在dragAndDrop 命令执⾏期间,”mousemove”事件时的像素数字(默认为10)Returns: dragAndDrop 命令执⾏期间,”mousemove”事件时的像素数字(默认为10)同断⾔相关联,⾃动⽣成: ·assertMouseSpeed (pattern) ·assertNotMouseSpeed (pattern) ·verifyMouseSpeed (pattern) ·verifyNotMouseSpeed (pattern) ·waitForMouseSpeed (pattern) ·waitForNotMouseSpeed (pattern)storePrompt(variableName)返回在之前动作所产⽣的JavaScript问题提⽰消息。要成功挂起问题提⽰需要先运⾏answerOnNextPrompt命令。如果产⽣了⼀个问题提⽰,⽽你并不去得到/验证它,那么下⼀个Selenium动作将失败。注意:在Selenium中,JavaScript确认将不会弹出⼀个可见的对话框。注意:Selenium不⽀持在页⾯的onload()事件句柄中所产⽣的JavaScript问题提⽰。在这种情况下,将会⽣成⼀个可见的对话框,Selenium将被悬停直到⼿动点击OK。Returns: 最近JavaScript的问题提⽰消息同断⾔相关联,⾃动⽣成: ·assertPrompt (pattern) ·assertNotPrompt (pattern) ·verifyPrompt (pattern) ·verifyNotPrompt (pattern) ·waitForPrompt (pattern) ·waitForNotPrompt (pattern)storeSelectedId(selectLocator,variableName)获取从指定选择元素中选择的选项元素ID。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 从指定选择元素中选择的选项元素ID同断⾔相关联,⾃动⽣成: ·assertSelectedId (selectLocator,pattern) ·assertNotSelectedId (selectLocator,pattern) ·verifySelectedId (selectLocator,pattern) ·verifyNotSelectedId (selectLocator,pattern) ·waitForSelectedId (selectLocator,pattern) ·waitForNotSelectedId (selectLocator,pattern)storeSelectedIds(selectLocator,variableName)从指定选择或多选元素中获取选择的选项元素ID集。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 从指定选择或多选元素中选择的选项元素ID集合数组同断⾔相关联,⾃动⽣成: ·assertSelectedIds (selectLocator,pattern) ·assertNotSelectedIds (selectLocator,pattern) ·verifySelectedIds (selectLocator,pattern) ·verifyNotSelectedIds (selectLocator,pattern) ·waitForSelectedIds (selectLocator,pattern) ·waitForNotSelectedIds (selectLocator,pattern)storeSelectedIndex(selectLocator,variableName)从指定的选择元素中获取被选项索引(从0开始)。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 从指定选择元素中选择的选项元素索引同断⾔相关联,⾃动⽣成: ·assertSelectedIndex (selectLocator,pattern) ·assertNotSelectedIndex (selectLocator,pattern) ·verifySelectedIndex (selectLocator,pattern) ·verifyNotSelectedIndex (selectLocator,pattern) ·waitForSelectedIndex (selectLocator,pattern) ·waitForNotSelectedIndex (selectLocator,pattern)storeSelectedIndexs(selectLocator,variableName)从指定的选择或多选元素中获取被选项索引(从0开始)集。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 从指定选择或多选元素中选择的选项元素索引集合数组同断⾔相关联,⾃动⽣成: ·assertSelectedIndexs (selectLocator,pattern) ·assertNotSelectedIndexs (selectLocator,pattern) ·verifySelectedIndexs (selectLocator,pattern) ·verifyNotSelectedIndexs (selectLocator,pattern) ·waitForSelectedIndexs (selectLocator,pattern) ·waitForNotSelectedIndexs (selectLocator,pattern)storeSelectedLabel(selectLocator,variableName)从指定的选择元素中获取所选择的选项标签(可见⽂本)。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns:所选择的选项标签同断⾔相关联,⾃动⽣成: ·assertSelectedLabel (selectLocator,pattern) ·assertNotSelectedLabel (selectLocator,pattern) ·verifySelectedLabel (selectLocator,pattern) ·verifyNotSelectedLabel (selectLocator,pattern) ·waitForSelectedLabel (selectLocator,pattern) ·waitForNotSelectedLabel (selectLocator,pattern)storeSelectedLabels(selectLocator,variableName)从指定的选择或多选元素中获取所选择的选项标签(可见⽂本)。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns:所选择的选项标签同断⾔相关联,⾃动⽣成: ·assertSelectedLabel (selectLocator,pattern) ·assertNotSelectedLabel (selectLocator,pattern) ·verifySelectedLabel (selectLocator,pattern) ·verifyNotSelectedLabel (selectLocator,pattern) ·waitForSelectedLabel (selectLocator,pattern) ·waitForNotSelectedLabel (selectLocator,pattern)storeSelectedValue(selectLocator,variableName)从指定的选择元素中获取所选择的选项值(值属性)。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns:所选择的选项值同断⾔相关联,⾃动⽣成: ·assertSelectedValue (selectLocator,pattern) ·assertNotSelectedValue (selectLocator,pattern) ·verifySelectedValue (selectLocator,pattern) ·verifyNotSelectedValue (selectLocator,pattern) ·waitForSelectedValue (selectLocator,pattern) ·waitForNotSelectedValue (selectLocator,pattern)storeSelectedValues(selectLocator,variableName)从指定的选择或多选元素中获取所有所选择的选项值(值属性)。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns:所有所选择的选项值数组同断⾔相关联,⾃动⽣成: ·assertSelectedValues (selectLocator,pattern) ·assertNotSelectedValues (selectLocator,pattern) ·verifySelectedValues (selectLocator,pattern) ·verifyNotSelectedValues (selectLocator,pattern) ·waitForSelectedValues (selectLocator,pattern) ·waitForNotSelectedValues (selectLocator,pattern)storeSelectOptions(selectLocator,variableName)获取指定选择下拉框的选项标签。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns:指定选择下拉框的选项标签数组同断⾔相关联,⾃动⽣成: ·assertSelectedOptions (selectLocator,pattern) ·assertNotSelectedOptions (selectLocator,pattern) ·verifySelectedOptions (selectLocator,pattern) ·verifyNotSelectedOptions (selectLocator,pattern) ·waitForSelectedOptions (selectLocator,pattern) ·waitForNotSelectedOptions (selectLocator,pattern)storeTable(tableCellAddress,variableName)从某个表的单元格中获取⽂本。单元格地址语法如,这⾥的row和column从0开始。参数: ·tableCellAddress – ⼀个单元格地址,如”foo.1.4” ·variableName -⽤于存储结果的变量名。Returns: 从指定单元格取出的⽂本同断⾔相关联,⾃动⽣成: ·assertTable (tableCellAddress,pattern) ·assertNotTable (tableCellAddress,pattern) ·verifyTable (tableCellAddress,pattern) ·verifyNotTable (tableCellAddress,pattern) ·waitForTable (tableCellAddress,pattern) ·waitForNotTable (tableCellAddress,pattern)storeText(locator,variableName)获取元素的⽂本。这对任何包含⽂本的元素都有效。该命令即可以⽤于如⽕狐浏览器的textContent,也可以⽤于如IE浏览器的innerText——显⽰给⽤户的。参数: ·locator - ⼀个元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 元素的⽂本同断⾔相关联,⾃动⽣成: ·assertText (locator,pattern) ·assertNotText (locator,pattern) ·verifyText (locator,pattern) ·verifyNotText (locator,pattern) ·waitForText (locator,pattern) ·waitForNotText (locator,pattern)storeTitle(variableName)获取当前页⾯的标题。Returns: 当前页⾯的标题。同断⾔相关联,⾃动⽣成: ·assertTitle (pattern) ·assertNotTitle (pattern) ·verifyTitle (pattern) ·verifyNotTitle (pattern) ·waitForTitle (pattern) ·waitForNotTitle (pattern)storeValue(locator,variableName)获得⼀个输⼊域(或任何包含value参数的元素)的值(已去除空格)。对于checkbox/radio元素,其值为”on”还是”off”依赖于该元素是否被选中。参数: ·locator - ⼀个元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 元素值,对于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,variableName)确定当前框架是否包含该运⾏代码。这对于代理注⼊代码模式⾮常有⽤,这些代码在每个浏览器框架和窗体中运⾏,有时selenium server需要识别当前是哪个框架。这种情况下,当测试调⽤selectFrame,该程序将被每个框架调⽤以指出哪个框架被选择。被选择的框架将返回true,⽽其他将返回false。参数: ·currenFrameString – 开始框架 ·target – 新框架(也许与当前框架相关联) ·variableName -⽤于存储结果的变量名。Returns: 如果新框架为该代码的窗体,返回true同断⾔相关联,⾃动⽣成: ·assertWhetherThisFrameMatchFrameExpression (currenFrameString, target) ·assertNotWhetherThisFrameMatchFrameExpression (currenFrameString, target) ·verifyWhetherThisFrameMatchFrameExpression (currenFrameString, target) ·verifyNotWhetherThisFrameMatchFrameExpression (currenFrameString, target) ·waitForWhetherThisFrameMatchFrameExpression (currenFrameString, target) ·waitForNotWhetherThisFrameMatchFrameExpression (currenFrameString, target)storeWhetherThisWindowMatchWindowExpression(currenWindowString,target,variableName)确定当前窗体是否包含该运⾏代码。这对于代理注⼊代码模式⾮常有⽤,这些代码在每个浏览器框架和窗体中运⾏,有时selenium server需要识别当前是哪个窗体。这种情况下,当测试调⽤selectWindow,该程序将被每个窗体调⽤以指出哪个窗体被选择。被选择的窗体将返回true,⽽其他将返回false。参数: ·currenFrameString – 开始窗体 ·target – 新窗体(也许与当前窗体相关联,如,”_parent”) ·variableName - ⽤于存储结果的变量名。Returns: 如果新窗体为该代码的窗体,返回true同断⾔相关联,⾃动⽣成: ·assertWhetherThisWindowMatchWindowExpression (currenWindowString, target) ·assertNotWhetherThisWindowMatchWindowExpression (currenWindowString, target) ·verifyWhetherThisWindowMatchWindowExpression (currenWindowString, target) ·verifyNotWhetherThisWindowMatchWindowExpression (currenWindowString, target) ·waitForWhetherThisWindowMatchWindowExpression (currenWindowString, target) ·waitForNotWhetherThisWindowMatchWindowExpression (currenWindowString, target)storeXpathCount(xpath,variableName)返回匹配指定xpath的节点数,如”//table”将给出表的个数。参数:·xpath – 要计算的xpath表达式。不要⽤’count()’函数将该表达式包含起来,我们将⾃动帮你作这件事。 ·variableName - ⽤于存储结果的变量名。Returns: 匹配指定xpath的节点数同断⾔相关联,⾃动⽣成: ·assertXpathCount (xpath, pattern) ·assertNotXpathCount (xpath, pattern) ·verifyXpathCount (xpath, pattern) ·verifyNotXpathCount (xpath, pattern) ·waitForXpathCount (xpath, pattern) ·waitForNotXpathCount (xpath, pattern)storeAlertPresent(variableName)发⽣警告了?该函数永远不会抛出异常Returns: 如果有警告返回true同断⾔相关联,⾃动⽣成: ·assertAlertPresent () ·assertNotAlertPresent () ·verifyAlertPresent () ·verifyNotAlertPresent () ·waitForAlertPresent () ·waitForNotAlertPresent ()storeChecked(locator,variableName)获取⼀个关联性按钮(checkbox/radio)是否被勾选。如果指定元素不存在或不是⼀个关联性按钮,将失败。参数: ·locator– ⼀个执⾏checkbox或radio按钮的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 如果该checkbox被勾选,返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertChecked (locator) ·assertNotChecked (locator) ·verifyChecked (locator) ·verifyNotChecked (locator) ·waitForChecked (locator) ·waitForNotChecked (locator)storeConfirmationPresent(variableName)confirm()被调⽤了?该函数永远不会抛出异常Returns: 如果有⼀个未决的确认返回true同断⾔相关联,⾃动⽣成: ·assertConfirmationPresent () ·assertNotConfirmationPresent () ·verifyConfirmationPresent () ·verifyNotConfirmationPresent () ·waitForConfirmationPresent () ·waitForNotConfirmationPresent ()storeEditable(locator,variableName)判定指定的输⼊元素是否为可编辑,且ie没有被禁⽤。如果指定元素不为⼀个可输⼊元素,该函数将失败。参数: ·locator – ⼀个元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 如果输⼊元素可编辑返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertEditable (locator) ·assertNotEditable (locator) ·verifyEditable (locator) ·verifyNotEditable (locator) ·waitForEditable (locator) ·waitForNotEditable (locator)storeElementPresent(locator,variableName)验证指定元素在页⾯上。参数: ·locator – ⼀个元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 如果该元素出现返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertElementPresent (locator) ·assertNotElementPresent (locator) ·verifyElementPresent (locator) ·verifyNotElementPresent (locator) ·waitForElementPresent (locator) ·waitForNotElementPresent (locator)storeOrdered(locator1,locator2,variableName)检查这两个元素是否有相同的⽗级,且在DOM中为顺序亲属。两个相同元素将不考虑顺序。参数: ·locator1 – 指向第⼀个元素的元素定位器 ·locator2 – 指向第⼆个元素的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 如果元素1是元素2的兄长,返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertOrdered (locator1,locator2) ·assertNotOrdered (locator1,locator2) ·verifyOrdered (locator1,locator2) ·verifyNotOrdered (locator1,locator2) ·waitForOrdered (locator1,locator2) ·waitForNotOrdered (locator1,locator2)storePromptPresent(variableName)发⽣提⽰了?该函数永远不会抛出异常Returns: 如果有⼀个未决的提⽰返回true同断⾔相关联,⾃动⽣成: ·assertPromptPresent () ·assertNotPromptPresent () ·verifyPromptPresent () ·verifyNotPromptPresent () ·waitForPromptPresent () ·waitForNotPromptPresent ()storeSomethingSelected(selectLocator,variableName)判定⼀个下拉菜单是否选择了某个选项。参数: ·selectLocator – ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 如果选择某选项返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertSomethingSelected (selectLocator) ·assertNotSomethingSelected (selectLocator) ·verifySomethingSelected (selectLocator) ·verifyNotSomethingSelected (selectLocator) ·waitForSomethingSelected (selectLocator) ·waitForNotSomethingSelected (selectLocator)storeTextPresent(pattern,variableName)验证指定⽂本出现在提交给⽤户的页⾯上。参数: ·pattern – ⽤于匹配页⾯⽂本的范式 ·variableName - ⽤于存储结果的变量名。Returns: 如果该范式匹配⽂本返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertTextPresent (pattern) ·assertNotTextPresent (pattern) ·verifyTextPresent (pattern) ·verifyNotTextPresent (pattern) ·waitForTextPresent (pattern) ·waitForNotTextPresent (pattern)storeVisible(locator,variableName)判定指定元素是否可见。⼀个元素可以通过将其本⾝或其⽗级的CSS”visibility”属性设定为”hidden”,或将”dispaly”属性设定为”none”,以使其不可见。如果该元素不存在,此⽅法将失败。参数: ·locator – ⼀个元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 如果指定元素为可见返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertVisible (locator) ·assertNotVisible (locator) ·verifyVisible (locator) ·verifyNotVisible (locator) ·waitForVisible (locator) ·waitForNotVisible (locator)参数解释和变量

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

Selenium中⽂API⽂档标签:转⾃:概念Selenium 通过命令进⾏驱动。Selenium 可归纳为三种“风格”:动作、辅助和断⾔。每⼀个命令调⽤就是下表中的⼀⾏。命令⽬标值动作(Actions)命令⼀般⽤于操作应⽤程序的状态。它们通过如”点击链接”和”选择选项”的⽅式进⾏⼯作。如果⼀个动作执⾏失败,或是有错误,当前的测试将会停⽌执⾏。许多动作可以被包含后缀”并等待”的⽅式进⾏调⽤,例如,”点击并等待”。这个后缀告知Selenium,该命令将使浏览器向服务器产⽣⼀个请求,并使得Selenium等待加载⼀个新的页⾯。辅助(Accessors)⽤于检查应⽤程序的状态并将结果存储在变量中。例如”storeTitle”。它们同样可⽤于⾃动⽣成断⾔。断⾔(Assertions)类似于辅助,但它们可以验证应⽤程序的状态是否同所期望的相⼀致。例如包括”确认页⾯标题为X”和”验证该复选框是否被勾选”。所有的Selenium断⾔可以被⽤于三种模式:”assert”, “verify”,和”waitfor”。例如,你可以”assertText”,”verifyText”,及”waitforText”。当”assert”失败时,该测试将终⽌。当”verify”失败时,该测试将继续执⾏,并将错误记⼊⽇志。这就允许了通过单条”assert”确保应⽤程序在正确的页⾯上,⽽通过⼀系列的”verify”断⾔测试表单上的区域值,标签等。“waitfor”命令⽤于等待某些条件变为真(可⽤于Ajax应⽤程序的测试)。如果该条件已经为真,他们将⽴即成功执⾏。反之,如果该条件不为真,则将失败并暂停测试,直到超过当前所设定的超时时间(参照后⾯的setTimeout动作)。元素定位器(Element Locators)告诉Selenium是向HTML中的哪⼀个元素发送命令。许多命令需要⼀个如”target”属性的元素定位器。这其中包括”elementId”和”document. forms[0].element”。在接下来的部分将更详细的描述它们。式样(Patterns)由于多种因素被使⽤着,如指定⼀个输⼊域的期望值,或识别⼀个选择选项。Selenium⽀持许多类型的式样,其中包括正则表达式,所有这些将在接下来的章节中进⾏更详细的描述。定义⼀个类⽤于运⾏Selenium命令。元素定位器(Element 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=[´myForm´].myDropdown 〇 dom=[56] 〇 dom=function foo() { return [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 corepackage中的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

所⽀持的元素过滤器为:value=valuePattern 匹配元素时基于它们的值进⾏匹配。这在对⼀堆相似命名的关联按钮的筛选中显得尤其有⽤。index=index 选择单个元素基于其在列表中的位置(从0开始)。字符串匹配 式样有各种各样的式样语法可⽤于匹配字符串值:·glob:pattern: ⽤″glob″去匹配⼀个字符串。″Glob″是⼀种⽤于命令⾏shells的代表性的有限正则表达式语法。在⼀个glob式样中, ″*″代表任意序列字符集,⽽″?″则代表任意单个字符。Glob式样匹配整个字符串。·regexp:regexp: 使⽤正则表达式匹配字符串。可使⽤所有的JavaScript正则表达式。如果没有指定式样前缀,Selenium假定其为″glob″式样。Selenium ActionsaddLocationStrategy (strategyName, functionDefinition) 为selenium定义⼀个新的函数⽤于定位页⾯上的元素。例如,如果你定义了⼀个⽅法″foo″,并运⾏了click(″foo=blah″),我们将运⾏你的函数,传递给你字符串″blah″,并点击该函数所返回的元素,如果返回为null,则抛出⼀个″Element not found″的错误。我们将给该函数传递三个参数。 ·locator: ⽤户传递过来的字符串 ·inWindow: 当前所选中的窗体 ·inDocument: 当前所选中的⽂档如果未找到相应的元素,则函数必须返回⼀个null。参数:·strategyName – 定义的⽅法名;只能使⽤字母[a-zA-Z],不能包含空格或其他标点符号。·functionDefinition – 在JavaScript函数中的⼀个定义body的字符串。如:return mentById(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 XPathaltKeyDown()按下alt键并保持其按下状态,直到doAltUp()被调⽤或⼀个新的页⾯被加载。altKeyUp()释放alt键answerOnNextPrompt (answer)通知Selenium返回下⼀次JavaScript prompt[()]所指定的回答字符串。参数: ·answer – 对弹出的提⽰所给与的回答assignId (locator,identifier)临时为指定元素设定⼀个″id″属性,使你可以在将来使⽤其ID,以代替缓慢且更复杂的XPath。该ID将在页⾯重载后消失。参数: ·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()模拟⽤户点击弹出窗体或表单标题栏上的″关闭″按钮。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)删除指定路径下的该名称cookie。参数: ·name – 被删除cookie的名称·path – 被删除cookie的路径属性doubleClick(locator)双击⼀个链接、按钮、多选框或单选框。如果该双击事件导致了新的页⾯加载(如同链接通常所作的),将调⽤waitForPageToLoad。参数: ·locator - ⼀个元素定位器doubleClickAt(locator,coordString)双击⼀个链接、按钮、多选框或单选框。如果该双击事件导致了新的页⾯加载(如同链接通常所作的),将调⽤waitForPageToLoad。参数: ·locator - ⼀个元素定位器·coordString – 指定由定位器返回的⿏标事件相关联的元素x,y 坐标(也就是 – 10,20)dragAndDrop(locator,movementsString)拖动元素⼀定的距离并放下参数: ·locator - ⼀个元素定位器 ·movementsString – 从当前位置到指定位置的像素偏移量,如,”+70,-300”dragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinationObject)拖动元素到另⼀元素参数: ·locatorOfObjectToBeDragged – 被拖动的元素·locatorOfDragDestinationObject – 被拖动的元素将拖向的元素的坐标 (如,其最中⼼像素)Dragdrop(locator,movementsString)不建议 – ⽤dragAndDrop 代替参数: ·locator - ⼀个元素定位器·movementsString – 从当前位置到指定位置的像素偏移量,如,”+70,-300”Echo(message)打印指定消息到你的Selenese 表的第三个表单元。有利于调试。参数: ·message – 要打印的消息fireEvent(locator,eventName)明确地模拟⼀个事件,触发”onevent”响应句柄。参数: ·locator - ⼀个元素定位器 ·eventName – 事件名,如”focus” 或”blur”getSpeed()获取执⾏速度(也就是,获取接下来的每⼀个selenium操作的延迟豪秒长度)。默认情况下,是不会有延迟的。也就是延迟为0毫秒。参照setSpeed。goBack()模拟⽤户点击其浏览器上的”back”按钮highlight(locator)暂时将指定元素的背景⾊改变为黄⾊。有利于调试。参数: ·locator - ⼀个元素定位器keyDown(locator,keySequence)模拟⽤户按下⼀个键(除了还没释放的)参数: ·locator - ⼀个元素定位器 ·keySequence – 可以是个字符串(“/”后跟随要被按下键的数字键码,通常是该键的ASCII值),或是个单字符,如“w“, “/119“。keyPress(locator,keySequence)模拟⽤户按下和释放⼀个键。参数: ·locator - ⼀个元素定位器 ·keySequence – 可以是个字符串(“/”后跟随要被按下键的数字键码,通常是该键的ASCII值),或是个单字符,如“w“, “/119“。keyUp(locator,keySequence)模拟⽤户释放⼀个键。参数: ·locator - ⼀个元素定位器 ·keySequence – 可以是个字符串(“/”后跟随要被按下键的数字键码,通常是该键的ASCII值),或是个单字符,如“w“, “/119“。metaKeyDown()按下meta键并保持其按下状态,直到doMetaUp()被调⽤或⼀个新的页⾯被加载。metaKeyUp()释放meta键mouseDown(locator)模拟⽤户在指定元素上按下⿏标按钮(除了还没释放的)。参数: ·locator - ⼀个元素定位器mouseDownAt(locator,coordString)模拟⽤户在指定位置上按下⿏标按钮(除了还没释放的)。参数: ·locator - ⼀个元素定位器·coordString -指定由定位器返回的⿏标事件相关联的元素x,y 坐标(也就是 – 10,20)mouseMove(locator)模拟⽤户在指定元素上按下⿏标按钮(除了还没释放的)。参数: ·locator - ⼀个元素定位器mouseMoveAt(locator,coordString)模拟⽤户在指定位置上按下⿏标按钮(除了还没释放的)。参数: ·locator - ⼀个元素定位器·coordString -指定由定位器返回的⿏标事件相关联的元素x,y 坐标(也就是 – 10,20)mouseOut(locator)模拟⽤户从指定元素上移开⿏标指针。参数: ·locator - ⼀个元素定位器mouseOver(locator)模拟⽤户⿏标滑过指定元素。参数: ·locator - ⼀个元素定位器mouseUp(locator)模拟⽤户在指定元素上释放⿏标按钮时发⽣的事件(也就是,停⽌保持按钮按下)。参数: ·locator - ⼀个元素定位器mouseUpAt(locator,coordString)模拟⽤户在指定元素上释放⿏标按钮时发⽣的事件(也就是,停⽌保持按钮按下)。参数: ·locator - ⼀个元素定位器·coordString -指定由定位器返回的⿏标事件相关联的元素x,y 坐标(也就是 – 10,20)open(url)在测试框架中打开⼀个URL,可以为相对和绝对URLs。”open”命令将等待页⾯加载完成才继续进⾏,也就是明确的指名”并等待”后缀。注意:由于浏览器安全策略(相同来源⽅针)这个URL必须和当前运⾏的HTML在相同的域。如果你不得不在另⼀个域打开⼀个URL,则需要⽤Selenium服务在另⼀个域去打开⼀个新的浏览器会话。参数: ·url – 要打开的URL,可以为空 ·windowID – 要选择窗体的JavaScript window IDpause(waitTime)等待指定时间(以毫秒为单位)参数: ·waitTime – 要睡眠的时间(以毫秒为单位)refresh()模拟⽤户点击浏览器上的”Refresh”按钮。removeAllSelections(locator)取消所有可多选元素的选择状态。参数: ·locator – ⼀个⽤于识别多选框的元素定位器removeSelection(locator,optionLocator)从⽤选项定位器进⾏筛选的多选元素的筛选集合中移除⼀个集合。@在#doSelect中查看选项定位器的详细信息。参数: ·locator – ⼀个⽤于识别多选框的元素定位器 ·optionLocator – ⼀个选项定位器(默认为⼀个标签)runScript(script)在当前测试窗体的body中创建⼀个新的”script”标签,并在body中添加指定的命令⽂本。⽤这种⽅式执⾏脚本,通常可以⽐使⽤Selenium的”getEval”⽅式更简易的进⾏调试。要注意的是,由这种脚本标签所抛出的异常不受Selenium管理,因此当该脚本有可能会抛出异常时,你需要⽤try/catch块将其包含起来。 ·script – 需要执⾏的JavaScript ⽚段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)在当前窗体中选择⼀个框架(你可以多次调⽤这个命令⽤于选择嵌套框架)。要选择⽗框架,⽤”relative=parent”作为定位器;要选择顶级框架,⽤”relative=top”。你同样可以通过基于0的索引号选择框架;⽤”index=0”选择第⼀个框架,或者⽤”index=2”选择第三个框架。你同样可以直接使⽤⼀个DOM表达式来识别你要的框架。像这样:dom=frames[“main”].frames[“subframe”]参数: ·locator – ⼀个⽤于识别框架或⼦框架的元素定位器selectWindow(windowID)选择⼀个弹出窗体;⼀旦⼀个弹出窗体被选中,所有的命令将指向该窗体。要再次选择主窗体,将对象设定为null。注意:window的内在JavaScript的”name”属性和被给与的window⽂档(通常是你实际看到的,作为最终⽤户,在窗体的标题栏上)的”title”之间有⼀个很⼤的不同。”name”对于最终⽤户通常是不可见的;它是作为第⼆个参数”windowName”传递给JavaScript函数(url,windowName,windowFeatures,replaceFlag)(被Selenium截取)。Selenium有许多⽅法⽤于查找被”windowID”参数所提及的窗体对象。1.) 如果windowID为null,(或是字符串”null”),则假定为⽤户是提交给由浏览器最初实例化的窗体。2.) 如果”windowID”参数的值是当前应⽤窗体的⼀个JavaScript变量名,则假定该变量包含⼀个由调⽤JavaScript ()函数所产⽣的返回值。3.) 另外,selenium looks in a hash it maintains that maps string names to window “names”.4.) 如果失败了,我们将循环遍历所有已知的窗体以便试图找出适合的”title”。由于”title”不是必须唯⼀,因此可能会产⽣⼀些⾮期望的⾏为。如果很难判定你所要操作的窗体的名称,你可以查看为识别通过(被Selenium截取)所打开窗体的名称时所产⽣的selenium ⽇志消息。在每个窗体被打开时,你通常可以看到如下信息:debug: call intercepted; window ID (你可以⽤于 selectWindow()) is “myNewWindow”在某些情况,Selenium会⽆法截取的调⽤(例如,如果该调⽤发⽣在”onLoad”事件之间或之前)。(该BUG标记为SEL-339)。在这些情况,你可以使⽤Selenium的openWindow命令强制Selenium去通告打开窗体的名称,使⽤⼀个空(blank) url,像这样:openWindow(“”,”myFunnyWindow”)。参数: ·windowID – 要选择窗体的JavaScript 窗体IDsetBrowserLogLevel(logLevel)设定浏览器⽅⽇志信息级别;在此级别之下的⽇志信息将被丢弃。有效的⽇志级别字符串有:”debug”,”info”,”warn”,”error”,或”off”。要查看浏览器⽇志,在GUI模式下打开⽇志窗⼝,或在Selenium RC中将浏览器端记⼊⽇志设定为enable。参数: ·logLevel – 以下之⼀:”debug”,”info”,”warn”,”error”,或”off”setCursorPosition(locator,position)将⽂本光标移动到被给与的输⼊元素或⽂本域的指定位置。若指定元素不是⼀个可输⼊元素或⽂本域,该⽅法将失败。参数: ·locator – ⼀个指向输⼊元素或⽂本域的元素定位器 ·position – 该范围的光标数字位置;position如果设定为0,则为该范围域的最开始位置,你同样可以将光标设定为-1以移动到该范围域的最末端。setMouseSpeed(pixels)配置在dragAndDrop 命令执⾏期间,”mousemove”事件时的像素数字(默认为10)。将这个值设定为0,意味着我们将向从开始位置到结束位置的每⼀个像素发送⼀个”mousemove”事件;那将会⾮常缓慢,且可能导致某些浏览器将该JavaScript强制设定为超时。如果该⿏标速度⼤于两个拖动对象间的距离,我们将只向开始位置和结束位置发送⼀个”mousemove”事件。参数: ·pixels – 两个“mousemove”事件间的像素间隔setSpeed(value)设定执⾏速度(也就是说,设定将要执⾏的每条selenium操作间的毫秒延迟间隔长度)。默认情况下,没有延迟,也就是延迟为0毫秒。参数: ·value – 在操作后的暂停毫秒数setTimeout(timeout)指定Selenium等待动作完成的等待时间。需要等待的动作包括”open”和”waitFor*”。默认超时为30秒。参数: ·timeout – 以毫秒为单位,超过后该命令将返回错误。shiftKeyDown()按下shift键,并保持按下状态,直到doShiftUp()被调⽤或⼀个新的页⾯被加载。shiftKeyUp()释放shift键。store(expression,variableName)该命令是存储表达式的同义词。参数: ·expression – 要存储的值 ·variableName – ⽤于存储结果的变量名submit(formLocator)提交给指定表单。这对于没有提交按钮的表单特别有⽤,如,简单输⼊的”search”表单。参数: ·formLocator – ⼀个指向你要提交的表单的元素定位器type(locator,value)设定⼀个输⼊域的值,如同你输⼊进去⼀样。其同样可⽤于单选框,多选框等。在这些情况,value应为选项选择时的值,⽽不是有效⽂本。参数: ·locator – ⼀个元素定位器 ·value – 要录⼊的值typeKeys(locator,value)模拟在指定元素上的按键事件,如同是你⼀个键⼀个键敲上去⼀样。⽐起为指定字符串的每个字符调⽤keyDown,keyUp,keyPress⽅法,这个函数要⽅便的多;其对于需要明确按键事件的动态UI组件(如⾃动完成的combo box)同样有⽤。不同于简单的”敲打”命令——将指定值直接强制赋给页⾯,该指令可能有,也可能没有任何效果,即时在敲打按钮通常会有效的情况下。例如,如果你在⼀个表单元素上使⽤”typeKeys”,你可能可以,也可能不可以看到看到你在该区域录⼊的效果。在有些时候,你可能不得不使⽤简单的”type”命令去设定域的值,然后⽤”typeKeys”命令去发送按键事件以告知你所录⼊的值。参数: ·locator – ⼀个元素定位器 ·value – 要录⼊的值uncheck(locator)取消选中⼀个关联性按钮(checkbox/radio)参数: ·locator – ⼀个元素定位器waitForCondition(script,timeout)重复执⾏指定JavaScript⽚段直到其值为”true”。该⽚段可以有多⾏,但只考虑其最后⼀⾏的结果。要注意:默认情况下,该⽚段会在运⾏者的测试窗体运⾏,⽽不是在你的应⽤程序窗体。要得到你的应⽤程序窗体,你可以使⽤JavaScript⽚段rentWindow(),然后让你的JavaScript在那运⾏。参数: ·script – 要运⾏的JavaScript⽚段 ·timeout –以毫秒为单位,超过后该命令将返回错误。waitForFrameToLoad(frameAddress,timeout)等待⼀个新的框架加载。Selenium通常会持续跟踪新页⾯和框架的加载状态,当其第⼀次注意到页⾯加载完成,将会设定⼀个”newPageLoaded”标志。查看waitForPageToLoad获得更多信息。参数: ·frameAddress – 服务端的框架地址 ·timeout - 以毫秒为单位,超过后该命令将返回错误。waitForPageToLoad(timeout)等待⼀个新的页⾯加载。你可以使⽤此命令以代替”AndWait”后缀,”clickAndWait”,”selectAndWait”,”typeAndWait”等(仅在JS API中有效)。Selenium通常会持续跟踪新页⾯的加载状态,当其第⼀次注意到页⾯加载完成,将会设定⼀个”newPageLoaded”标志。当此标志变为false后再运⾏其他Selenium命令。因此,如果你要等待⼀个页⾯加载完成,当⼀个Selenium命令导致⼀个页⾯加载后就需⽴即开始等待。参数: ·timeout - 以毫秒为单位,超过后该命令将返回错误。waitForPopUp(windowID,timeout)等待⼀个弹出窗体出现和加载。参数: ·windowID – 将出现窗体的JavaScript 窗体ID ·timeout - 以毫秒为单位,超过后该命令将返回错误。windowFocus()将焦点赋给当前选择窗体windowMaximize()重新设定当前窗体⼤⼩为全屏

Selenium AccessorsassertErrorOnNext(message)告诉Selenium在下⼀个命令执⾏时期待有错误。参数: ·message – 我们所期望的错误信息。如果出现不正确的错误信息,该命令将失败。同断⾔相关联,⾃动⽣成: ·assertNotErrorOnNext(message) ·verifyErrorOnNext(message) ·verifyNotErrorOnNext(message) ·waitForErrorOnNext(message) ·waitForNotErrorOnNext(message)assertFailureOnNext(message)告诉Selenium在下⼀个命令执⾏时期待有失败。参数: ·message – 我们所期望的失败信息。如果出现不正确的失败信息,该命令将失败。同断⾔相关联,⾃动⽣成: ·assertNotFailureOnNext(message) ·verifyFailureOnNext(message) ·verifyNotFailureOnNext(message) ·waitForFailureOnNext(message) ·waitForNotFailureOnNext(message)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)返回在之前动作所产⽣的JavaScript警告消息,如果没有警告将失败。得到⼀个警告同⼿动点击OK有着相同的效果。如果产⽣了⼀个警告,⽽你并不去得到/验证它,那么下⼀个Selenium动作将失败。注意:在Selenium中,JavaScript警告将不会弹出⼀个可见的警告对话框。注意:Selenium不⽀持在页⾯的onload()事件句柄中所产⽣的JavaScript警告。在这种情况下,将会⽣成⼀个可见的对话框,Selenium将被悬停直到⼿动点击OK。Returns: 最近JavaScript的警告消息同断⾔相关联,⾃动⽣成: ·assertAlert(pattern) ·assertNotAlert(pattern) ·verifyAlert(pattern) ·verifyNotAlert(pattern) ·waitForAlert(pattern) ·waitForNotAlert(pattern)storeAllButtons(variableName)返回页⾯上所有按钮的ID集。如果被给与的按钮没有ID,则将在结果数组中显⽰为””。Returns: 页⾯上所有按钮的ID集。同断⾔相关联,⾃动⽣成: ·assertAllButtons(pattern) ·assertNotAllButtons(pattern) ·verifyAllButtons(pattern) ·verifyNotAllButtons(pattern) ·waitForAllButtons(pattern) ·waitForNotAllButtons(pattern)storeAllFields(variableName)返回页⾯上所有可输⼊域的ID集。如果被给与的域没有ID,则将在结果数组中显⽰为””Returns: 页⾯上所有域的ID集。同断⾔相关联,⾃动⽣成: ·assertAllFields(pattern) ·assertNotAllFields (pattern) ·verifyAllFields (pattern) ·verifyNotAllFields (pattern) ·waitForAllFields (pattern) ·waitForNotAllFields (pattern)storeAllLinks(variableName)返回页⾯上所有链接的ID集。如果被给与的链接没有ID,则将在结果数组中显⽰为””Returns: 页⾯上所有链接的ID集。同断⾔相关联,⾃动⽣成: ·assertAllLinks(pattern) ·assertNotAllLinks (pattern) ·verifyAllLinks (pattern) ·verifyNotAllLinks (pattern) ·waitForAllLinks (pattern) ·waitForNotAllLinks (pattern)storeAllWindowIds(variableName)返回所有浏览器已知的窗体ID集。Returns: 所有浏览器已知的窗体ID集。同断⾔相关联,⾃动⽣成: ·assertAllWindowIds (pattern) ·assertNotAllWindowIds (pattern) ·verifyAllWindowIds (pattern) ·verifyNotAllWindowIds (pattern) ·waitForAllWindowIds (pattern) ·waitForNotAllWindowIds (pattern)storeAllWindowNames(variableName)返回所有浏览器已知的窗体名称集。Returns: 所有浏览器已知的窗体名称集。同断⾔相关联,⾃动⽣成: ·assertAllWindowNames (pattern) ·assertNotAllWindowNames (pattern) ·verifyAllWindowNames (pattern) ·verifyNotAllWindowNames (pattern) ·waitForAllWindowNames (pattern) ·waitForNotAllWindowNames (pattern)storeAllWindowTitles(variableName)返回所有浏览器已知的窗体标题集。Returns: 所有浏览器已知的窗体标题集。同断⾔相关联,⾃动⽣成: ·assertAllWindowTitles (pattern) ·assertNotAllWindowTitles (pattern) ·verifyAllWindowTitles (pattern) ·verifyNotAllWindowTitles (pattern) ·waitForAllWindowTitles (pattern) ·waitForNotAllWindowTitles (pattern)storeAttribute(attributeLocator,variableName)获得⼀个元素属性值。参数: ·attributeLocator – 由@符号开头,后跟随属性名,如”foo@bar” ·variableName – ⽤于存储结果的变量名。Returns: 指定属性的值同断⾔相关联,⾃动⽣成: ·assertAttribute (attributeLocator, pattern) ·assertNotAttribute (attributeLocator, pattern) ·verifyAttribute (attributeLocator, pattern) ·verifyNotAttribute (attributeLocator, pattern) ·waitForAttribute (attributeLocator, pattern) ·waitForNotAttribute (attributeLocator, pattern)storeAttributeFromAllWindows(attributeName,variableName)返回所有已知窗体的某些属性的每⼀个实例。参数: ·attributeName – 窗体某属性的名称 ·variableName - ⽤于存储结果的变量名。Returns: 从所有已知窗体获得的该属性的数值集。同断⾔相关联,⾃动⽣成: ·assertAttributeFromAllWindows (attributeName, pattern) ·assertNotAttributeFromAllWindows (attributeName, pattern) ·verifyAttributeFromAllWindows (attributeName, pattern) ·verifyNotAttributeFromAllWindows (attributeName, pattern) ·waitForAttributeFromAllWindows (attributeName, pattern) ·waitForNotAttributeFromAllWindows (attributeName, pattern)storeBodyText(variableName)获取页⾯上所有⽂本。Returns: 页⾯上所有⽂本同断⾔相关联,⾃动⽣成: ·assertBodyText (pattern) ·assertNotBodyText (pattern) ·verifyBodyText (pattern) ·verifyNotBodyText (pattern) ·waitForBodyText (pattern) ·waitForNotBodyText (pattern)storeConfirmation(variableName)返回在之前动作所产⽣的JavaScript确认消息。默认情况下,confirm函数将返回true,同⼿动点击OK有着相同的效果。这可以通过之前执⾏chooseCancelOnNextConfirmation命令改变。如果产⽣了⼀个确认,⽽你并不去得到/验证它,那么下⼀个Selenium动作将失败。注意:在Selenium中,JavaScript确认将不会弹出⼀个可见的对话框。注意:Selenium不⽀持在页⾯的onload()事件句柄中所产⽣的JavaScript警告。在这种情况下,将会⽣成⼀个可见的对话框,Selenium将被悬停直到⼿动点击OK。Returns: 最近JavaScript的确认消息同断⾔相关联,⾃动⽣成: ·assertConfirmation (pattern) ·assertNotConfirmation (pattern) ·verifyConfirmation (pattern) ·verifyNotConfirmation (pattern) ·waitForConfirmation (pattern) ·waitForNotConfirmation (pattern)storeCookie(variableName)返回当前测试下当前页⾯的所有cookiesReturns: 当前测试下当前页⾯的所有cookies同断⾔相关联,⾃动⽣成: ·assertCookie (pattern) ·assertNotCookie (pattern) ·verifyCookie (pattern) ·verifyNotCookie (pattern) ·waitForCookie (pattern) ·waitForNotCookie (pattern)storeCursorPosition(locator,variableName)返回所给与的输⼊元素或⽂本域的⽂本光标位置。要注意,这并不在所有的浏览器中有效。特别指出,如果光标/选择已经被JavaScript所清除,该命令将尝试返回光标所在的最后位置,即使光标已经不在该页⾯。这被归档为SEL-243。如果指定元素不是⼀个可输⼊元素或⽂本域,或没有光标在此元素上,该⽅法将失败。参数: ·locator – ⼀个指向输⼊元素或⽂本域的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 在该域中的光标数字位置同断⾔相关联,⾃动⽣成: ·assertCursorPosition (locator,pattern) ·assertNotCursorPosition (locator,pattern) ·verifyCursorPosition (locator,pattern) ·verifyNotCursorPosition (locator,pattern) ·waitForCursorPosition (locator,pattern) ·waitForNotCursorPosition (locator,pattern)storeElementHeight(locator,variableName)返回元素的⾼度参数: ·locator – ⼀个指向元素的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 元素的⾼度同断⾔相关联,⾃动⽣成: ·assertElementHeight (locator,pattern) ·assertNotElementHeight (locator,pattern) ·verifyElementHeight (locator,pattern) ·verifyNotElementHeight (locator,pattern) ·waitForElementHeight (locator,pattern) ·waitForNotElementHeight (locator,pattern)storeElementIndex(locator,variableName)获取元素相对于其⽗元素的索引(从0开始)。注释节点和空⽂本节点将被忽略。参数: ·locator – ⼀个指向元素的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 元素相对于其⽗元素的索引(从0开始)同断⾔相关联,⾃动⽣成: ·assertElementIndex (locator,pattern) ·assertNotElementIndex (locator,pattern) ·verifyElementIndex (locator,pattern) ·verifyNotElementIndex (locator,pattern) ·waitForElementIndex (locator,pattern) ·waitForNotElementIndex (locator,pattern)storeElementPositionLeft(locator,variableName)返回元素的⽔平位置参数: ·locator – ⼀个指向元素的元素定位器或元素本⾝ ·variableName - ⽤于存储结果的变量名。Returns: 到框架边缘的像素。同断⾔相关联,⾃动⽣成: ·assertElementPositionLeft (locator,pattern) ·assertNotElementPositionLeft (locator,pattern) ·verifyElementPositionLeft (locator,pattern) ·verifyNotElementPositionLeft (locator,pattern) ·waitForElementPositionLeft (locator,pattern) ·waitForNotElementPositionLeft (locator,pattern)storeElementPositionTop(locator,variableName)返回元素的纵向位置参数: ·locator – ⼀个指向元素的元素定位器或元素本⾝ ·variableName - ⽤于存储结果的变量名。Returns: 到框架边缘的像素。同断⾔相关联,⾃动⽣成: ·assertElementPositionTop (locator,pattern) ·assertNotElementPositionTop (locator,pattern) ·verifyElementPositionTop (locator,pattern) ·verifyNotElementPositionTop (locator,pattern) ·waitForElementPositionTop (locator,pattern) ·waitForNotElementPositionTop (locator,pattern)storeElementWidth(locator,variableName)返回元素的宽度参数: ·locator – ⼀个指向元素的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 元素的宽度(以像素为单位)同断⾔相关联,⾃动⽣成: ·assertElementWidth (locator,pattern) ·assertNotElementWidth (locator,pattern) ·verifyElementWidth (locator,pattern) ·verifyNotElementWidth (locator,pattern) ·waitForElementWidth (locator,pattern) ·waitForNotElementWidth (locator,pattern)storeEval(script,variableName)获得指定JavaScript⽚段执⾏后的值。该⽚段可以有多⾏,但只返回最后⼀⾏的值。要注意到,默认情况下,该⽚段将在”selenium”对象本⾝的上下⽂中运⾏,因此其将提交给Selenium对象。⽤window将窗体提交给你的应⽤程序,如:mentById(‘foo’)如果你不得不在你的应⽤程序页⾯使⽤⼀个定位器提交⼀个单元素,你可以⽤ement(“id=foo”),这⾥”id=foo”就是你的定位器。参数: ·script – 要运⾏的JavaScript ·variableName - ⽤于存储结果的变量名。Returns: ⽚段执⾏后的值同断⾔相关联,⾃动⽣成: ·assertEval (script,pattern) ·assertNotEval (script,pattern) ·verifyEval (script,pattern) ·verifyNotEval (script,pattern) ·waitForEval (script,pattern) ·waitForNotEval (script,pattern)storeExpression(expression,variableName)返回指定表达式。由于JavaScript的预处理机制使其显得⾮常有⽤。它可以⽤于⽣成如assertExpression和waitForExpression命令。参数: ·expression – 要返回的值 ·variableName - ⽤于存储结果的变量名。Returns: 通过的值同断⾔相关联,⾃动⽣成: ·assertExpression (expression,pattern) ·assertNotExpression (expression,pattern) ·verifyExpression (expression,pattern) ·verifyNotExpression (expression,pattern) ·waitForExpression (expression,pattern) ·waitForNotExpression (expression,pattern)storeHtmlSource(variableName)返回”html”标签间的整个HTML源代码。Returns: 整个HTML源代码同断⾔相关联,⾃动⽣成: ·assertHtmlSource (pattern) ·assertNotHtmlSource (pattern) ·verifyHtmlSource (pattern) ·verifyNotHtmlSource (pattern) ·waitForHtmlSource (pattern) ·waitForNotHtmlSource (pattern)storeLocation(variableName)取得当前页⾯的绝对路径Returns: 当前页⾯的绝对路径同断⾔相关联,⾃动⽣成: ·assertLocation (pattern) ·assertNotLocation (pattern) ·verifyLocation (pattern) ·verifyNotLocation (pattern) ·waitForLocation (pattern) ·waitForNotLocation (pattern)storeMouseSpeed(variableName)返回在dragAndDrop 命令执⾏期间,”mousemove”事件时的像素数字(默认为10)Returns: dragAndDrop 命令执⾏期间,”mousemove”事件时的像素数字(默认为10)同断⾔相关联,⾃动⽣成: ·assertMouseSpeed (pattern) ·assertNotMouseSpeed (pattern) ·verifyMouseSpeed (pattern) ·verifyNotMouseSpeed (pattern) ·waitForMouseSpeed (pattern) ·waitForNotMouseSpeed (pattern)storePrompt(variableName)返回在之前动作所产⽣的JavaScript问题提⽰消息。要成功挂起问题提⽰需要先运⾏answerOnNextPrompt命令。如果产⽣了⼀个问题提⽰,⽽你并不去得到/验证它,那么下⼀个Selenium动作将失败。注意:在Selenium中,JavaScript确认将不会弹出⼀个可见的对话框。注意:Selenium不⽀持在页⾯的onload()事件句柄中所产⽣的JavaScript问题提⽰。在这种情况下,将会⽣成⼀个可见的对话框,Selenium将被悬停直到⼿动点击OK。Returns: 最近JavaScript的问题提⽰消息同断⾔相关联,⾃动⽣成: ·assertPrompt (pattern) ·assertNotPrompt (pattern) ·verifyPrompt (pattern) ·verifyNotPrompt (pattern) ·waitForPrompt (pattern) ·waitForNotPrompt (pattern)storeSelectedId(selectLocator,variableName)获取从指定选择元素中选择的选项元素ID。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 从指定选择元素中选择的选项元素ID同断⾔相关联,⾃动⽣成: ·assertSelectedId (selectLocator,pattern) ·assertNotSelectedId (selectLocator,pattern) ·verifySelectedId (selectLocator,pattern) ·verifyNotSelectedId (selectLocator,pattern) ·waitForSelectedId (selectLocator,pattern) ·waitForNotSelectedId (selectLocator,pattern)storeSelectedIds(selectLocator,variableName)从指定选择或多选元素中获取选择的选项元素ID集。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 从指定选择或多选元素中选择的选项元素ID集合数组同断⾔相关联,⾃动⽣成: ·assertSelectedIds (selectLocator,pattern) ·assertNotSelectedIds (selectLocator,pattern) ·verifySelectedIds (selectLocator,pattern) ·verifyNotSelectedIds (selectLocator,pattern) ·waitForSelectedIds (selectLocator,pattern) ·waitForNotSelectedIds (selectLocator,pattern)storeSelectedIndex(selectLocator,variableName)从指定的选择元素中获取被选项索引(从0开始)。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 从指定选择元素中选择的选项元素索引同断⾔相关联,⾃动⽣成: ·assertSelectedIndex (selectLocator,pattern) ·assertNotSelectedIndex (selectLocator,pattern) ·verifySelectedIndex (selectLocator,pattern) ·verifyNotSelectedIndex (selectLocator,pattern) ·waitForSelectedIndex (selectLocator,pattern) ·waitForNotSelectedIndex (selectLocator,pattern)storeSelectedIndexs(selectLocator,variableName)从指定的选择或多选元素中获取被选项索引(从0开始)集。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 从指定选择或多选元素中选择的选项元素索引集合数组同断⾔相关联,⾃动⽣成: ·assertSelectedIndexs (selectLocator,pattern) ·assertNotSelectedIndexs (selectLocator,pattern) ·verifySelectedIndexs (selectLocator,pattern) ·verifyNotSelectedIndexs (selectLocator,pattern) ·waitForSelectedIndexs (selectLocator,pattern) ·waitForNotSelectedIndexs (selectLocator,pattern)storeSelectedLabel(selectLocator,variableName)从指定的选择元素中获取所选择的选项标签(可见⽂本)。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns:所选择的选项标签同断⾔相关联,⾃动⽣成: ·assertSelectedLabel (selectLocator,pattern) ·assertNotSelectedLabel (selectLocator,pattern) ·verifySelectedLabel (selectLocator,pattern) ·verifyNotSelectedLabel (selectLocator,pattern) ·waitForSelectedLabel (selectLocator,pattern) ·waitForNotSelectedLabel (selectLocator,pattern)storeSelectedLabels(selectLocator,variableName)从指定的选择或多选元素中获取所选择的选项标签(可见⽂本)。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns:所选择的选项标签同断⾔相关联,⾃动⽣成: ·assertSelectedLabel (selectLocator,pattern) ·assertNotSelectedLabel (selectLocator,pattern) ·verifySelectedLabel (selectLocator,pattern) ·verifyNotSelectedLabel (selectLocator,pattern) ·waitForSelectedLabel (selectLocator,pattern) ·waitForNotSelectedLabel (selectLocator,pattern)storeSelectedValue(selectLocator,variableName)从指定的选择元素中获取所选择的选项值(值属性)。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns:所选择的选项值同断⾔相关联,⾃动⽣成: ·assertSelectedValue (selectLocator,pattern) ·assertNotSelectedValue (selectLocator,pattern) ·verifySelectedValue (selectLocator,pattern) ·verifyNotSelectedValue (selectLocator,pattern) ·waitForSelectedValue (selectLocator,pattern) ·waitForNotSelectedValue (selectLocator,pattern)storeSelectedValues(selectLocator,variableName)从指定的选择或多选元素中获取所有所选择的选项值(值属性)。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns:所有所选择的选项值数组同断⾔相关联,⾃动⽣成: ·assertSelectedValues (selectLocator,pattern) ·assertNotSelectedValues (selectLocator,pattern) ·verifySelectedValues (selectLocator,pattern) ·verifyNotSelectedValues (selectLocator,pattern) ·waitForSelectedValues (selectLocator,pattern) ·waitForNotSelectedValues (selectLocator,pattern)storeSelectOptions(selectLocator,variableName)获取指定选择下拉框的选项标签。参数: ·selectLocator - ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns:指定选择下拉框的选项标签数组同断⾔相关联,⾃动⽣成: ·assertSelectedOptions (selectLocator,pattern) ·assertNotSelectedOptions (selectLocator,pattern) ·verifySelectedOptions (selectLocator,pattern) ·verifyNotSelectedOptions (selectLocator,pattern) ·waitForSelectedOptions (selectLocator,pattern) ·waitForNotSelectedOptions (selectLocator,pattern)storeTable(tableCellAddress,variableName)从某个表的单元格中获取⽂本。单元格地址语法如,这⾥的row和column从0开始。参数: ·tableCellAddress – ⼀个单元格地址,如”foo.1.4” ·variableName -⽤于存储结果的变量名。Returns: 从指定单元格取出的⽂本同断⾔相关联,⾃动⽣成: ·assertTable (tableCellAddress,pattern) ·assertNotTable (tableCellAddress,pattern) ·verifyTable (tableCellAddress,pattern) ·verifyNotTable (tableCellAddress,pattern) ·waitForTable (tableCellAddress,pattern) ·waitForNotTable (tableCellAddress,pattern)storeText(locator,variableName)获取元素的⽂本。这对任何包含⽂本的元素都有效。该命令即可以⽤于如⽕狐浏览器的textContent,也可以⽤于如IE浏览器的innerText——显⽰给⽤户的。参数: ·locator - ⼀个元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 元素的⽂本同断⾔相关联,⾃动⽣成: ·assertText (locator,pattern) ·assertNotText (locator,pattern) ·verifyText (locator,pattern) ·verifyNotText (locator,pattern) ·waitForText (locator,pattern) ·waitForNotText (locator,pattern)storeTitle(variableName)获取当前页⾯的标题。Returns: 当前页⾯的标题。同断⾔相关联,⾃动⽣成: ·assertTitle (pattern) ·assertNotTitle (pattern) ·verifyTitle (pattern) ·verifyNotTitle (pattern) ·waitForTitle (pattern) ·waitForNotTitle (pattern)storeValue(locator,variableName)获得⼀个输⼊域(或任何包含value参数的元素)的值(已去除空格)。对于checkbox/radio元素,其值为”on”还是”off”依赖于该元素是否被选中。参数: ·locator - ⼀个元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 元素值,对于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,variableName)确定当前框架是否包含该运⾏代码。这对于代理注⼊代码模式⾮常有⽤,这些代码在每个浏览器框架和窗体中运⾏,有时selenium server需要识别当前是哪个框架。这种情况下,当测试调⽤selectFrame,该程序将被每个框架调⽤以指出哪个框架被选择。被选择的框架将返回true,⽽其他将返回false。参数: ·currenFrameString – 开始框架 ·target – 新框架(也许与当前框架相关联) ·variableName -⽤于存储结果的变量名。Returns: 如果新框架为该代码的窗体,返回true同断⾔相关联,⾃动⽣成: ·assertWhetherThisFrameMatchFrameExpression (currenFrameString, target) ·assertNotWhetherThisFrameMatchFrameExpression (currenFrameString, target) ·verifyWhetherThisFrameMatchFrameExpression (currenFrameString, target) ·verifyNotWhetherThisFrameMatchFrameExpression (currenFrameString, target) ·waitForWhetherThisFrameMatchFrameExpression (currenFrameString, target) ·waitForNotWhetherThisFrameMatchFrameExpression (currenFrameString, target)storeWhetherThisWindowMatchWindowExpression(currenWindowString,target,variableName)确定当前窗体是否包含该运⾏代码。这对于代理注⼊代码模式⾮常有⽤,这些代码在每个浏览器框架和窗体中运⾏,有时selenium server需要识别当前是哪个窗体。这种情况下,当测试调⽤selectWindow,该程序将被每个窗体调⽤以指出哪个窗体被选择。被选择的窗体将返回true,⽽其他将返回false。参数: ·currenFrameString – 开始窗体 ·target – 新窗体(也许与当前窗体相关联,如,”_parent”) ·variableName - ⽤于存储结果的变量名。Returns: 如果新窗体为该代码的窗体,返回true同断⾔相关联,⾃动⽣成: ·assertWhetherThisWindowMatchWindowExpression (currenWindowString, target) ·assertNotWhetherThisWindowMatchWindowExpression (currenWindowString, target) ·verifyWhetherThisWindowMatchWindowExpression (currenWindowString, target) ·verifyNotWhetherThisWindowMatchWindowExpression (currenWindowString, target) ·waitForWhetherThisWindowMatchWindowExpression (currenWindowString, target) ·waitForNotWhetherThisWindowMatchWindowExpression (currenWindowString, target)storeXpathCount(xpath,variableName)返回匹配指定xpath的节点数,如”//table”将给出表的个数。参数:·xpath – 要计算的xpath表达式。不要⽤’count()’函数将该表达式包含起来,我们将⾃动帮你作这件事。 ·variableName - ⽤于存储结果的变量名。Returns: 匹配指定xpath的节点数同断⾔相关联,⾃动⽣成: ·assertXpathCount (xpath, pattern) ·assertNotXpathCount (xpath, pattern) ·verifyXpathCount (xpath, pattern) ·verifyNotXpathCount (xpath, pattern) ·waitForXpathCount (xpath, pattern) ·waitForNotXpathCount (xpath, pattern)storeAlertPresent(variableName)发⽣警告了?该函数永远不会抛出异常Returns: 如果有警告返回true同断⾔相关联,⾃动⽣成: ·assertAlertPresent () ·assertNotAlertPresent () ·verifyAlertPresent () ·verifyNotAlertPresent () ·waitForAlertPresent () ·waitForNotAlertPresent ()storeChecked(locator,variableName)获取⼀个关联性按钮(checkbox/radio)是否被勾选。如果指定元素不存在或不是⼀个关联性按钮,将失败。参数: ·locator– ⼀个执⾏checkbox或radio按钮的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 如果该checkbox被勾选,返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertChecked (locator) ·assertNotChecked (locator) ·verifyChecked (locator) ·verifyNotChecked (locator) ·waitForChecked (locator) ·waitForNotChecked (locator)storeConfirmationPresent(variableName)confirm()被调⽤了?该函数永远不会抛出异常Returns: 如果有⼀个未决的确认返回true同断⾔相关联,⾃动⽣成: ·assertConfirmationPresent () ·assertNotConfirmationPresent () ·verifyConfirmationPresent () ·verifyNotConfirmationPresent () ·waitForConfirmationPresent () ·waitForNotConfirmationPresent ()storeEditable(locator,variableName)判定指定的输⼊元素是否为可编辑,且ie没有被禁⽤。如果指定元素不为⼀个可输⼊元素,该函数将失败。参数: ·locator – ⼀个元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 如果输⼊元素可编辑返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertEditable (locator) ·assertNotEditable (locator) ·verifyEditable (locator) ·verifyNotEditable (locator) ·waitForEditable (locator) ·waitForNotEditable (locator)storeElementPresent(locator,variableName)验证指定元素在页⾯上。参数: ·locator – ⼀个元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 如果该元素出现返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertElementPresent (locator) ·assertNotElementPresent (locator) ·verifyElementPresent (locator) ·verifyNotElementPresent (locator) ·waitForElementPresent (locator) ·waitForNotElementPresent (locator)storeOrdered(locator1,locator2,variableName)检查这两个元素是否有相同的⽗级,且在DOM中为顺序亲属。两个相同元素将不考虑顺序。参数: ·locator1 – 指向第⼀个元素的元素定位器 ·locator2 – 指向第⼆个元素的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 如果元素1是元素2的兄长,返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertOrdered (locator1,locator2) ·assertNotOrdered (locator1,locator2) ·verifyOrdered (locator1,locator2) ·verifyNotOrdered (locator1,locator2) ·waitForOrdered (locator1,locator2) ·waitForNotOrdered (locator1,locator2)storePromptPresent(variableName)发⽣提⽰了?该函数永远不会抛出异常Returns: 如果有⼀个未决的提⽰返回true同断⾔相关联,⾃动⽣成: ·assertPromptPresent () ·assertNotPromptPresent () ·verifyPromptPresent () ·verifyNotPromptPresent () ·waitForPromptPresent () ·waitForNotPromptPresent ()storeSomethingSelected(selectLocator,variableName)判定⼀个下拉菜单是否选择了某个选项。参数: ·selectLocator – ⼀个⽤于识别下拉菜单的元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 如果选择某选项返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertSomethingSelected (selectLocator) ·assertNotSomethingSelected (selectLocator) ·verifySomethingSelected (selectLocator) ·verifyNotSomethingSelected (selectLocator) ·waitForSomethingSelected (selectLocator) ·waitForNotSomethingSelected (selectLocator)storeTextPresent(pattern,variableName)验证指定⽂本出现在提交给⽤户的页⾯上。参数: ·pattern – ⽤于匹配页⾯⽂本的范式 ·variableName - ⽤于存储结果的变量名。Returns: 如果该范式匹配⽂本返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertTextPresent (pattern) ·assertNotTextPresent (pattern) ·verifyTextPresent (pattern) ·verifyNotTextPresent (pattern) ·waitForTextPresent (pattern) ·waitForNotTextPresent (pattern)storeVisible(locator,variableName)判定指定元素是否可见。⼀个元素可以通过将其本⾝或其⽗级的CSS”visibility”属性设定为”hidden”,或将”dispaly”属性设定为”none”,以使其不可见。如果该元素不存在,此⽅法将失败。参数: ·locator – ⼀个元素定位器 ·variableName - ⽤于存储结果的变量名。Returns: 如果指定元素为可见返回true,否则返回false同断⾔相关联,⾃动⽣成: ·assertVisible (locator) ·assertNotVisible (locator) ·verifyVisible (locator) ·verifyNotVisible (locator) ·waitForVisible (locator) ·waitForNotVisible (locator)参数解释和变量