Summary for Robot Framework

这片文章主要讲Robot framework这个框架,因为最近做培训,所以也想借此将这段时间的东西记录沉淀下来.

首先是安装:

  1. 安装Python: HTTPs://www.python.org/downloads/ 添加环境变量
  2. 安装Pip: https://github.com/pypa/pip/releases
  3. 安装 Robotframework: Run pip install robotframework
  4. 安装 Selenium2Library: Run pip install robotframework-selenium2library
  5. 安装wxPython: https://sourceforge.net/projects/wxpython/files/wxPython/
  6. 安装 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运行

单个用例运行配置:

多个用例运行配置:

原文地址:https://www.cnblogs.com/jessicaxia/p/10078741.html