欢迎来到天天文库
浏览记录
ID:11008681
大小:110.50 KB
页数:61页
时间:2018-07-09
《selenium 中文api》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Selenium中文API最近研究了下Selenium,苦于网上中文资料太少,便自己翻译了下Selenium官网上的API,便于大家一起沟通和学习。 由于本人英文水平有限,部分字词句的拿捏可能不太到位,希望各位朋友给出宝贵意见哈 概念 Selenium通过命令进行驱动。Selenium可归纳为三种“风格”:动作、辅助和断言。每一个命令调用就是下表中的一行。 命令 目标 值 动作(Actions)命令一般用于操作应用程序的状态。它们通过如”点击链接”和”选择选项”的方式进行工作。如果一个动作执行失败,或是有错误,当前的测试将会停止执行。 许多动作可以被包含后缀”并等待”的方式进行调用,例如
2、,”点击并等待”。这个后缀告知Selenium,该命令将使浏览器向服务器产生一个请求,并使得Selenium等待加载一个新的页面。 辅助(Accessors)用于检查应用程序的状态并将结果存储在变量中。例如”storeTitle”。它们同样可用于自动生成断言。 断言(Assertions)类似于辅助,但它们可以验证应用程序的状态是否同所期望的相一致。例如包括”确认页面标题为X”和”验证该复选框是否被勾选”。 所有的Selenium断言可以被用于三种模式:”assert”,“verify”,和”waitfor”。例如,你可以”assertText”,”verifyText”,及”waitf
3、orText”。当”assert”失败时,该测试将终止。当”verify”失败时,该测试将继续执行,并将错误记入日志。这就允许了通过单条”assert”确保应用程序在正确的页面上,而通过一系列的”verify”断言测试表单上的区域值,标签等。 “waitfor”命令用于等待某些条件变为真(可用于Ajax应用程序的测试)。如果该条件已经为真,他们将立即成功执行。反之,如果该条件不为真,则将失败并暂停测试,直到超过当前所设定的超时时间(参照后面的setTimeout动作)。 元素定位器(ElementLocators)告诉Selenium是向HTML中的哪一个元素发送命令。许多命令需要一个如
4、”target”属性的元素定位器。这其中包括”elementId”和”document.forms[0].element”。在接下来的部分将更详细的描述它们。 式样(Patterns)由于多种因素被使用着,如指定一个输入域的期望值,或识别一个选择选项。Selenium支持许多类型的式样,其中包括正则表达式,所有这些将在接下来的章节中进行更详细的描述。 定义一个类用于运行Selenium命令。 元素定位器(ElementLocators) 元素定位器(ElementLocators)告诉Selenium是向HTML中的哪一个元素发送命令。一个定位器的格式如下: locatorT
5、ype=argument 我们支持如下写法用于定位元素: ·identifier=id:根据指定的@id属性选择元素。如果没有匹配的值,则选择第一个@name属性为id的元素。(参照后面) ·id=id:根据指定的@id属性选择元素。 ·name=name:选择第一个根据指定的@name所查找到的元素。 〇 username 〇 name=username 这里的name可以作为可选项跟在一个或多个元素过滤器的后面,通过空格进行分隔。如果没有指定过滤类型,则假定为value。 〇 name=flavourvalue=chocolate ·dom=javascriptEx
6、pression:通过检测指定字符串查找元素。这使得你可以通过JavaScript贯穿HTML文档对象。注意在这个字符串中返回值不是必须的;仅仅只需要确保这条语句是你块中的最后一条。 〇 dom=document.forms[´myForm´].myDropdown 〇 dom=document.images[56] 〇 dom=functionfoo(){returndocument.links[1];};foo(); ·xpath=xpathExpression:通过XPath表达式定位元素。 〇 xpath=//img[@alt=´Theimag
7、ealttext´] 〇 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 〇
此文档下载收益归作者所有