RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)
好久没有继续分享关于自动化测试相关的东西了,自动化在现今的测试领域已经越来越重要了,大部分公司在测试岗位招聘中都需要会相关的自动化测试知识。而 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 ]这几个参数,如下表所示。