1、 ” ,” ”许多动作可以被包含后缀并等待的方式进行调用,例如 点击并等待。这个后缀告知Selenium,该命令将使浏览器向服务器产生一个请求,并使得Selenium等待加载一个新的页面。 (Accessors)辅助(AAcccceessssoorrss)用于检查应用程序的状态并将结果存储在变量中。例如”storeTitle”。它们同样可用于自动生成断言。 (Assertions)断言(AAsssseerrttiioonnss)类似于辅助,但它们可以验证应用程序的状态是否同所期望的X” ” ”相一致。例如包括确认页面标题为 和验证该复选框是否被勾选。所有的Selenium断言可以被用于三种模式
2、:”assert”,“verify”,和”waitfor”。例如, ”assertText” ”verifyText” ”waitforText” ”assert”你可以 , ,及 。当 失败时,该测试将终止。当”verify”失败时,该测试将继续执行,并将错误记入日志。这就允许了通过单条”assert”确保应用程序在正确的页面上,而通过一系列的”verify”断言测试表单上的区域值,标签等。“waitfor”命令用于等待某些条件变为真可用于( Ajax应用程序的测试。如果该条)件已经为真,他们将立即成功执行。反之,如果该条件不为真,则将失败并暂停测试,直到超过当前所设定的超时时间(参照后面的
3、setTimeout动作)。 (ElementLocators)元素定位器(EElleemmeennttLLooccaattoorrss)告诉Selenium是向HTML中的哪一个元素发送命令。许多命令需要一个如”target”属性的元素定位器。这其中包括”elementId”和”document.forms0.element”。在接下来的部分将更详细的描述它们。- Page 2- (Patterns)式样(PPaatttteerrnnss)由于多种因素被使用着,如指定一个输入域的期望值,或识别一个选择选项。Selenium支持许多类型的式样,其中包括正则表达式,所有这些将在接下来的章节中进行
4、更详细的描述。定义一个类用于运行Selenium命令。元素定位器(EElleemmeennttLLooccaattoorrss)元素定位器(ElementLocators)告诉Selenium是向HTML中的哪一个元素发送命一个定位器的格式如下:locatorType=argument我们支持如下写法用于定位元素:identifier=id:根据指定的id属性选择元素。如果没有匹配的值,则选择第一个name属性为id的元素。(参照后面)id=id:name=name:选择第一个根据指定的name所查找到的元素。 username name=username这里的name可以作为可选项跟在一个或
5、多个元素过滤器的后面,通过空格进行分隔。如果没有指定过滤类型,则假定为value。 name=flavourvalue=chocolatedom=javascriptExpression:通过检测指定字符串查找元素。这使得你可以通过JavaScript贯穿HTML文档对象。注意在这个字符串中返回值不是必须的;仅仅只需要确保这条语句是你块中的最后一条。 dom=document.forms?myForm?.myDropdown dom=document.images56 dom=functionfoo()returndocument.links1;foo();xpath=xpathExpress
6、ion:通过XPath表达式定位元素。 xpath=/imgalt=?Theimagealttext? xpath=/tableid=table1/tr4/td2? ? xpath=/acontains(href, #id1)? xpath=/acontains(href,?#id1?)/class xpath=(/tableclass=?stylee?)/thtext()=?theHeaderText?/./td? xpath=/inputname=name2 andvalue=yes xpath=/*text()=rightlink=textPattern:选择所包含的文字匹配指定式样的链
7、接(锚)。 link=Thelinktextcss=cssSelectorSyntax:通过css选择器选择元素。请查询CSS2选择器,CSS3选择器以获得更多信息。在下载下来的seleniumcorepackage中的seleniumtestsuite里的TestCssLocatorstest,你同样可以查看到使用例子。 css=ahref=#id3- Page 3- css=span#firstChid+span当前css选择过滤器支持所有的css1,css2,css3,除了css3中一些虚拟类(:nth-of-type,:nth-last-of-type,:first-of-type,:
8、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元素选择器。过滤器看起来更像是选择器,也就是:fil
9、terType=argument所支持的元素过滤器为:valuevvaalluuee=valuePattern 匹配元素时基于它们的值进行匹配。这在对一堆相似命名的关联按钮的筛 选中显得尤其有用。indexiinnddeexx=index ( 0 ) 选择单个元素基于其在列表中的位置从 开始。字符串匹配式样有各种各样的式样语法可用于匹配字符串值:glob:pattern:用glob去匹配一个字符串。Glob是一种用于命令行shells glob ,*的代表性的有限正则表达式语法。在一个 式样中 代表任意序列字符集,而?则代表任意单个字符。Glob式样匹配整个字符串。regexp:使用正则表达式
10、匹配字符串。可使用所有的JavaScript正则表达式。如果没有指定式样前缀,Selenium假定其为glob式样。SeleniumActionsaddLocationStrategy(strategyName,functionDefinition)aaddddLLooccaattiioonnSSttrraatteeggyy(ssttrraatteeggyyNNaammee,ffuunnccttiioonnDDeeffiinniittiioonn) 为selenium定义一个新的函数用于定位页面上的元素。例如,如果你定义了一个方法foo,并运行了click(foo=blah),我们将运行你的函数,传递给你字- Page 4-符串blah,并点击该函数所返回的元素,如果返回为null,则抛出一个Elementnotfound的错误。我们将给该函数传递三个参数。locator:用户传递过来的字符串inWindow:当前所选中的窗体inDocument:当前所选中的文档如果未找到相应的元素,则函数必须返回一个null。参数:strategyName定义的方法名;只能使用字母a-zA-Z,不能包含空格
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1