Chinaunix首页 | 论坛 | 博客
  • 博客访问: 408577
  • 博文数量: 119
  • 博客积分: 1470
  • 博客等级: 上尉
  • 技术积分: 1258
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-24 13:50
文章分类

全部博文(119)

文章存档

2018年(6)

2017年(11)

2016年(4)

2013年(8)

2012年(1)

2011年(2)

2010年(4)

2009年(37)

2008年(16)

2006年(30)

我的朋友

分类: 信息化

2018-01-30 17:23:27

说明:

   不要误认为Robot framework 只是个web UI测试工具,更正确的理解Robot framework是个测试框架,之所以可以拿来做web UI层的自动化是国为我们加入了selenium2的API。比如笔者所处工作中,更多的是拿Robot framework来做数据库的接口测试,当然,需要先将相关的数据库包导入。

那么测试框架的本质是什么?个人觉得有以下几个方面。

1、比较

测试实质就是“比较”,在测试之前需要先写用例,假设经过各种操作之后会得到一个预期的结果,然后,在测试的过程中按照用例的步骤会得到一个实际的结果,拿实际结果与预期结果比较。从而且进一步判断用例的成功与失败。

2、用例的组织

为什么要组职用例,因为用例有很多条,我们或在一个文件中写多条用例,或多个文件中写多条用例,总之要很好的把这些用例组织起,自动化用例是给程序去跑的,所以,更应该规范的组织起来。

3、执行结果展示

用例跑完了,成功了,失败了?用例执行到哪一步失败了?总要把这些信息展示给用户吧。

=============

回到主题,在Robot framework中元素的定位。

  因为Robot framework 引入的selenium2 包,所以,假如我们学过selenium 的话,定位是一样的。因为没找到相关资料,所以,经过验证id 、name ,xpath 、css 四种定位方式是可以的,尤其后两种是“万能的”,所以可以解决99%的定位问题。

 

id 和name 定位                                     

  假如把一个元素看作一个人的话,id 和name可以看作一个人的身份证号和姓名。当然,这些属性值是否唯一要看前端工程师如何设计了。

百度搜索框和搜索按钮
复制代码

……

……

……

复制代码

根据上面的例子,百度输入框可以取id 或 name进行定位。(前提是id和name的值在当页面上唯一)

id = kw1

name = wd

在Robot framework 中就是这样写的:

Input Text
    

id=kw1
    

robot framework学习

input text
    

name=wd
    

robot framework学习

Input text 用于输入框的关键字,“robot framework学习”是要给输入框输入的内容。

 

百度按钮只id数据可以利用:

Id=su1

Click Button
    

id=su1
    

 

Click Button是按钮点击的关键字。

 

 

xpath定位                               

  假如,一个人没身份证号没名字怎么找呢?想想你是怎么找朋友吃饭的,他手机不通,电话不回呢?直接上他家去呗,那你一定有他家住址,xx市xx区xx路xx号。Xpath 就可以通过这种层级关系找到元素。

来看看百度输入框在整个页面上的位置吧:
复制代码