这片文章主要讲Robot framework这个框架,因为最近做培训,所以也想借此将这段时间的东西记录沉淀下来.
首先是安装:
- 安装Python: HTTPs://www.python.org/downloads/ 添加环境变量
- 安装Pip: https://github.com/pypa/pip/releases
- 安装 Robotframework: Run pip install robotframework
- 安装 Selenium2Library: Run pip install robotframework-selenium2library
- 安装wxPython: https://sourceforge.net/projects/wxpython/files/wxPython/
- 安装 Ride: Run pip install robotframework-ride
1.安装好框架后,我们介绍下用这个工具做UI、B/S测试。做web auto testing 需要了解一些定位知识,常见的定位有Xpaht,CSS。 具体用法可以参考下表:
2. 再之后我们需要引用Selenium2Library这个库,和这些库关键字的基本用法.
具体有关Selenium2Lirary基本关键字的相关的应用可以看demo:Selenium2Library-demo
3. 这节我们可以学习下RFS逻辑关键字的用法:
- 一般变量申明和使用
- List变量申明和使用
- 分支的使用
- 循环的使用
- Evaluate的使用
有关逻辑关键字的用法请参见demo: https://pan.baidu.com/s/1xWzKeY4pvrkE59ZR4o9Prg
4.关于用例的编写,建议用分层测思想,分三层或者四层:
分三层:测试用例层,业务流程层,封装的关键字层
分四层:测试用例层,业务流程层,页面层,封装的关键字层
关于分层的demo请参见DistributeLayer-Demo:
https://pan.baidu.com/s/1xWzKeY4pvrkE59ZR4o9Prg
5.用RobotFrameWork也可以做接口API的测试,常见的request 有Get, Post.Get,Put.并且对于接口的Assertion会涉及有XML和Json的处理。
具体有关接口测试demo请参看:InterfaceTest-Demo
https://pan.baidu.com/s/1xWzKeY4pvrkE59ZR4o9Prg
6.这一节主要介绍用RF来自定义第三方库:
自己定义的MyLibrary代码如下:
from openpyxl import load_workbook from PIL import Image import os, sys import pytesseract class data_center: def __init__(self): self.data_dir=os.getenv('G_DataCenter','C:\\RF Demo\\test\\data') # return data from Excel def Read_Data_From_Excel(self,filename,path=None): if path == None: file = os.path.join(self.data_dir, filename) else: file = os.path.join(path, filename) try: wb=load_workbook(file) ws=wb.worksheets[0] listAll=[] for row in ws.iter_rows(min_row=2,min_col=1,max_row=ws.max_row,max_col=ws.max_column): line = [col.value for col in row] if line[1] is not None: listAll.append(line) return listAll except Exception,e: print str(e)
7.由于RIDE这个在加载比较复杂层级多的脚本情况下会出现卡顿的情况,因此推荐另外一种环境的脚本开发方式. 用pychram来开发编写案例:
PyCharm环境搭建: 安装PyCharm
RFS环境搭建: 打开PyCharm>点击File>点击setting>打开Plugins>点击Browse repositories: IntelliBot
用例调试和编写:配置单个和多个Testcase运行
单个用例运行配置:
多个用例运行配置: