太全面了!RF接口自动化框架项目实战
ccwgpt 2024-10-24 09:12 18 浏览 0 评论
以特斯汀软件测试VIP课程中的微服务项目进行接口自动化实战
搭建项目结构
创建一个项目,名字自己起,课上叫微服务项目接口测试框架,初始项目结构如下,不要着急对着图去创建,看下方解释再创建
配置:这是一个目录,用来存放公共信息的
- 公共配置:这是一个Resource,创建是右键配置New Resource
接口层:这是一个目录,用来管理和定义接口的基本信息
按照项目业务进行分类管理
- 买家api:这是一个Resource,创建是右键接口层New Resource
- 卖家api:这是一个Resource,创建是右键接口层New Resource
- 管理员api:这是一个Resource,创建是右键接口层New Resource
- 基础服务api:这是一个Resource,创建是右键接口层New Resource
- 接口默认参数:这是一个目录,当接口参数比较多时,用来存储默认参数的,存到文件里, 方便管理
- 业务关键字:这是一个Resource,用来封装一些自定义的业务关键字,创建是右键接口层 New Resource
测试用例层:这是一个目录,用来管理所有测试用例
测试数据层:这是一个目录,管理测试数据的,测试数据存在文件
公共配置
根据项目情况,添加公共配置变量,各个服务的域名,数据库信息,redis信息,买家/卖家/管理员账号,并且导入需要的第三方库RequestsLibrary
接口层各接口定义
首先在各个api分类中导入,注意是每个哦
买家api编写
每个接口定义都是一个用户关键字,右键选择New User Keyword
1、买家登录接口
2、添加购物车接口
3、清空购物车接口
4、立即购买接口
5、设置收货地址接口
6、设置支付类型接口
7、创建交易接口
8、确认收货接口
9、评论接口
评论接口的参数是json串,参数较多,不方便一个个传递,所以将其作为整体传递
设计思路:
- 在[接口默认参数]目录中创建一个 评论.json文件,内容写所有参数的默认值,其中写xxxx代表这个是动态数据,必须每次都由调用方传递
- 关键字入参的含义:${order_sn}、${sku_id}都是必传参数,${other}给了一个默认值,表示可以不传,如果用户需要针对json参数里除了order_sn和sku_id的参数进行测试时就要以${other}代表,${other}的传递规则是字符串形式的json格式字符串,key必须是jsonpath表 达式,value是要替换的新值例如:
- 针对替换json串中的特定字段封装一个自定义关键字,在业务关键字.robot下创建一个用户自定义关键字如下,业务关键字需要导入JSONLibrary
- 脚本解释: 第一行:读取 [接口默认参数] 目录下的评论.json文件,得到默认json参数 第二/三行:把用户传入的order_sn和sku_id更新到${comment_info}中去 第四行:判断${other}不等于default,说明用户传了其他数据,那么${other}转换成json第五行:判断${other不等于default},调用[替换json数据]关键字替换并且返回数据
卖家api编写
每个接口定义都是一个用户关键字,右键选择New User Keyword
1、卖家登录接口
2、创建商品接口
创建商品的参数是json串,参数较多,不方便一个个传递,所以将其作为整体传递
设计思路: 由于创建商品的接口参数从业务上来说,没有不可重复的参数或者动态参数,所以我们将其整体作为参数传递
- 在[接口默认参数]目录中创建一个 创建商品.json文件,内容写所有参数的默认值
- 关键字入参的含义:${new_params}给了一个默认值,表示可以不传,不传时接口使用默认参数发起请求,如果用户需要针对默认json参数里的某些字段进行修改,${new_params}的传递规则是字符串形式的json格式字符串,key必须是jsonpath表达式,value是要替换的新值例如
- 脚本解释第一行:读取默认参数第二行:判断有${new_params}不等于default,说明用户传了其他数据第三行:判断有${new_params}不等于default,调用[替换json数据]关键字替换并返回
3、确认发货接口
4、确认收款接口
5、获取商品sku信息接口
管理员api编写
管理员登录接口
审核商品接口
各个登录关键字封装
由于各个服务在测试时都必须先完成登录获取token,所以我们将各个服务的登录做成关键字 在业务关键字.robot下进行依次创建和封装
导入需要的
创建买家session和提取token 关键字
创建卖家session和提起token 关键字
创建管理员session和提取token 关键字
测试用例脚本设计和编写
添加购物车接口测试
1、数据设计
采用数据驱动的方式来做,首先设计添加购物车测试用例数据文件,在测试数据层目录下创建一个买家接口测试数据.xlsx文件,sheet工作表名称添加购物车
数据如下:
2、数据驱动用例编写
- 创建买家接口目录
在测试用例层,创建买家接口目录
- 创建添加购物车测试集合
在买家接口目录下创建添加购物车测试集合,按照下图填写以及导入相关库
- 创建添加购物车接口模板
在添加购物车测试集合下创建一个用户关键字
- 创建测试用例
在添加购物车测试集合下创建一个测试用例
- 尝试执行
立即购买接口测试
1、数据设计
采用数据驱动的方式来做,首先设计立即购买测试用例数据文件,在测试数据层目录下的买家接口测试数据.xlsx文件,sheet工作表名称立即购买
数据如下:
2、数据驱动用例编写
- 创建立即购买测试集合
在买家接口目录下创建立即购买测试集合,按照下图填写以及导入相关库
- 创建立即购买接口模板
在立即购买测试集合下创建一个用户关键字
- 创建测试用例
在立即购买测试集合下创建一个测试用例
- 尝试执行
创建交易测试
1、数据设计
采用数据驱动的方式来做,首先设计创建交易测试用例数据文件,在测试数据层目录下的买家接口测试数据.xlsx文件,sheet工作表名称创建交易
数据如下:
2、数据驱动用例编写
- 创建测试集合
在买家接口目录下创建创建交易测试集合,按照下图填写以及导入相关库
- 创建交易接口模板
在创建交易测试集合下创建一个用户关键字
- 创建测试用例
在创建交易测试集合下创建一个测试用例
- 尝试执行
最后,关于软件测试学习,offer选择等等,都可以通过后台私信交流。需要学习资料或者帮忙修改简历也可以私信!!也可百度搜索“特斯汀软件测试腾讯课堂”或关注公众号“特斯汀软件测试”,里面涵盖很多精彩免费视频或干货知识
相关推荐
- 盲盒小程序背后的技术揭秘:如何打造个性化购物体验
-
在2025年的今天,盲盒小程序作为一种新兴的购物方式,正以其独特的魅力和个性化体验吸引着越来越多的消费者。这种将线上购物与盲盒概念相结合的应用,不仅为消费者带来了未知的惊喜,还通过一系列技术手段实现了...
- 小程序·云开发已支持单日亿级调用量,接口可用率高达99.99%
-
2019-10-1914:1210月19日,由腾讯云与微信小程序团队联合举办的“小程序·云开发”技术峰会在北京召开。会上,微信小程序团队相关负责人表示“小程序·云开发”系统架构已经支持每天亿级别的...
- 程序员副业开启模式:8个GitHub上可以赚钱的小程序
-
前言开源项目作者:JackonYang今天推荐的这个项目是「list-of-wechat-mini-program-list」,开源微信小程序列表的列表、有赚钱能力的小程序开源代码。这个项目分为两部分...
- 深度科普:盲盒小程序开发的底层逻辑
-
在当下的数字化浪潮中,盲盒小程序以其独特的趣味性和互动性,吸引着众多消费者的目光。无论是热衷于收集玩偶的年轻人,还是享受拆盒惊喜的上班族,都对盲盒小程序情有独钟。那么,这种备受欢迎的盲盒小程序,其开发...
- 微信小程序的制作步骤
-
SaaS小程序制作平台,作为数字化转型时代下的创新产物,不仅将易用性置于设计的核心位置,让非技术背景的用户也能轻松上手,快速制作出功能丰富、界面精美的小程序,更在性能和稳定性方面投入了大量精力,以确保...
- 携程开源--小程序构建工具,三分钟搞定
-
前言今天推荐的这个项目是「wean」,一个小程序构建打包工具。在wean之前,大量小程序工具使用webpack进行打包,各种loader、plugin导致整个开发链路变长。wean旨在解...
- 校园小程序的搭建以及营收模式校园外卖程序校园跑腿校园圈子系统
-
校园小程序的架构设计主要包括云端架构和本地架构两部分。云端架构方面,采用Serverless架构可以降低技术门槛,通过阿里云、腾讯云等平台提供的云服务,可以实现弹性扩容和快速部署。例如,使用云数据库、...
- 盲盒小程序开发揭秘:技术架构与实现原理全解析
-
在2025年的今天,盲盒小程序作为一种结合了线上购物与趣味性的创新应用,正受到越来越多用户的喜爱。其背后的技术架构与实现原理,对于想要了解或涉足这一领域的人来说,无疑充满了神秘与吸引力。本文将为大家科...
- 月活百万的小程序架构设计:流量暴增秘籍
-
从小程序到"大"程序的蜕变之路当你的小程序用户量从几千跃升至百万级别时,原有的架构就像一件不合身的衣服,处处紧绷。这个阶段最常遇到的噩梦就是服务器崩溃、接口超时、数据丢失。想象一下,在...
- 认知智能如何与产业结合?专家学者共探理论框架与落地实践
-
当前,以大模型为代表的生成式人工智能等前沿技术加速迭代,如何将认知智能与产业结合,成为摆在各行各业面前的一个问题。论坛现场。主办方供图7月4日,2024世界人工智能大会暨人工智能全球治理高级别会议在...
- 现代中医理论框架
-
...
- 认知行为(CBT)中的ABC情绪理论
-
情绪ABC理论是由美国心理学家阿尔伯特·艾利斯(AlbertEllis1913-2007)创建的理论,A表示诱发性事件(Activatingevent),B表示个体针对此诱发性事件产生的一些信...
- 说说卡伦霍妮的理论框架,对你调整性格和人际关系,价值很大
-
01自在今天我主要想说下霍妮的理论框架。主要说三本书,第一本是《我们时代的神经症人格》,第二本是《我们内心的冲突》,第三本是《神经症与人的成长》。根据我的经验,三本书价值巨大,但并不是每个人都能读进去...
- 供应链管理-理论框架
-
一个最佳价值的供应链,应该是一个具有敏捷性、适应性和联盟功能(3A)的供应链,其基本要素包括战略资源、物流管理、关系管理以及信息系统,目标是实现速度、质量、成本、柔性的竞争优势。篇幅有...
- 微信WeUI设计规范文件下载及使用方法
-
来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。WeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信Web开发量身设计,可以令用户的使用感知...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- MVC框架 (46)
- spring框架 (46)
- 框架图 (58)
- bootstrap框架 (43)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- laravel框架 (46)
- express框架 (43)
- scrapy框架 (52)
- beego框架 (42)
- java框架spring (43)
- grpc框架 (55)
- 前端框架bootstrap (42)
- orm框架有哪些 (43)
- ppt框架 (48)
- 内联框架 (52)
- winform框架 (46)
- gui框架 (44)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)
- oracle提交事务 (47)