• 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运行

    单个用例运行配置:

    多个用例运行配置:

  • 相关阅读:
    Pymongo
    asp.net mvc4 使用java异步提交form表单时出现[object object] has no method ajaxSubmit
    C# Activator.CreateInstance()
    GridView中某一列值的总和(web)
    02.[WPF]如何固定窗口的大小
    01.WPF中制作无边框窗体
    C#.net时间戳转换
    org.springframework.beans.factory.BeanCreationException: 求教育!
    log4Net配置详解
    SQL语句-创建索引
  • 原文地址:https://www.cnblogs.com/jessicaxia/p/10078741.html
Copyright © 2020-2023  润新知