好久没有继续分享关于自动化测试相关的东西了,自动化在现今的测试领域已经越来越重要了,大部分公司在测试岗位招聘中都需要会相关的自动化测试知识。而 RobotFramework自动化测试框架 是自动化测试中

用的最多一个框架,基于Python编程语言设计的可扩展的关键字驱动模式的测试自动化框架,具备良好的可扩展性,可以通过xml-rpc服务扩展支持其它的常用编程语言,可以同时测试多种类型的客户端或者接口,可以支持进行分布式测试执行。

Robot Framework具有如下的特点:

  •          易于使用,采用表格式输入语法,统一的测试用例格式。
  •          重用性好,可以利用现有关键字来组合新的用户自定义关键字。
  •          支持资源文件,支持多种变量类型,包括字符串变量,list列表变量,Dictionary字典变量等。
  •          测试案例执行结果报告和日志采用HTML格式,易于阅读和邮件转发。
  •          提供标签以分类来选择将被执行的测试用例,使得测试案例的执行选择更加灵活。
  •          支持WEB界面测试,web接口服务测试、GUI 测试、多种终端测试。
  •          支持多种数据库的操作,包括常用的关系型数据库,非关系型数据库。
  •          易于扩展自定义的Lib库,可以通过python或者java等其他开发语言来动态扩展Lib库。

本文章节目录:

1、Input Text

2、Click Button

3、Click Element

4、Click Link

5、Add Cookie,Get Cookies 和Delete Cookie

6、Get All Links

7、Choose File(文件上传)

8、Get Text

9、Get Title

说明:我们这里是紧接着

 

 

 

Open Browser       http://www.baidu.com    chrome

Input Text     id=kw     Robot FrameWork

执行结果如下:如下图中所示。

Starting test: RobotFrameworkTest1.TestSuite6.TestCase0002

20170529 15:44:23.918 :  INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'

20170529 15:44:32.068 :  INFO : Typing text 'Robot FrameWork' into text field 'id=kw'

Ending test:   RobotFrameworkTest1.TestSuite6.TestCase0002

 

 

 2、Click Button

Click Button关键字用于模拟点击页面中的按钮,该关键字接收一个参数[ locator ]。

示例1:打开百度,向输入框中输入Robot FrameWork后,点击百度一下按钮,进行搜索。

这里通过id=su来定位百度一下这个按钮,如下图中所示。

Open Browser       http://www.baidu.com    chrome

Input Text     id=kw     Robot FrameWork

Click Button  id=su     

 

 

 

执行结果如下:如下图中所示。

Starting test: RobotFrameworkTest1.TestSuite6.TestCase0002

20170529 16:01:02.161 :  INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'

20170529 16:01:12.505 :  INFO : Typing text 'Robot FrameWork' into text field 'id=kw'

20170529 16:01:12.917 :  INFO : Clicking button 'id=su'.

Ending test:   RobotFrameworkTest1.TestSuite6.TestCase0002

 

 

 3、Click Element

Click Element关键字用于模拟点击一个通过locator定位到的具体元素,可以是通过id或者name,xpath等都可以。该关键字接收一个参数[ locator ]

示例1:这里我们继续访问百度的首页,通过id来定位一个元素,并且使用Click Element关键字来模拟点击这个元素定位到的按钮,如下图中所示。

 

 

 

Open Browser       http://www.baidu.com    chrome

Click Element       id=su     

Sleep      2    

Close Browser             

执行结果如下:

Starting test: RobotFrameworkTest1.TestSuite6.TestCase0003

20180728 09:59:02.582 :  INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'

20180728 09:59:14.272 :  INFO : Clicking element 'id=su'.

20180728 09:59:17.158 :  INFO : Slept 2 seconds

Ending test:   RobotFrameworkTest1.TestSuite6.TestCase0003

4、Click Link

Click Link关键字用于模拟点击一个链接 。该关键字接收一个参数[ locator ]

示例1:这里我们继续访问百度的首页,通过模拟点击百度首页又上角的”地图”链接来说明此关键字的使用。我们通过href="http://map.baidu.com" 来模拟点击这个链接,如下图中所示。

 

Open Browser       http://www.baidu.com    chrome

Click Link     http://map.baidu.com

Sleep      2    

Close Browser             

执行结果如下:

Starting test: RobotFrameworkTest1.TestSuite6.TestCase0004

20180728 10:10:37.328 :  INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'

20180728 10:10:47.171 :  INFO : Clicking link 'http://map.baidu.com'.

20180728 10:10:53.170 :  INFO : Slept 2 seconds

Ending test:   RobotFrameworkTest1.TestSuite6.TestCase0004

示例2:Click Link关键字除了上面说到的直接通过href链接来定位元素外,也可以通过id或者name来定位,这里以name作为示例来进行示例。

Open Browser       http://www.baidu.com

Click Link     name=tj_trmap

Sleep      5

Close Browser      

执行结果如下:

Starting test: RobotFrameworkTest1.TestSuite6.TestCase0005

20180728 10:22:35.467 :  INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'

20180728 10:22:44.921 :  INFO : Clicking link 'name=tj_trmap'.

20180728 10:22:57.497 :  INFO : Slept 5 seconds

Ending test:   RobotFrameworkTest1.TestSuite6.TestCase0005

运行时可以看到正在加载百度地图的画面,如下图中所示。

 

 5、Add Cookie,Get Cookies 和Delete Cookie

Add Cookie关键字用于模拟向本地浏览器中添加一个Cookie缓存,Cookie也是我们在做web自动化测试时,经常需要用到的一个概念。该关键字接收[ name | value | path=None | domain=None | secure=None | expiry=None ]这几个参数,如下表所示。