没有合适的资源?快使用搜索试试~ 我知道了~
Selenium 中文API.doc
5星 · 超过95%的资源 需积分: 9 371 下载量 192 浏览量
2011-11-18
17:41:50
上传
评论 13
收藏 165KB DOC 举报
温馨提示
试读
62页
Selenium 中文API,这个肯定是居家旅行必备的,难得的是还是中文的
资源推荐
资源详情
资源评论
Selenium 中文 API
最近研究了下 Selenium,苦于网上中文资料太少,便自己翻译了下 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=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
所支持的元素过滤器为:
value=valuePattern
匹配元素时基于它们的值进行匹配。这在对一堆相似命名的关联按钮的筛选中显得尤
其有用。
index=index
选择单个元素基于其在列表中的位置(从 0 开始)。
字符串匹配 式样
有各种各样的式样语法可用于匹配字符串值:
·glob:pattern: 用″glob″去匹配一个字符串。″Glob″是一种用于命令行 shells 的代表性的有限
正则表达式语法。在一个 glob 式样中, ″*″代表任意序列字符集,而″?″则代表任意单个字符。
Glob 式样匹配整个字符串。
·regexp:regexp: 使用正则表达式匹配字符串。可使用所有的 JavaScript 正则表达式。
如果没有指定式样前缀,Selenium 假定其为″glob″式样。
Selenium Actions
addLocationStrategy (strategyName, functionDefinition)
为 selenium 定义一个新的函数用于定位页面上的元素。例如,如果你定义了一个方法″foo
″,并运行了 click(″foo=blah″),我们将运行你的函数,传递给你字符串″blah″,并点击该函数
所返回的元素,如果返回为 null,则抛出一个″Element not found″的错误。我们将给该函数
传递三个参数。
·locator: 用户传递过来的字符串
·inWindow: 当前所选中的窗体
·inDocument: 当前所选中的文档
如果未找到相应的元素,则函数必须返回一个 null。
参数:
·strategyName – 定义的方法名;只能使用字母[a-zA-Z],不能包含空格或其他标点符号。
剩余61页未读,继续阅读
Testingba
- 粉丝: 125
- 资源: 53
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页