Selenium中文 API 参考手册.docx

上传人:b****6 文档编号:6960512 上传时间:2023-01-13 格式:DOCX 页数:66 大小:37.76KB
下载 相关 举报
Selenium中文 API 参考手册.docx_第1页
第1页 / 共66页
Selenium中文 API 参考手册.docx_第2页
第2页 / 共66页
Selenium中文 API 参考手册.docx_第3页
第3页 / 共66页
Selenium中文 API 参考手册.docx_第4页
第4页 / 共66页
Selenium中文 API 参考手册.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

Selenium中文 API 参考手册.docx

《Selenium中文 API 参考手册.docx》由会员分享,可在线阅读,更多相关《Selenium中文 API 参考手册.docx(66页珍藏版)》请在冰豆网上搜索。

Selenium中文 API 参考手册.docx

Selenium中文API参考手册

Selenium中文API参考手册

自行添加内容

最近研究了下Selenium,苦于网上中文资料太少,便自己翻译了下Selenium官网上的 

 

API,便于大家一起沟通和学习。

 

 

由于本人英文水平有限,部分字词句的拿捏可能不太到位,希望各位朋友给出宝贵意见哈 

 

概念 

 

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],不能包含空格 

    或其他标点符号。

 

  ·functionDefinition–在JavaScript函数中的一个定义body的字符串。

 

    如:

returninDocument.getElementById(locator); 

 

addSelection(locator,optioLocator) 

  为通过使用选择定位器,在一个可多选元素中所选择的集合添加一个 

  selection。

@查看#doSelect关于选择定位器的细节。

 

 

  参数:

 

   ·locator–用于指定一个多选框的元素定位器 

   ·optionLocator–一个选择定位器(默认为标签) 

 

allowNativeXpath(allow) 

指定Selenium是否使用XPath的本地浏览执行(如果有可用的本地版本);如果传 

递的值为″false″,我们将使用pure-JavaScriptxpath库。

使用pure-JSxpath库可以 

提高xpath元素定位器在不同浏览器中的一致性,但其执行速度将大大低于本地 

执行。

 

  参数:

 

  ·allow–Boolean,true意味着我们更愿意使用本地XPath;false则意味 

   着我们将只使用JSXPath 

 

altKeyDown() 

  按下alt键并保持其按下状态,直到doAltUp()被调用或一个新的页面被加载。

 

 

altKeyUp() 

  释放alt键 

 

answerOnNextPrompt(answer) 

  通知Selenium返回下一次JavaScriptprompt[window.prompt()]所指定的回 

  答字符串。

 

  参数:

 

   ·answer–对弹出的提示所给与的回答 

 

assignId(locator,identifier) 

              ″id″              ID 

  临时为指定元素设定一个 属性,使你可以在将来使用其,以代替缓慢且 

      XPath   ID 

  更复杂的     。

该 将在页面重载后消失。

 

 

-----------------------Page5-----------------------

 

  参数:

 

   ·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() 

                      ″  ″ 

  模拟用户点击弹出窗体或表单标题栏上的关闭按钮。

 

 

-----------------------Page6-----------------------

 

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” 

    和     。

       的格式为              。

选项的顺 

    序无关紧要。

 

 

deleteCookie(name,path) 

deleteCookie(name,path) 

ddeelleetteeCCooookkiiee((nnaammee,,ppaatthh)) 

 删除指定路径下的该名称cookie。

 

 参数:

 

   ·name–被删除cookie的名称 

   ·path–被删除cookie的路径属性 

 

doubleClick(locator) 

doubleClick(locator) 

ddoouubblleeCClliicckk((llooccaattoorr)) 

  双击一个链接、按钮、多选框或单选框。

如果该双击事件导致了新的页面加载 

  (如同链接通常所作的),将调用waitForPageToLoad。

 

  参数:

 

   ·locator-一个元素定位器 

 

doubleClickAt(locator,coordString) 

doubleClickAt(locator,coordString) 

ddoouubblleeCClliicckkAAtt((llooccaattoorr,,ccoooorrddSSttrriinngg)) 

  双击一个链接、按钮、多选框或单选框。

如果该双击事件导致了新的页面加载 

  (如同链接通常所作的),将调用waitForPageToLoad。

 

  参数:

 

   ·locator-一个元素定位器 

   ·coordString–指定由定位器返回的鼠标事件相关联的元素x,y坐标(也 

    就是–10,20) 

 

dragAndDrop(locator,movementsString) 

dragAndDrop(locator,movementsString) 

ddrraaggAAnnddDDrroopp((llooccaattoorr,,mmoovveemmeennttssSSttrriinngg)) 

  拖动元素一定的距离并放下 

  参数:

 

   ·locator-一个元素定位器 

   ·movementsString–从当前位置到指定位置的像素偏移量,如,”+70,-300” 

 

-----------------------Page7-----------------------

 

dragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinatio 

dragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinatio 

ddrraaggAAnnddDDrrooppTTooOObbjjeecctt((llooccaattoorrOOffOObbjjeeccttTTooBBeeDDrraaggggeedd,,llooccaattoorrOOffDDrraaggDDeessttiinnaattiioo 

nObject) 

nObject) 

nnOObbjjeecctt)) 

  拖动元素到另一元素 

  参数:

 

   ·locatorOfObjectToBeDragged–被拖动的元素 

   ·locatorOfDragDestinationObject–被拖动的元素将拖向的元素的坐标(如, 

    其最中心像素) 

 

Dragdrop(locator,movementsString) 

Dragdrop(locator,movementsString) 

DDrraaggddrroopp((llooccaattoorr,,mmoovveemmeennttssSSttrriinngg)) 

  不建议–用dragAndDrop代替 

  参数:

 

   ·locator-一个元素定位器 

   ·movementsString–从当前位置到指定位置的像素偏移量,如,”+70,-300” 

 

Echo(message) 

Echo(message) 

EEcchhoo((mmeessssaaggee)) 

  打印指定消息到你的Selenese表的第三个表单元。

有利于调试。

 

  参数:

 

   ·message–要打印的消息 

 

fireEvent(locator,eventName) 

fireEvent(locator,eventName) 

ffiirreeEEvveenntt((llooccaattoorr,,eevveennttNNaammee)) 

  明确地模拟一个事件,触发”onevent”响应句柄。

 

  参数:

 

   ·locato

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1