zoukankan      html  css  js  c++  java
  • Robot Framework

    【一】简介

    • 通用的测试自动化框架(不限于WEB自动化);
    • 提供测试的基本功能;
    • 可控制哪些运行,哪些不运行;
    • 写断言,让框架帮忙做断言;

    【二】特点

    • 使用简单
    • 非常丰富的库
    • 可以像编程一样写用例
    • 支持开发系统关键字
    • 可以很好的把自动化测试人员进行划分

    【三】Robot Framework库

    • Builtin:提供了一组通常需要的通用关键字
    • String:生成、修改和验证字符串的库
    • Screenshot:提供关键字捕捉桌面截图
    • XML:生成、修改和验证xml文件的库
    • DateTime:日期和时间转换库

    【四】常用库

    • web自动化测试:seleniumLibrary     selenium2Library   selenium2Library for java   watir-robot等
    • windows gui测试:autoltLibrary
    • 移动测试:android library       ios library    appiumlibrary
    • 数据库测试: database library(java)     database library(python)   mongodb library等
    • 文件对比测试:diff library
    • http测试:http library(livetest)、http library(requests)等

    【五】安装准备(不是非ride不可)

    • python(python2到2020年停止维护)
    • robot framework
    • wxPython2.8.12.1(win32)[可选]——基于windows gui,不支持python3
    • robot framework-RIDE[可选]——基于wxPython2.8.12.1(win32)

    【六】创建测试用例的过程

      步骤:

        1、创建一个测试项目(一个目录)

        2、在目录下创建测试套件(文件rf_suit.robot)

        3、在测试套件下创建测试用例(小例子:打印一个字符串)

        

         4、执行

          1)在当前目录下打开命令行窗口;

          2)pybot --test test_case rf_suit.robot            //运行test_case

          3)   pybot --test test_case2 rf_suit.robot         //运行test_case2

            4)    pybot  rf_suit.robot                                   //运行全部的case

          5)   执行成功后在当前目录下生成日志和报告;

          【log.html】

          

          【report.html】

          

        5、robot framework运行测试

          1)运行一条用例

           pybot --test test_case test_suit.robot

          2) 运行指定文件

           pybot test_suit.robot

          3)   运行当前目录下以.robot为后缀名的测试文件

           pybot *.robot

          4)   运行当前test_a目录下的所有用例

           pybot test_a

          5)   运行当前目录下的所有以.robot为后缀名的测试文件

           pybot ./

         6、 robotframework-selenium2Library

          1)安装robotframework-selenium2Library

            python -m pip install robotframework-selenium2Library

          2)   查看包名:D:PythonPython36Libsite-packages

          3)引包:(关键字底层就是写好的类方法,位置:D:PythonPython36Libsite-packagesSeleniumLibrarykeywordsrowsermanagement.py)

            

          4)  运行结果(log)

            

          7、封装操作流

            【步骤】

              1)创建一个资源文件

              2)在资源文件下创建用户关键字 (rf_suit.robot)

              

              3) 调用关键字

              

            8、开发系统关键字

             【步骤】

              注意:小例子,定义的函数文件和初始化文件都需要放在D:PythonPython36Libsite-packages 目录下;

              1、定义加减法函数

    #coding=utf-8
    class Count(object):
        def add(self,a,b):
            c = int(a)+int(b)
            return c
    
        def sub(self,a,b):
            c = int(a)-int(b)
            return c
    
    if __name__ == '__main__':
        c = Count()
        result = c.add(3,5)
        assert result == 8
        result = c.sub(3,5)
        assert  result == -2
    View Code

              2、定义初始化文件

    from test import Count
    
    __version__ = "0.1"
    
    
    class WhdTestLibrary(Count):
        ROBOT_LIBRARY_SCOPE = 'GLOBAL'
    View Code

              3、调用脚本

              

          9、 ROBOT FRAMEWORK的缺点

              1) 学习成本高  经验封闭——语法都是自己的语法,而且不可转换,

              2)  脚本可读性查

              3)  不如直接写Python代码自由

            

              

              

            

         

      

  • 相关阅读:
    CentOS 7基于Containerd部署Kubernetes v1.20.5
    【k8s记录】二进制安装kubernetes高可用集群全过程完整版v1.20
    前台后台$.psot交互
    $.ajax与$.post、$.get的一点区别
    layui与jQuery一起使用
    用Emmet写前端代码
    栅格布局的实现过程,容器到列的划分
    bootstrap环境
    2个爬虫
    think PHP5中,模板、控制器、JavaScript的url跳转重定向方法
  • 原文地址:https://www.cnblogs.com/hd-test/p/11637964.html
Copyright © 2011-2022 走看看