用例模块实战讲解
模块功能说:该模块见面知意,主要基于用例分类的思想来进行测试用例的维护。
思路注意
通用模块库中各层级控制元件的名称,后续维护不要轻易改变,以防用例模块调用通用模块失败。
通用模块库实战讲解
模块功能说明
该模块主要用来归集汇总后面用例模块需要调用的公共模块,包括数据准备相关、接口正反例通用模块等
该模块还没有“历史常用组件/模块设计参考”,下面主要归集以前项目曾经设计的比较好的模块保存下来,以备后面项目参考使用
思路
使用“测试片段”元件作为该模块的顶级层级
使用“简单控制器”元件作为通用模块库的第二层级,用来对通用模块做分类使用,方便维护
第三层级使用“事务控制器”元件作为我们归类汇总的通用模块的最顶层
全局参数配置模块的元器件应该放在测试计划下面的顶部,其他元器件根据需求可以放在对应的结构下
全局参数配置模块实战讲解:
模块功能说明:全局参数配置模块主要利用配置元件,配置管理全局的测试数据、运行参数、
数据库配置以及其他测试中需要的全局类的配置。
思路:使用“用户自定义变量”元件配置管理全局测试数据、使用“用户自定义变量”元件配置与脚本运行相关的全局参数、使用“DNS Cache Manager”元件配置测试用的DNS服务地址(看项目情况是否需要用)、使用“计数器”元件配置一个计数变量、用于某些用例的使用、使用“JDBC Connection Configuration”元件配置管理测试数据库连接
设计本套脚本结构方案的原因:
Jmeter元件组合过于灵活
易维护性
效率
合作
整体方案展示:
全局参数配置:测试数据配置、运行参数、DNS配置、数据库配置
通用模块库:当前脚本通用模块库(数据准备、接口正反通用模块)、历史常用组件/模块设计参考
用例模块:用例分隔符(采用测试片段元件实现)、用例组(采用线程组元件实现)、用例ABCD分类(采用事务控制器元件实现)
测试结果展示:用表格查看结果、查看结果树、聚合报告、断言结果
目前常用的接口自动化工具:LoadRunner、PostMan、Python+Request+Unittest,Java+HttpClient+testNG、soapUI和soapUI Pro、RobotFramework+HttpLibrary、Jmeter
Jmeter接口自动化优劣:
优点:支持脚本录制、支持多平台部署、支持Jenkins集成,实现CICD、一学二用(即可做接口又能做性能测试),学习产出比高、开源免费、丰富的元件及第三方插件、支持BeanShell脚本,方便二次开发及引入Jar包,满足测试需求
设计本套脚本结构方案的原因
jmeter原件组合过于灵活
易于维护
效率
合作
脚本结构方案
全局参数配置
测试数据配置:静态测试数据(初始数据)、动态测试数据(动态生成的数据)
运行参数
DNS
数据库配置
通用模块库
当前脚本通用模块库
数据准备
接口正反例通用模块
历史常用组件、模块设计参考
用例模块
用例分隔符(采用测试片段元件实现)
用例组(采用线程组元件实现)
用例ABCD分类(采用事务控制元件实现)
测试结果展示
用表格查看结果
察看结果树
聚合报告
断言结果
https://github.com/jinganglong123/JinGang-Jmeter/tree/master/demoCase
https://github.com/jinganglong123/JinGang-Jmeter.git
jmeter接口自动化测试脚本结构
设计原因:
元件组合灵活。
易维护性。自动化测试脚本后期的维护成本,考虑设置可维护的参数变量。
测试效率。例如回归测试。
团队合作。提前制定一套团队合作方案,沟通成本大大降低。
脚本方案
用例模块:针对自动化测试的用例做统一管理。
全局参数配置
测试数据:静态测试数据和动态数据。
静态数据:事先准备的基础数据。(主要配置)
动态数据:接口自动化过程中,动态生成的数据。
运行参数
DNS配置
数据库配置
通用模块库
测试结果
jmeter接口自动化;
loadrunner;
postman;
Python+Request+Unittest 脚本编写代码能力
Java+HttpClient+testNG 脚本编写代码能力
soapUI和soapUI Pro
RobotFramework+Httplibrary;
模拟失败,使用beanShell取样器来模拟失败。
http请求默认值
jdbc connection Confiquration 链接数据库来进行用户登录测试。
计数器需要一个递增的数列。从01递增1 最大到99 显示格式00 变量的名称 number
DNS缓存管理器。配置原件。定义一个dns的服务器。
如果请求不成功,需要设置请求头。
全局参数配置。维护全局变量的插件。
全局参数配置模块实战讲解。
用户自定义变量,进行全局测试数据管理。
全局变量测试。维护全局自定义变量,运行参数
通用模块。当前版本通用模块库。
辅助手工测试。调试脚本模块。
因为jmeter太灵活了。所以需要规范脚本结构。及饿哦本接口方案
正反例
jmeter支持Jenkins集成,支持接口和性能测试。一学二用。
使用开源免费的产品,可以定制,也方便流通。丰富的元件以及第三方插件。比较通用%99的项目。
支持BeanShell脚本。方便二次开发以及引入Jar包。满足测试需求
不太容易多人协同。就是多人同时编辑该软件的脚本。
用代码写的话。可以解决这个问题。
RobotFramework+Httplibrary
全能框架。使用成本高。
soapUI和soapUI Pro
接口自动化方案。比jmeter方案好。但是不免费。
自动化框架
python+Request+unittest
Java+HttpClient+testNG
编码能力较低。需要开发技能。会导致效率太低。
postman 商业软件。个人使用可以。
支持api维护。
Moko维护。
云存储维护。
对接口进行请求,对接口返回数据进行处理。就适合做接口自动化。
脚本结构规范。
内容安排