Selenium UI-Element Reference

Selenium UI-Element Reference


基于selenium2.9.1

在使用selenium IDE的时候我一直是有一个疑问的:测试代码怎么复用?UI-Element在一定程度上解决了这个问题。

UI-Element 应属PageObject设计模式的具体实现的一种,它将待测页面的对象和测试用例(测试逻辑)进行分离,可减少UI自动化测试过程中频繁修改测试代码的问题。

它有如下几个特点:
1. 除去测试代码的冗余,增加代码重用性,减少写测试代码的时间;
1. JSON入门,JS代码编写,方便非开发者写测试用例(JS代码简单易学资料足);
2. IDE和core/TestRunner、RC、Grid都可以使用这些定义好的文件(我使用的开发模式是:python/java+selenium webdriver),不做白功夫而且能起到很好的过渡作用;
3. 用rollup来打包Selenium命令集合,将执行细节从测试步骤中剥离出来,使测试者更注重用例的逻辑;
4. 提供简单的动态改变locator和rollup的行为的方式,提高代码重用性。

原文档获取方式

  1. firefox selenium ide如图点击即可获取
    这里写图片描述
  2. 安装了selenium IDE插件的前提下,firefox浏览器中打开此链接:chrome://selenium-ide/content/selenium-core/scripts/ui-doc.html
  3. selenium官网

UI-Element Reference

整个UI-Element参考文档就说明了一件事情:如何去写map.js文件。

此文件名字可以自定义,文中UI-Map文件、ui-map.js、map.js、map均指此文件

map.js文件可以为Selenium完成两件事:1)定义Selenium可以识别的被测网页及元素;2)语句打包(rollup)。

Selenium的PageObject设计的概念体现在两个部分:UI-Element和UI-Map两部分。Element主要作用是处理JSON语句,简化UI-Map文件的编写;UI-Map文件中定义一系列的JSON对象,来对应被测网页和网页元素。现目前Selenium IDE是自带ui-element.js文件,用户只需要定义ui-map.js的部分即可。

如何在firefox中调试自定义JS代码请查看:http://blog.csdn.net/wangxinyao318/article/details/53925275

术语

  • Page :[中]页面,用一个独有的URL来表示,通过URL就可以访问到对应的页面。上面有页面元素。也指DOM document对象。
  • Page element:[中]页面元素,在真实网页上的元素,任何用户有可能进行交互行为的元素。这里也指DOM对象。
  • Pageset:[中]页面集合,有共同元素的页面集合。一个页面可以属于多个页面集合,一个UI元素可以属于多个页面集合。可用正则表达式来表达集合概念。可为集合本身单独命名。
  • UI element:[中]UI元素,页面元素所映射/map的对象。UI元素通过selenium意义上的locator来定位。UI元素属于页面集合。
  • UI 参数:属于UI element的一部分,一般在locator中使用,用来动态变更定位到的UI元素。举例:相似网页元素出现在同一个页面时,这时候你可以只定义一个UI element, 然后再通过UI 参数比如 index,那么现在就可以通过改变index的值来达到动态定位网页元素的目的。这时,UI element的代码就复用了~
  • UI map:[中]UI映射,页面元素对应UI元素的映射集合。UI元素在map.js文件中定义,ui-element.js文件将其映射为页面元素/DOM对象。
  • UI specifier string:指定UI元素的字符串,字符串包含页面集合名称、UI元素名称、UI参数的文本。举例:ui=xxxpage::xxxelement(xxxargs=???)
  • Rollup rule:它规定了将一个或者多个seleniumIDE命令组合成单个命令的规则。在命令执行时,将单个rollup命令按自定义规则将其扩展成多个IDE命令。
  • rollup参数:通过它改变rollup命令扩展方式。
  • Command matcher:[中]命令匹配器,它通过匹配expanded command来选择性地改变rollup参数,进而改变rollup所要展开的命令。一个rollup一般会有一个或多个命令匹配器。

为啥要用UI Element

用了这个之后命令就可以这样写:
这里写图片描述
简洁,复用,将定位信息包裹在元素中。用例只在乎操作和语义。

语法

示例文件:firefox

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值