元素过滤器(Element Filters)
Posted 七月的尾巴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了元素过滤器(Element Filters)相关的知识,希望对你有一定的参考价值。
元素过滤器可以同选择器一起使用, 从一堆候选元素中进行筛选。它们当前仅使
用于’name’元素选择器。
过滤器看起来更像是选择器,也就是:
filterType=argument
所支持的元素过滤器为:
value=valuePattern
匹配元素时基于它们的值进行匹配。这在对一堆相似命名的关联按钮的筛
选中显得尤其有用。
index=index
选择单个元素基于其在列表中的位置(从0开始)。
字符串匹配式样
有各种各样的式样语法可用于匹配字符串值:
·glob:pattern: 用″glob″去匹配一个字符串。 ″Glob″是一种用于命令行shells
的代表性的有限正则表达式语法。 在一个glob式样中,″*″代表任意序列字符集,
而
″?″则代表任意单个字符。 Glob式样匹配整个字符串。
· regexp:regexp: 使用正则表达式匹配字符串。可使用所有的javascript正则
表达式。
如果没有指定式样前缀, Selenium假定其为″glob″式样。
SeleniumActions
addLocationStrategy (strategyName,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”。选项的顺序无关紧要
以上是关于元素过滤器(Element Filters)的主要内容,如果未能解决你的问题,请参考以下文章