没有合适的资源?快使用搜索试试~ 我知道了~
Selenium_中文API.pdf
4星 · 超过85%的资源 需积分: 10 26 下载量 177 浏览量
2012-07-29
17:23:55
上传
评论
收藏 296KB PDF 举报
温馨提示
试读
34页
所有的Selenium 断言可以被用于三种模式:”assert”, “verify”,和”waitfor”。例如, 你可以”assertText”,”verifyText”,及”waitforText”。当”assert”失败时,该测试将 终止。当”verify”失败时,该测试将继续执行,并将错误记入日志。这就允许了 通过单条”assert”确保应用程序在正确的页面上,而通过一系列的”verify”断言测 试表单上的区域值,标签等。
资源推荐
资源详情
资源评论
Selenium
Selenium
Selenium
Selenium 中文 API
API
API
API
最近研究了下 Selenium ,苦于网上中文资料太少,便自己翻译了下 Selenium 官网上 的
API ,便于大家一起沟通和学习。
由于本人英文水平有限,部分字词句的拿捏可能不太到位,希望各位朋友给出宝贵意见哈
概念
Selenium 通过命令进行驱动 。 Selenium 可归纳为三种 “ 风格 ” : 动作 、 辅助 和 断
言 。每一个命令调用就是下表中的一行。
命令 目标 值
动作
(Actions)
(Actions)
(Actions)
(Actions)
命令一般用于操作应用程序的状态。它们通过如
”
点击链接
”
和
”
选
择选项 ” 的方式进行工作。如果一个动作执行失败,或是有错误,当前的测试将
会停止执行。
许多动作可以被包含后缀
”
并等待
”
的方式进行调用 , 例如
, ”
点击并等待
”
。 这个后
缀告知 Selenium ,该命令将使浏览器向服务器产生一个请求,并使得 Seleniu m
等待加载一个新的页面。
辅助
(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)
告 诉
Seleniu m
是 向
HTM L
中的哪一个元素发送命
令。许多命令需要一个如 ” 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
所支持的元素过滤器为:
value
value
value
value =
valuePattern
匹配元素时基于它们的值进行匹配。这在对一堆相似命名的关联按钮的筛
选中显得尤其有用。
index
index
index
index =
index
选择单个元素基于其在列表中的位置
(
从
0
开始
)
。
字符串匹配 式样
有各种各样的式样语法可用于匹配字符串值:
· glob :
pattern
: 用
″ glob ″
去匹配一个字符串。
″ Glob ″
是一种用于命令行
shell s
的代表性的有限正则表达式语法 。 在一个
glob
式样中
, ″ * ″
代表任意序列字符集
,
而 ″ ? ″ 则代表任意单个字符。 Glob 式样匹配整个字符串。
· regexp :
regexp
: 使用正则表达式匹配字符串 。 可使用所有的 JavaScript 正则
表达式。
如果没有指定式样前缀, Selenium 假定其为 ″ glob ″ 式样。
Selenium Actions
addLocationStrategy
addLocationStrategy
addLocationStrategy
addLocationStrategy (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)
指 定 Seleniu m 是否使 用 XPat h 的 本地浏览执行 ( 如果有可用的本地版本 ); 如果传
递的值为
″ 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()
模拟用户点击弹出窗体或表单标题栏上的
″
关闭
″
按钮。
剩余33页未读,继续阅读
资源评论
- 华天豪2014-07-15这个貌似有点难度,不适合新手,反正我是没怎么看懂
- 煎鸡蛋汤2014-08-25扫了一眼,感觉还不错。工作中会用到。感谢楼主分享
- cdswh2013-07-09现了microsoft office和 java的交互
wujinshan_28
- 粉丝: 7
- 资源: 89
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功