首页 > 其他分享 >Robot Framework 入门指南:高效学习接口自动化测试

Robot Framework 入门指南:高效学习接口自动化测试

时间:2024-08-01 17:24:29浏览次数:11  
标签:请求 Robot robotframework Framework 测试 自动化 入门

开源自动化测试利器:Robot Framework

Robot Framework 是一个用于实现自动化测试和机器人流程自动化(RPA)的开放源代码框架。它由一个名为 Robot Framework Foundation 的组织得到推广,得到了多家领军企业在软件开发中的广泛应用。框架以其开放性和灵活性为特点,能够无缝整合各种其他工具,无论团队规模大小,均无需承担额外许可成本。

该 框架 特点在于其使用简洁,采用了接近自然语言的关键字。此外,它具备强大的扩展性,可以很容易地与 Python、Java 或其他语言编写的各种库相结合。Robot Framework 摈弃了繁复的环境配置,拥有一套独立的库和工具组成的生态圈,经常作为单独项目进行维护和更新。

在这里插入图片描述

使用 Robot Framework 进行接口自动化测试的项目结构

本项目的技术栈包含:

  • Robot Framework
  • RequestsLibrary
  • HttpLibrary.HTTP

以下是项目结构的示意图:

在这里插入图片描述
项目细节概述

我们采用了测试的层级化设计,即数据和逻辑的分离。这表现在:

  • 项目目录结构的明确分层

  • 将接口用例、数据和业务逻辑独立处理

  • 测试用例 中可动态传递多个参数,并可自定义执行序列

目录结构详解

  • 公共配置:这里储存共享配置文件、常用方法和函数
  • 基础模块:包罗各类封装好的请求方法和工具函数
  • 功能组件:存放定制化的请求功能组件
  • 主干用例&项目用例:放置针对接口的测试用例

安装 Robot Framework

安装 Robot Framework 可直接通过 pip 安装,如下所示:

pip install robotframework-requests
pip install robotframework-jsonlibrary
pip install robotframework-databaselibrary

这里,robotframework-requests 负责执行 HTTP 请求,robotframework-jsonlibrary 用于处理 JSON 数据,而 robotframework-databaselibrary 用于实现数据库交互。

封装请求方法

以下是请求方法的示例封装:

*** Settings ***
Library           RequestsLibrary
Library           Collections
Library           HttpLibrary.HTTP
Resource          ../commons/config_index.txt

*** Keywords ***
Create Post Request
    [Arguments]    ${base_url}    ${endpoint}    ${parameters}    ${content_type}    ${headers}
    [Documentation]    封装 POST 请求操作
    ${data}    Create Dictionary
    FOR    ${key}    IN    @{parameters.keys()}
        set to dictionary    ${data}    ${key}    ${parameters['${key}']}
    END
    create session    api_session    ${base_url}
    ${response}=    post request    api_session    ${endpoint}    ${content_type}=${data}    headers=${headers}

    log to console    ${response.json()}
    [Return]    ${response.json()}

创立新的测试案例

测试用例的创建过程如下:

作者:Hong1
输入相应的测试信息:

在这里插入图片描述

发出请求

在 Robot Framework 中的首要步骤是创建 Session,它将允许我们维护同一会话中多个请求的连贯性和状态,如用户登录态,以及设置默认的请求头和cookie。

在这里插入图片描述

在会话界面中填入请求信息:

在这里插入图片描述
填写完毕后,便可发起请求。

在这里插入图片描述

或者选择在 Session 基础上构建请求。

在这里插入图片描述

Robot Framework 通过其开放性和易于扩展的特性提供了强大的自动化测试能力。不仅可以简化测试流程,还能提高测试准确性和效率。通过使用 Robot Framework,无论是接口测试、UI自动化测试 还是复杂的业务流程自动化,都能够以一种高效且成本效益高的方式实现。引入该框架无疑是为团队带来了技术的益处,同时也支持了快速迭代和产品质量的持续提升。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

