selenium API 手册.docx
- 文档编号:3195135
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:66
- 大小:39.08KB
selenium API 手册.docx
《selenium API 手册.docx》由会员分享,可在线阅读,更多相关《selenium API 手册.docx(66页珍藏版)》请在冰豆网上搜索。
seleniumAPI手册
概念
Selenium通过命令进行驱动。
Selenium可归纳为三种“风格”:
动作、辅助和断
言。
每一个命令调用就是下表中的一行。
命令 目标 值
(Actions)
(Actions)
((AAccttiioonnss)) ” ””
动作 命令一般用于操作应用程序的状态。
它们通过如点击链接和选
择选项”的方式进行工作。
如果一个动作执行失败,或是有错误,当前的测试将
会停止执行。
” ” ,” ”
许多动作可以被包含后缀并等待的方式进行调用,例如点击并等待。
这个后
缀告知Selenium,该命令将使浏览器向服务器产生一个请求,并使得Selenium
等待加载一个新的页面。
(Accessors)
(Accessors)
辅助((AAcccceessssoorrss))用于检查应用程序的状态并将结果存储在变量中。
例
如”storeTitle”。
它们同样可用于自动生成断言。
(Assertions)
(Assertions)
断言((AAsssseerrttiioonnss))类似于辅助,但它们可以验证应用程序的状态是否同所期望的
” X”” ”
相一致。
例如包括确认页面标题为和验证该复选框是否被勾选。
所有的Selenium断言可以被用于三种模式:
”assert”,“verify”,和”waitfor”。
例如,
”assertText””verifyText” ”waitforText” ”assert”
你可以 , ,及 。
当 失败时,该测试将
终止。
当”verify”失败时,该测试将继续执行,并将错误记入日志。
这就允许了
通过单条”assert”确保应用程序在正确的页面上,而通过一系列的”verify”断言测
试表单上的区域值,标签等。
“waitfor”命令用于等待某些条件变为真可用于( Ajax应用程序的测试。
如果该条)
件已经为真,他们将立即成功执行。
反之,如果该条件不为真,则将失败并暂停
测试,直到超过当前所设定的超时时间(参照后面的setTimeout动作)。
(ElementLocators)
(ElementLocators)
元素定位器((EElleemmeennttLLooccaattoorrss))告诉Selenium是向HTML中的哪一个元素发送命
令。
许多命令需要一个如”target”属性的元素定位器。
这其中包括”elementId”
和”document.forms[0].element”。
在接下来的部分将更详细的描述它们。
-----------------------Page2-----------------------
(Patterns)
(Patterns)
式样((PPaatttteerrnnss))由于多种因素被使用着,如指定一个输入域的期望值,或识别一
个选择选项。
Selenium支持许多类型的式样,其中包括正则表达式,所有这些将
在接下来的章节中进行更详细的描述。
定义一个类用于运行Selenium命令。
(ElementLocators)
(ElementLocators)
元素定位器((EElleemmeennttLLooccaattoorrss))
元素定位器(ElementLocators)告诉Selenium是向HTML中的哪一个元素发送命
令。
一个定位器的格式如下:
locatorType=argument
我们支持如下写法用于定位元素:
·identifier=id:
根据指定的@id属性选择元素。
如果没有匹配的值,则选择
第一个@name属性为id的元素。
(参照后面)
·id=id:
根据指定的@id属性选择元素。
·name=name:
选择第一个根据指定的@name所查找到的元素。
〇username
〇name=username
这里的name可以作为可选项跟在一个或多个元素过滤器的后面,通过空格进行
分隔。
如果没有指定过滤类型,则假定为value。
〇name=flavourvalue=chocolate
·dom=javascriptExpression:
通过检测指定字符串查找元素。
这使得你可以通
过JavaScript贯穿HTML文档对象。
注意在这个字符串中返回值不是必须的;
仅仅只需要确保这条语句是你块中的最后一条。
〇dom=document.forms[?
myForm?
].myDropdown
〇dom=document.images[56]
〇dom=functionfoo(){returndocument.links[1];};foo();
·xpath=xpathExpression:
通过XPath表达式定位元素。
〇xpath=//img[@alt=?
Theimagealttext?
]
〇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=name2and@value=yes]
〇xpath=//*[text()=″right″]
·link=textPattern:
选择所包含的文字匹配指定式样的链接(锚)。
〇link=Thelinktext
·css=cssSelectorSyntax:
通过css选择器选择元素。
请查询CSS2选择器,
CSS3选择器以获得更多信息。
在下载下来的seleniumcorepackage中的
seleniumtestsuite里的TestCssLocatorstest,你同样可以查看到使用例
子。
〇css=a[href=″#id3″]
-----------------------Page3-----------------------
〇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,其他
元素过滤器(ElementFilters)
元素过滤器可以同选择器一起使用,从一堆候选元素中进行筛选。
它们当前仅使
用于’name’元素选择器。
过滤器看起来更像是选择器,也就是:
filterType=argument
所支持的元素过滤器为:
value
value
vvaalluuee=valuePattern
匹配元素时基于它们的值进行匹配。
这在对一堆相似命名的关联按钮的筛
选中显得尤其有用。
index
index
iinnddeexx=index
( 0 )
选择单个元素基于其在列表中的位置从开始。
字符串匹配式样
有各种各样的式样语法可用于匹配字符串值:
·glob:
pattern:
用″glob″去匹配一个字符串。
″Glob″是一种用于命令行shells
glob ,″*″
的代表性的有限正则表达式语法。
在一个 式样中 代表任意序列字符集,
而″?
″则代表任意单个字符。
Glob式样匹配整个字符串。
·regexp:
regexp:
使用正则表达式匹配字符串。
可使用所有的JavaScript正则
表达式。
如果没有指定式样前缀,Selenium假定其为″glob″式样。
SeleniumActions
addLocationStrategy(strategyName,functionDefinition)
addLocationStrategy(strategyName,functionDefinition)
aaddddLLooccaattiioonnSSttrraatteeggyy((ssttrraatteeggyyNNaammee,,ffuunnccttiioonnDDeeffiinniittiioonn))
为selenium定义一个新的函数用于定位页面上的元素。
例如,如果你定义了
一个方法″foo″,并运行了click(″foo=blah″),我们将运行你的函数,传递给你字
-----------------------Page4-----------------------
符串″blah″,并点击该函数所返回的元素,如果返回为null,则抛出一个″Element
notfound″的错误。
我们将给该函数传递三个参数。
·locator:
用户传递过来的字符串
·inWindow:
当前所选中的窗体
·inDocument:
当前所选中的文档
如果未找到相应的元素,则函数必须返回一个null。
参数:
·strategyName–定义的方法名;只能使用字母[a-zA-Z],不能包含空格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- selenium API 手册