- 官方examples地址:http://robotframework.org/#examples
- 官方demo地址:https://bitbucket.org/robotframework/webdemo
- SeleniumLibrary的github地址:https://github.com/robotframework/SeleniumLibrary
- SeleniumLibrary的keyword使用说明:http://robotframework.org/SeleniumLibrary/SeleniumLibrary.html
1、RobotFramework和SeleniumLibrary应用于web测试
RobotFramework是一个开源自动化测试框架,SeleniumLibrary是一个RobotFramework的库。这个示例就是展示将RobotFramework和SeleniumLibrary结合进行web测试,同时,示例展示了RobotFramework的基本测试数据语法、测试执行方式、日志和报告输出方式。
2、Demo的安装
- 打开官方demo地址,按照官方说明进行操作;
- 下载地址:https://bitbucket.org/robotframework/webdemo/downloads/?tab=downloads
- 下载解压后,查看文件夹中应该包含2个目录:demoapp and login_tests
3、Demo的运行
- 启动demo:
E:\robotframework-webdemo-9206bb637e9d>python demoapp/server.py
- 访问demo:
http://localhost:7272
-
demo是一个登陆页面,默认用户名为demo,密码为mode
4、运行用例
- demo的login_test目录下有4个robot文件,是预先写好的用例,可以阅读查看
- 在运行用例前,需要先检查是否安装了robotframework和robotframework-seleniumlibrary,
pip show robotframework
,pip show robotframework-seleniumlibrary
- 若库已经安装,则可执行命令:
E:\robotframework-webdemo-9206bb637e9d>robot login_tests
-
查看执行结果,发现用例全部fail了,接下来需要排查报错原因
- 从图中可以看出,resuorce.robot中导入的库错误以及关键字错误
问题1: RobotFramework 3.0及以上版本,支持的是SeleniumLibrary,所以需要修改测试用例
问题2:关键字Open Browser找不到,查看resuorce.robot,Open Browser调用了2个参数:${LOGIN URL} ${BROWSER}
,${BROWSER}
的值为Firefox。那么问题来了,要打开浏览器怎么能没有驱动呢?
划重点:根据Selenium的规则,下载浏览器版本对应的驱动。驱动的目录要加入path哟。 - 2个问题解决了,那么再次运行一下用例:
5、读用例
- 官方示例的tests_login中共有4个robot文件,但是从用例的执行过程看,只执行了3个测试用例集,这是为什么呢?
- 查看执行的3个用例集文件,可以看到,在settings中都导入了
Resource resource.robot
,所以resuorce.robot是一个公用文件,将其他用例集需要用到的库、变量、关键字都定义在这个文件夹中 - 每个robot中,都有关键字,有的关键字是自己定义的,有的是内置关键字,有的是第三方库关键字,应该如何查看这些关键字的含义及使用示例呢?
- 划重点:查阅官方文档,http://robotframework.org/#libraries,在library模块下,找到你要了解的库,点击进入查看关键字。
- 举个例子:
resuorce.robot中有一个Open Browser关键字,这个SeleniumLibrary的关键字,那这个关键字应该如何使用呢?
查阅SeleniumLibrary的文档,了解关键字的含义和需要的参数及参数顺序,使用规则
6、总结
- 要阅读用例,首先需要知道用例中每个步骤所表达的意思,那就需要理解关键字所代表的含义
- 自定义关键字是以内置关键字、第三方库关键字为基准的,在此基准上进行组合,定义符合业务逻辑的关键字
- 学会查找和阅读文档,梳理文档架构,在需要用到对应的信息的时候能快速使用文档进行查阅
- 关键字:keywords由2部分构成:Keyword和Arguments,某些Keyword没有对应的Arguments,需要根据文档确定
写在最后
- 本次通过阅读用例,学会了如何查阅关键字及关键字的基本使用方法
- 还需要掌握settings的构成,如:settings中的备注信息、setup和teardown如何分类和使用(分为suit和test等)
- 实践出真知