Selenium中文 API 参考手册
自行添加内容
selenium获取cookie
最近研究了下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”。在接下来的部分将更详细的描述它们。 
 
----------------------- Page 2-----------------------
 
    (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=name2 and@value=yes] 
    xpath=//*[text()=″right″] 
·link=textPattern:选择所包含的文字匹配指定式样的链接() 
    link=Thelinktext 
·css=cssSelectorSyntax:通过css选择器选择元素。请查询CSS2选择器, 
CSS3选择器以获得更多信息。在下载下来的seleniumcorepackage中的 
seleniumtestsuite里的TestCssLocatorstest,你同样可以查看到使用例 
子。 
    css=a[href=″#id3″] 
 
----------------------- Page 3-----------------------
 
  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正则 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。