标签:请求,Robot,robotframework,Framework,测试,自动化,入门
From: https://blog.csdn.net/2401_83014911/article/details/140799290

相关文章

  • 【C++】1.C++入门(1)
    文章目录1.C++关键字2.命名空间2.1命名空间定义2.2命名空间使用3.C++输入&输出4.缺省参数4.1缺省参数概念4.2缺省参数分类5.函数重载5.1函数重载概念5.2C++支持函数重载的原理--名字修饰(nameMangling)1.C++关键字C++总计63个关键字,C语言32个关键字2.......
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——1.c++入门(2)
    1.函数重载C++⽀持在同⼀作⽤域中出现同名函数,但是要求这些同名函数的形参不同,可以是参数个数不同或者类型不同。这样C++函数调⽤就表现出了多态⾏为,使⽤更灵活。C语⾔是不⽀持同⼀作⽤域中出现同名函数的。#include<iostream>usingnamespacestd;//1、参数类型不同......
  • 从入门到高手:场外期权的当代投资全攻略
    在这个快速变化的金融市场中,投资者们正在寻找新的投资工具来增强自己的投资组合。场外期权,作为一种灵活且功能强大的衍生品,已经成为当代投资者的新宠。期权圈将带你从基础概念出发,一步步深入了解场外期权,并探索如何让你从入门到高手。一、场外期权基础定义:场外期权,简称OTC(Ov......
  • Vue3+Ts+Vite入门
    vue2采用的是vueRouter3vueX3(233)vue3采用的是vueRouter4vueX4(344)v3对比v2优点1.首次渲染更加快v2就算通过路由懒加载效率也不是非常高(查找各种依赖)v3通过vite构建工具使渲染速度更快2.diff算法更快v2新旧虚拟dom对比然后差异化更新v3对diff算法进行优......
  • Midjourney入门-超全面的参数大全集合
    Midjourney的参数是什么即为Midjourney的后缀参数,用于调控生成图像的尺寸、风格、画面元素等参数使用格式提示词+【--对应参数+空格+参数数值】ps.所有符号都需使用英文格式不同的参数对应的功能以及数值范围不同常用参数:参数用途格式数值ar调整图片的长......
  • 数仓入门:数据分析模型、数仓建模、离线实时数仓、Lambda、Kappa、湖仓一体
    往期推荐大数据HBase图文简介-CSDN博客数仓分层ODS、DWD、DWM、DWS、DIM、DM、ADS-CSDN博客数仓常见名词解析和名词之间的关系-CSDN博客目录0.前言0.1浅谈维度建模0.2数据分析模型1.何为数据仓库1.1 为什么不直接用业务平台的数据而要建设数仓?1.2 数据仓库特......
  • Redis-入门
    Redis的10大数据类型这里的数据类型说的是value的数据类型1.字符串Stringstring是redis最基本的类型一个key对应一个value。string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象string类型是Redis最基本的数据类,一个redis中字符......
  • 1.drf入门
    【一】WEB应用模式1)前后端开发模式前后端混合模式图前后端分离模式图【二】API接口1)概念规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介2)四大特点url:url链接请求方式:get、post、put、patch、delete请求参数:json或xml格式的key-value类......
  • JavaScript入门须知
    一、JavaScript概念1.javascript是一门跨平台,面向对象的脚本语言,用来控制网页行为,可使网页交互2.java和js完全不一样,无论是概念还是设计都是完全不一样的,但是它们的基础语法相似。3.在1995年由BrendanErich发明,于1997年成为ECMA的标准4.ECMA欧洲协会标准,ECMAScript(ES6)是......
  • ctfshow-web入门-sql注入(web171-web175)
    目录1、web1712、web1723、web1734、web1745、web1751、web171单引号测一下,报错 --+闭合后回显正常 也可以用#,不过需要URL编码成功闭合之后,先判断下字段数:1'orderby3--+3的时候正常 4的时候报错,说明只有3列  测了一下,三个回显位都能正......