【实战】RobotFramework接口自动化-全局变量解决保持登录问题

本文主要是介绍【实战】RobotFramework接口自动化-全局变量解决保持登录问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Robotframework是一个利用关键字驱动实现自动化的框架,可以同时实现web、app、接口自动化测试。RF的使用类似于运行一个表格,测试人员往表格内填充文本,即可轻松实现自动化测试。

本文的目标

  • 利用RobotFramework实现接口自动化测试
  • 使用全局变量解决自动化测试过程中的“保持登录”问题。

知识点准备

“考前”划重点来了~为了避免让大家看到RobotFramework接口自动化脚本时出现一脸懵逼的情况~大家在阅读脚本之前可以先了解学习下以下几个知识点,为后续的接口自动化做基础铺垫。

  1. Jsonpath语法

Jsonpath是一种信息抽取类库,是从json文档中抽取出指定信息的工具;在robotframework里面的使用场景是提取响应结果的某个参数值。

Jsonpath在线校验工具:http://jsonpath.com/

  1. Python的split()函数用法

主要用于截取切片一段字符串,从中获取token值

  1. Robotframework

Tips:掌握RF关键字的使用,即可独立写一个简单的接口自动化脚本

    1. 设置全局变量Set Global Variable设置全局变量:用于存放token(cookies),以便于其他接口调用
    2. 创建字典Create dictionary:以字典形式存放接口的请求头(headers)、报文(data)数据
    3. 创建用户关键字New user keyword:主要用于封装登录模块的脚本
    4. Create session创建会话:接口自动化关键字,定义域名别名
    5. Post/Get request发起请求:接口自动化关键字,组合参数发起接口请求
    6. Run keyword if:断言

Tips:以上关键字的使用方法,可通过Tools-search keywords来查看,如下图:

环境准备

已手动安装python、robotframework、RequestsLibrary库

脚本中需要使用到的library:

接口分析

1.成功登陆到具体系统界面,需要用到以下2个请求

2.进入到对应的子系统所需的token

3.子系统所需要的TOKEN

在子系统请求的response->headers内的set-cookie

(Tips:若不知道开发使用的是哪个字段来保持登录连接,可向对应的开发咨询即可)

自动化脚本

Tips:RF的RIDE的使用不再多说,大家可网上自行搜索教程

本文接口自动化全局设计思路如下:

一、创建用户关键字(New user keyword)

1.操作路径:在suite文件上右键选择New user keyword

2.脚本目标:

封装登录模块脚本(本文案例登录包含2个接口请求)

3.脚本正文:

二、测试用例(testcase)

接口:获取子系统的某个数据列表

脚本正文:

(Tips:脚本设计过程都一样:请求头、报文、发起请求、断言)

三、运行结果

这篇关于【实战】RobotFramework接口自动化-全局变量解决保持登录问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/831318

相关文章

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边