华为云用户手册

  • 示例 请求url路径 如下图所示,请求url路径中参数“test”的值为生成指定范围随机数函数,函数中的参数A为数字“1”、参数B为数字“100”。 请求头 如下图所示,请求头中参数“number”的值为生成指定范围随机数函数,函数中的参数A为数字“1”、参数B为数字“100”。 请求体 如下图所示,请求体中应用了生成指定范围随机数函数,函数中的参数A为二元加法运算“$add(5,5)”、参数B为二元乘法运算“$multiply(5,5)”。 检查点属性 如下图所示,检查点属性“result”的目标值为生成指定范围随机数函数,函数中的参数A为数字“1”,参数B为局部参数“test”。局部参数的设置方式请参考局部参数。 if判断 如下图所示,if判断的目标值为生成指定范围随机数函数,函数中的参数A数字“1”,参数B为环境变量“status”。环境参数的设置方式请参考设置CodeArts TestPlan接口脚本的环境参数。 for循环中断条件 如下图所示,for循环中断条件的目标值为生成指定范围随机数函数,函数中的参数A为数字“1”、参数B为数字“100”。
  • 示例 请求url路径 如下图所示,请求url路径中参数“test”的值为生成指定长度随机字符串函数,函数中的参数A为数字“3”。 请求头 如下图所示,请求头中参数“string”的值为生成指定长度随机字符串函数,函数中的参数A为数字“3”。 请求体 如下图所示,请求体中应用了生成指定长度随机字符串函数,函数中的参数A为二元加法运算“$add(2,2)”。 检查点属性 如下图所示,检查点属性“result”的目标值为生成指定长度随机字符串函数,函数中的参数A为局部参数“test”。局部参数的设置方式请参考局部参数。 if判断 如下图所示,if判断的目标值为生成指定长度随机字符串函数,函数中的参数A为环境变量“status”。环境参数的设置方式请参考设置CodeArts TestPlan接口脚本的环境参数。 for循环中断条件 如下图所示,for循环中断条件的目标值为生成指定长度随机字符串函数,函数中的参数A为数字“3”。
  • 请求体 请求体是接口请求需要传递的消息(报文),支持文本、JSON请求体、表单参数三种格式。 当请求消息方式选择POST、PUT、DELETE、OPTIONS、PATCH、HEAD时,页面中会出现请求体;请求消息方式为GET时不显示请求体。 文本:可以输入标准json串,与选择JSON类型请求体使用方式一致。 表单参数:支持文本和文件两种类型。 文本类型:设置参数名和值。 文件类型:设置参数名,并通过上传文件为参数赋值,文件类型不限。
  • 请求URL与URL参数 在接口自动化用例的“脚本”页签中填写需要请求的URL、支持HTTP/HTTPS请求。 接口自动化可以支持以下类型URL请求方式。其中,新建的URL的请求方式默认为GET方式。 请求方式 说明 GET 从API检索数据。 POST 上传文件和添加新数据。 PUT 替换现有数据。 DELETE 删除现有数据。 HEAD 获取响应的HTTP头。 OPTIONS 预检请求。 PATCH 更新一些现有数据的字段。 在请求URL中支持使用环境参数、局部参数以及响应提取参数,使用方法请参考设置CodeArts TestPlan接口脚本的测试用例参数。
  • 请求头 接口自动化预置HTTP协议的常用请求头,在请求头模块,输入要填写的请求头信息。 请求头支持表单、文本两种格式。页面中默认使用表单形式,通过图标进行表单和文本的切换。 表单:在请求头“名称”列选择或输入请求头名称,在“值”列选择/输入内容。 文本:需要按照“key:value”的格式填写请求头。 与表单模式不同的是,文本模式仅支持对“请求头名称”和“值”进行配置操作,但不支持对“描述”进行配置操作。 填写请求头时需要关注以下两点约束条件: 请求头的总数不能超过30。 请求头的长度不能超过10000。 测试计划服务中预置了多个常用的HTTP请求头,详情如下表: 请求头名称 说明 Accept 能接受的回应内容类型(Content-Types),如:text/plain等。 Accept-Charset 能接受的字符集,如:utf-8等。 Accept-Encoding 能接受的编码方式列表:compress | gzip | identity。 Accept-Language 能接受的回应内容的自然语言列表,如:en-US等。 Accept-Datetime 能接受的按照时间来表示的版本。 Access-Control-Request-Method 用于预检请求让服务器知道哪些HTTP方法的实际请求时将被使用。 Access-Control-Request-Headers 用于预检请求让服务器知道哪些HTTP头的实际请求时将被使用。 Authorization 用于超文本传输协议认证的认证信息。 Cache-Control 用来指定在请求/响应链中的所有缓存机制都必须遵守的指令。 Connection 浏览器优先使用的连接类型。 Cookie 由服务器通过Set- Cookie发送的一个超文本传输协议Cookie。 Content-Length 以八位字节数组(8位的字节)表示的请求体的长度。 Content-MD5 请求体内容的二进制MD5散列值,以Base64编码的结果。 Content-Type 请求体的多媒体类型(用于POST和PUT请求中),如:application/json。 Date 发送消息的日期和时间。 Expect 表明客户端要求服务器做出特定的行为。 Forwarded 包含来自被改变或丢失时代理参与请求的路径代理服务器的面向客户端的信息。 用于调试,统计和生成依赖于位置的内容,并且通过设计它可以显示隐私敏感信息,例如客户端的IP地址。因此,在部署此标头时必须牢记用户的隐私。 From 发起请求的用户的邮件地址。 Host 服务器的 域名 (用于 虚拟主机 ),以及服务器所监听的传输控制协议端口号。如果所请求的端口是对应的服务的标准端口,则端口号可省略。 自超文件传输协议版本1.1(HTTP/1.1)开始是必需字段,在服务中如果URL中填写的域名为IP地址会自动添加该字段,否则请将被测应用的IP与端口信息填写在该字段。 If-Match 仅当客户端提供的实体与服务器上对应的实体相匹配时,才进行对应的操作。主要用作像PUT这样的方法中,仅在用户从上次更新某个资源以来,该资源未被修改的情况下,才更新该资源。 If-Modified-Since 允许在对应的内容未被修改的情况下返回304未修改( 304 Not Modified )。 If-None-Match 允许在对应的内容未被修改的情况下返回304未修改( 304 Not Modified ),参考超文本传输协议的实体标记。 典型用法中,URL被请求时,Web服务器会返回资源和其相应的ETag值,且会被放置在HTTP的ETag字段中,然后,客户端可以决定是否缓存该资源和相应的ETag。以后,如果客户端想再次请求相同的URL,将会发送一个包含已保存的ETag和If-None-Match字段的请求。 If-Range 如果实体未被修改过,则向发送方发送其所缺少的那一部分或多个部分,否则,发送整个新的实体。 If-Unmodified-Since 仅当实体自某个特定时间以来未被修改的情况下,才发送回应。 Max-Forwards 限制消息可被代理及网关转发的次数。 Origin 发起一个针对跨来源资源共享的请求。要求服务器在回应中加入一个“访问控制-允许来源”(Access-Control-Allow-Origin)字段。 Pragma 与具体的实现相关,这些字段可能在请求/回应链中的任何时候产生多种效果。 Proxy-Authorization 用来向代理进行认证的认证信息。 Range 仅请求某个实体的一部分,字节偏移从0开始。 Referer 表示浏览器访问的前一个页面上的某个链接将浏览器带到了当前所请求的这个页面。 TE 浏览器预期接受的传输编码方式:可使用回应协议头Transfer-Encoding字段中的值;还可用“trailers”(与“分块”传输方式相关)值来表明浏览器希望在最后一个尺寸为0的块之后还接收到一些额外的字段。 User-Agent 浏览器的浏览器身份标识字符串。 Upgrade 要求服务器升级到另一个协议。 Via 向服务器告知请求是由哪些代理发出的。 Warning 一个一般性的警告,告知在实体内容体中可能存在错误。
  • TCP 该系统关键字支持对TCP基础协议进行测试,如果需要使用该系统关键字,需要用户IP开放公网访问并且对应端口的安全组策略开启放行。 参数 是否必选 参数类型 默认值 描述 Host 是 String - TCP服务地址 Port 是 Integer - TCP服务端口 Connect Timeout 是 Integer - TCP服务连接超时时长 单位:MILLISECONDS Read Timeout 是 Long - 消息读取超时时间 单位:MILLISECONDS Check End Type 是 Enum CheckEndStr 消息结束标识: 数据长度(CheckEndLength), 结束字符(CheckEndStr) Body Type 是 Enum CharSequence 消息体数据类型: 标准字符串(CharSequence), 16进制码流(HexadecimalCodeStream)
  • 示例 请求url路径 如下图所示,请求url路径中参数“test”的值为生成UUID函数。 请求头 如下图所示,请求头中参数“time”的值为生成UUID函数。 请求体 如下图所示,请求体中应用了生成UUID函数。 检查点属性 如下图所示,检查点属性“result”的目标值为生成UUID函数。 if判断 如下图所示,if判断的目标值为生成UUID函数。 for循环中断条件 如下图所示,for循环中断条件的目标值为生成UUID函数。
  • MongoDBQuery响应示例 [ { "_id" : { "$oid" : "62465c42907c00003d0076fe" }, "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "test", "url" : "", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100.0 }, { "_id" : { "$oid" : "62465ce4907c00003d0076ff" }, "title" : "PHP 教程", "description" : "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。", "by" : "test", "url" : "", "tags" : [ "php" ], "likes" : 200.0 }, { "_id" : { "$oid" : "62465ce8907c00003d007700" }, "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。", "by" : "test", "url" : "", "tags" : [ "java" ], "likes" : 150.0 } ]
  • 示例 请求url路径 如下图所示,请求url路径中参数“test”的值为二元乘法运算函数,函数中的参数A、B均为“100”。 请求头 如下图所示,请求头中参数“add”的值为二元乘法运算函数,函数中的参数A为二元除法运算“$divide(1000,100)”、参数B为“-1”。 请求体 如下图所示,请求体中应用了二元乘法运算函数,函数中的参数A为二元加法运算“$add(1000,1000)”、参数B为二元减法运算“$subtract(1001,1000)”。 检查点属性 如下图所示,检查点属性“result”的目标值为二元乘法运算函数,函数中的参数A为局部参数“test”,参数B为“1”。局部参数的设置方式请参考局部参数。 if判断 如下图所示,if判断的目标值为二元乘法运算函数,函数中的参数A为数字“100”,参数B为环境变量“status”。环境参数的设置方式请参考设置CodeArts TestPlan接口脚本的环境参数。 for循环中断条件 如下图所示,for循环中断条件的目标值为二元乘法运算函数,函数中的参数A、B均为“100”。
  • 示例 请求url路径 如下图所示,请求url路径中参数“test”的值为二元加法运算函数,函数中的参数A、B均为“1000”。 请求头 如下图所示,请求头中参数“add”的值为二元加法运算函数,函数中的参数A为二元减法运算“$subtract(1001,1000)”、参数B为“-1”。 检查点属性 如下图所示,检查点属性“result”的目标值为二元加法运算函数,函数中的参数A为局部参数“test”,参数B为“1”。局部参数的设置方式请参考局部参数。 if判断 如下图所示,if判断的目标值为二元加法运算函数,函数中的参数A为数字“1”,参数B为环境变量“status”。环境参数的设置方式请参考设置CodeArts TestPlan接口脚本的环境参数。 for循环中断条件 如下图所示,for循环中断条件的目标值为二元加法运算函数,函数中的参数A、B均为“1000”。
  • 背景信息 性能自动化集成了华为云性能测试服务。性能测试服务(CodeArts PerfTest)是一项为基于HTTP/HTTPS/TCP/UDP/WebSocket/RTMP/HLS等协议构建的云应用提供性能测试的服务。 服务支持快速模拟大规模并发用户的业务高峰场景,可以很好的支持报文内容和时序自定义、多事务组合的复杂场景测试,测试完成后会为您提供专业的测试报告呈现您的服务质量。 性能自动化用例包含基本信息和测试脚本两部分: 基本信息用于管理和描述测试用例,包含用例名称(必填)、编号、标签、用例等级等信息,基本信息的编辑通过测试计划服务页面完成。 测试脚本定义测试步骤,包含请求、事务、阶段等,测试脚本的编辑将跳转至CodeArts PerfTest完成。
  • 示例 请求url路径 如下图所示,请求url路径中参数“test”的值为生成MD5哈希值函数,函数中的参数A为字符串“abc123”。 请求头 如下图所示,请求头中参数“Accept-Encoding”的值为生成MD5哈希值函数,函数中的参数A为字符串“abc123”。 请求体 如下图所示,请求体中应用了生成MD5哈希值函数,函数中的参数A为生成UUID函数“$uuid()”。 检查点属性 如下图所示,检查点属性“result”的目标值为生成MD5哈希值函数,函数中的参数A为局部参数“test”。局部参数的设置方式请参考局部参数。 if判断 如下图所示,if判断的目标值为生成MD5哈希值函数,函数中的参数A为环境变量“status”。环境参数的设置方式请参考设置CodeArts TestPlan接口脚本的环境参数。 for循环中断条件 如下图所示,for循环中断条件的目标值为生成MD5哈希值函数,函数中的参数A为字符串“abc123”。
  • 设置CodeArts TestPlan接口脚本的响应提取 响应提取是提取接口响应结果的某一部分,命名为参数,供后续测试步骤参数化调用。响应提取需要在前序测试步骤定义,后续测试步骤使用。 在前序测试步骤中,在“响应提取”页签创建要传递的参数。响应提取来源用到内置参数,请参考内置参数了解如何使用内置参数。响应提取同时支持正则表达式的匹配,提取出与给定正则表达式匹配的返回值。 在后续测试步骤中,通过${参数名}方式引用前序测试步骤创建的响应提取。后续步骤的URL、请求头、请求体中均可以引用此参数。如果在JSON格式的请求体中引用此参数,请在参数外使用英文引号,如: { id: "用例ID" name:"${name}" } 响应提取支持根据给定的“key:value”获取字符串,详细配置可参考示例:根据给定的key:value从响应体中获取字符串。 字段 说明 出参名称 用于之后使用${出参名称}来引用此参数,名称使用字母数字下划线。 来源 被检测字段的来源,如响应体(JSON)、响应头、响应码。 属性 在属性中,支持输入$调用全局变量、局部变量、内置函数。 若来源是响应码,属性为空。详细介绍请参见响应码检查。 若来源是响应头,属性为响应头中字段的名称。详细介绍请参见响应头检查。 若来源是响应体(JSON),属性有两种填写方法: 普通提取表达式(非“$”开头),例如“item.name”。 取字段中的值,支持嵌套取值。详细介绍请参见响应体(JSON)检查。 从响应体中提取数组时,下标可以是数字,也可以是“key:value”表达式,详细介绍请参见示例:根据给定的key:value从响应体中获取字符串。 JsonPath表达式(“$.”或“$[”开头),例如“$.store.book[0].title”。 详细介绍请参见示例:根据JsonPath从响应体中获取数据。 高级提取类型 可选项,使用高级提取类型,辅助提取响应结果信息,若选择不涉及则视为不使用额外的方式匹配。 目前有两种方式: 字符串提取,也就是字符串的截取,详见字符串提取说明。 正则表达式,即使用正则方式对来源字符串进行过滤,详见正则表达式说明。 高级提取类型优先使用字符串提取功能,若不能满足需求可考虑使用正则表达式。 赋值给环境动态参数 将响应提取后的值赋值给动态参数,用于后续测试引用该动态参数。 父主题: 使用自定义URL请求添加CodeArts TestPlan接口脚本
  • 执行详情 用户可以根据接口间的调用链路、链路的长度和链路的执行结果查看用例的执行详情,也可以对该条调用链提交工作项。 选择“执行详情”页签,页面展示调用链的执行列表。 单击“requestID”,可以查看当前调用链详情。 在详情页面中,单击调用的接口节点,可以查看对应接口的基本信息。 返回“执行详情”页面,在上方搜索栏中可以根据operationID、requestID、序列长度、序列结果找到对应的调用链。 单击操作列中的,可以为对应的调用链新建问题单。 单击页面右上边“切换接口视图”,页面展示所有执行的接口节点列表。在上方搜索栏中可以根据URL、响应码、序列长度、序列结果找到对应的接口节点。
  • DubboClient简介 该系统关键字支持对Dubbo协议进行测试,如果需要使用该系统关键字,需要用户将Duubo服务开放公网访问并且将对应端口的安全组策略开启放行。 参数 是否必选 参数类型 默认值 描述 Dubbo Server IP Address 是 String - Dubbo服务地址 Dubbo Server Port 是 Integer - Dubbo服务端口 Dubbo operation instruction 是 String LS dubbo操作指令,支持:LS,INVOKE。 Dubbo Registration API 是 String - Dubbo注册的API名称,常见形式为全限定类名。 Dubbo Registration API 是 String - Dubbo注册API对应的方法签名。
  • 示例 请求url路径 如下图所示,请求url路径中参数“test”的值为二元减法运算函数,函数中的参数A为“1001”、参数B为“1000”。 请求头 如下图所示,请求头中参数“subtract”的值为二元减法运算函数,函数中的参数A为二元乘法运算“$multiply(100,100)”、参数B为“-1”。 请求体 如下图所示,请求体中应用了二元减法运算函数,函数中的参数A二元除法运算“$divide(1000,100)”,参数B为二元加法运算“$add(1000,1000)”。 检查点属性 如下图所示,检查点属性“result”的目标值为二元减法运算函数,函数中的参数A为局部参数“test”,参数B为“1”。局部参数的设置方式请参考局部参数。 if判断 如下图所示,if判断的目标值为二元减法运算函数,函数中的参数A为数字“1001”,参数B为环境变量“status”。环境参数的设置方式请参考设置CodeArts TestPlan接口脚本的环境参数。 for循环中断条件 如下图所示,for循环中断条件的目标值为二元减法运算函数,函数中的参数A为“1001”、参数B为“1000”。
  • 背景信息 接口关键字中定义单个接口的请求,可以通过导入Swagger文件、保存自定义URL请求等方式生成。 Swagger是一个定义、开发、调试RESTful等接口的工具,使用Swagger可以标准化地定义接口属性,便于互联互通。接口自动化支持导入Swagger 2.0&3.0格式的接口描述文件、解析接口的定义描述、生成脚本模板,只需要按照模板输入接口参数就可以创建接口自动化用例。 通过导入接口Swagger描述文件可以生成脚本模板,一个脚本模板对应Swagger中的一个接口定义,基于脚本模板可以可视化编排测试用例。 脚本模板和Swagger接口描述中字段的对应关系如下: swagger 2.0规范如下: 脚本模板属性 Swagger接口定义属性 名称 默认使用operationId,可在设置中配置使用summary。 路径 schema + :// + basePath + path。 请求参数hostURL host 其它请求参数 parameters swagger 3.0规范如下: 脚本模板属性 Swagger接口定义属性 名称 默认使用operationId,可在设置中配置使用summary。 路径 url + path。 请求参数hostURL servers: - url: https://{hostURL}/variable variables: hostURL: default: test.demo.com 其它请求参数 parameters, requestBody, responses
  • 导入Swagger文件生成测试脚本 完成创建CodeArts TestPlan接口自动化测试用例模板操作,单击用例名称,选择“脚本”页签。 在右侧“关键字库”界面,单击“导入接口”。 单击“点击添加文件或拖拽上传”,选择配置好的Swagger接口文档,单击“确定”。 文档导入成功后,系统自动解析生成脚本模板。脚本模板包含了接口的基本描述信息。可以从“关键字库”界面单击或拖拽接口添加至测试步骤,只需要按模板输入接口参数就可以测试。
  • 系统关键字概述与一览表 接口自动化测试将常见的一些操作封装成关键字供用户使用,用于提升编写接口测试用例的效率,请参考表1。 系统关键字高阶特性为您提供65天试用期,后续需要开通测试计划专业版套餐或CodeArts专业版以上套餐来延续您的高阶体验。 表1 系统关键字一览表 分类 关键字集 认证类 在CodeArts TestPlan接口脚本中调用Get IAM Token关键字 在CodeArts TestPlan接口脚本中调用OAuth2For OneAccess 关键字 数据库操作类 在CodeArts TestPlan接口脚本中调用MySQLQuery关键字 在CodeArts TestPlan接口脚本中调用MySQLUpdate关键字 在CodeArts TestPlan接口脚本中调用MySQLInsert关键字 在CodeArts TestPlan接口脚本中调用MySQLDelete关键字 在CodeArts TestPlan接口脚本中调用OpenGaussQuery关键字 在CodeArts TestPlan接口脚本中调用OpenGaussUpdate关键字 在CodeArts TestPlan接口脚本中调用OpenGaussInsert关键字 在CodeArts TestPlan接口脚本中调用OpenGaussDelete关键字 在CodeArts TestPlan接口脚本中调用PostgreSQLQuery关键字 在CodeArts TestPlan接口脚本中调用PostgreSQLUpdate关键字 在CodeArts TestPlan接口脚本中调用PostgreSQLInsert关键字 在CodeArts TestPlan接口脚本中调用PostgreSQLDelete关键字 在CodeArts TestPlan接口脚本中调用MongoDBQuery关键字 在CodeArts TestPlan接口脚本中调用MongoDBInsert关键字 在CodeArts TestPlan接口脚本中调用MongoDBUpdate关键字 在CodeArts TestPlan接口脚本中调用MongoDBDelete关键字 中间件类 在CodeArts TestPlan接口脚本中调用RedisGet关键字 在CodeArts TestPlan接口脚本中调用RedisSet关键字 在CodeArts TestPlan接口脚本中调用OBSWrite关键字 在CodeArts TestPlan接口脚本中调用OBSDelete关键字 在CodeArts TestPlan接口脚本中调用OBSQuery关键字 在CodeArts TestPlan接口脚本中调用KafkaProducer关键字 在CodeArts TestPlan接口脚本中调用KafkaConsumer关键字 协议类 在CodeArts TestPlan接口脚本中调用TCP关键字 在CodeArts TestPlan接口脚本中调用UDP关键字 在CodeArts TestPlan接口脚本中调用WSConnect关键字 在CodeArts TestPlan接口脚本中调用WSRequest关键字 在CodeArts TestPlan接口脚本中调用WSWriteOnly关键字 在CodeArts TestPlan接口脚本中调用WSReadOnly关键字 在CodeArts TestPlan接口脚本中调用WSDisConnect关键字 在CodeArts TestPlan接口脚本中调用MQTTConnect关键字 在CodeArts TestPlan接口脚本中调用MQTTDisconnect关键字 在CodeArts TestPlan接口脚本中调用MQTTPublish关键字 在CodeArts TestPlan接口脚本中调用MQ TTS ubscribe关键字 在CodeArts TestPlan接口脚本中调用DubboClient关键字 父主题: 接口自动化用例系统关键字说明
  • MQTTSubscribe响应 参数 参数类型 描述 subscribe_result JSON 订阅消息MQTT服务端返回值。 unsubscribe_result - 取消订阅MQTT服务端返回值。 subscribe_result.status String MQTT服务端响应状态。 subscribe_result.message String MQTT服务端返回信息。 subscribe_result.data JSON APITest定义的接口返回。 data.request_begin Long 访问MQTT服务器的开始时间。 data.response_time Long MQTT服务器返回响应耗费时长。 data.sent_bytes Long 发送的字节数。 data.recv_bytes Long 接收的字节数。 data.return_code Integer MQTT服务器返回码。 message_result JSON MQTT服务器订阅返回的消息,每个消息产生一条记录。 message_result.status String MQTT获取订阅信息的状态结果。 message_result.message String 订阅消息时MQTT服务器返回的信息。 message_result.data JSON 订阅信息消息体。 message_result.data.more_msg Boolean 是否还有消息等待读取,消息订阅返回完成之后为false。 message_result.data.sent_bytes Long 发送字节数。 message_result.data recv_bytes Long 接收字节数。 message_result.data messages JSONArray 接收到的MQTT服务器消息。 messages[0].timestamp Long 接收这条消息的时间点。 messages[0].topic String 订阅的Topic。 messages[0].message String 接收的消息内容。 messages[0].qos String 设置的MQTT Qos级别。
  • MQTTSubscribe响应示例 { "subscribe_result" : { "status" : "success", "message" : "", "data" : { "request_begin" : 1656937043980, "response_time" : 37, "sent_bytes" : 13, "recv_bytes" : 5, "return_code" : 0 } }, "message_result" : { "status" : "success", "message" : "", "data" : { "more_msg" : false, "sent_bytes" : 0, "recv_bytes" : 35, "messages" : [ { "timestamp" : 1656937044017, "topic" : "test01", "message" : "This is a test message!", "qos" : 0 } ] } }, "unsubscribe_result" : { "status" : "success", "message" : "", "data" : { "request_begin" : 1656937044034, "response_time" : 0, "sent_bytes" : 10, "recv_bytes" : 4, "return_code" : 0 } } }
  • MQTTSubscribe简介 该系统关键字支持对MQTT协议的全流程测试,用以向MQTT服务器订阅并接受消息,最后取消订阅,如果需要使用该系统关键字,需要用户将MQTT服务器开放公网访问并且将对应端口的安全组策略开启放行。 参数 是否必选 参数类型 默认值 描述 MQTT连接标识(userId) 是 String ${MQTT_USER_ID} MQTT连接标识,作为用例的局部变量,由MQTTConnect返回并存储。 详见:MQTTConnect章节响应提取。 订阅的主题 是 String - 需要订阅的MQTT服务器的主题。 QoS级别 是 String 最多发送1次(0) MQTT QoS级别。 响应类型 是 String Text 消息响应类型:枚举值(Text和Binary)。支持文本(Text)或二进制(Binary)。 超时时间 是 Long - 连接MQTT服务器超时时间,单位:MILLISECONDS。 接受消息总数 是 Integer 10 APITest访问MQTT服务器之后保留的消息总数。 接受消息耗时 是 Long 1 接收消息最长的等待时间,单位:second。
  • 示例 请求url路径 如下图所示,请求url路径中参数“test”的值为获取指定时间戳函数,函数中的参数A为数字“3”。 请求头 如下图所示,请求头中参数“time”的值为获取指定时间戳函数,函数中的参数A为数字“3”。 请求体 如下图所示,请求体中应用了获取指定时间戳函数,函数中的参数A为二元加法运算“$add(2,2)”。 检查点属性 如下图所示,检查点属性“result”的目标值为获取指定时间戳函数,函数中的参数A为局部参数“test”。局部参数的设置方式请参考局部参数。 if判断 如下图所示,if判断的目标值为获取指定时间戳函数,函数中的参数A为环境变量“time”。环境参数的设置方式请参考设置CodeArts TestPlan接口脚本的环境参数。 for循环中断条件 如下图所示,for循环中断条件的目标值为获取指定时间戳函数,函数中的参数A为数字“3”。
  • 示例 请求url路径 如下图所示,请求url路径中参数“test”的值为时间戳加减运算函数,函数中的参数A为“1607939485441”、参数B为“1d”。 请求头 如下图所示,请求头中参数“time”的值为时间戳加减运算函数,函数中的参数A为日期转时间戳函数“$dateFormat(2020.09.11 11:00:00)”、参数B为“-86400s”。 请求体 如下图所示,请求体中应用了时间戳加减运算函数,函数中的参数A为日期转时间戳函数“$dateFormat(2020.09.11 11:00:00)”、参数B为“1d”。 检查点属性 如下图所示,检查点属性“result”的目标值为时间戳加减运算函数,函数中的参数A为环境参数“time”、参数B为“-24h”。环境参数的设置方式请参考设置CodeArts TestPlan接口脚本的环境参数。 if判断 如下图所示,if判断的目标值为时间戳加减运算函数,函数中的参数A为环境变量“status”、参数B为数字“1d”。环境参数的设置方式请参考设置CodeArts TestPlan接口脚本的环境参数。 for循环中断条件 如下图所示,for循环中断条件的目标值为时间戳加减运算函数,函数中的参数A为“1607939485441”、参数B为“1d”。
  • 测试执行流程与实践 华为云CodeArts TestPlan的测试执行功能,提供手工及多种自动化执行方式来按照测试执行策略的指导实现产品的测试,在产品发布前发现尽可能多的缺陷,回答产品质量如何的终极问题。 表1 本流程阶段活动描述 关键活动 活动描述 活动输入 活动输出 测试执行 测试工程师进行测试执行,发现并通过缺陷跟踪功能报告缺陷。 测试策略 测试方案 测试用例 测试发现的缺陷 可靠性试验 旨在验证产品可靠性规格指标是否达到规定的要求,暴露设计、工艺、材料等方面的缺陷,寻找产品的薄弱环节并明确改进措施的可靠性试验。 可靠性试验方案、用例 可靠性试验报告 缺陷分析 测试经理组织测试工程师对所发现缺陷进行分析,评估产品质量状况,分析结果将作为测试报告的输入。 缺陷 缺陷分析报告 父主题: IPD测试流程与实践
  • 背景信息 关键字驱动测试是一种测试自动化的技术,通过提供一组称为关键字的“构建块”创建自动化测试用例。关键字驱动测试可用于组件测试、系统测试等不同的测试级别,其优势体现在易用性、可理解性、可维护性、测试信息的重用、支持测试自动化、节约潜在的成本和进度等方面。 在设计测试用例时,经常会遇到有一些相同的前置步骤或者测试逻辑。如果每一个测试用例中都编写这些步骤,重复工作量很大,并且难以维护。测试关键字可以帮助复用这些测试步骤。 关键字库将接口关键字、组合关键字、系统关键字、自定义关键字进行统一管理,打造一站式关键字管理能力,在用例脚本设计时用户体验保持一致。 接口关键字中定义单个接口的请求,可以通过导入Swagger文件、保存自定义URL请求等方式生成。 接口关键字请参见将测试步骤保存为CodeArts TestPlan接口脚本关键字。 组合关键字用于将多个步骤封装常用测试逻辑,可以被测试用例调用实现逻辑复用。组合关键字请参见将测试步骤保存为CodeArts TestPlan组合脚本关键字。 系统关键字涵盖认证、协议、中间件、数据库四大类别,覆盖身份认证、复杂协议、数据处理、数据预置、数据验证、接口集成等丰富场景。系统关键字请参见接口自动化用例系统关键字说明。 自定义关键字具备高度的扩展性,用户可以在本地编写代码完成自定义关键字的开发,满足高阶用户的复杂场景测试诉求。
  • 实例 请求url路径 如下图所示,请求url路径中参数“test”的值为大写转小写运算函数,函数中的参数A为“TEST”。 请求头 如下图所示,请求头中参数“lower”的值为大写转小写运算函数,函数中的参数A为“Test”。 请求体 如下图所示,请求体中应用了大写转小写运算函数,函数中的参数A为“Test”。 检查点属性 如下图所示,检查点属性“result”的目标值为大写转小写运算函数,函数中的参数A为“Test”。 if判断 如下图所示,if判断的目标值为大写转小写运算函数,函数中的参数A为“AAAAA”。 for循环中断条件 如下图所示,for循环中断条件的目标值为大写转小写运算函数,函数中的参数A为“OK”。
  • 测试设计流程与实践 华为云CodeArts TestPlan的测试设计功能,覆盖了测试需求分析与计划、测试方案设计两个阶段,在这两个阶段: 测试经理基于产品层面的设计需求和规格,根据测试工程方法建立详细的、归一化的测试规格,作为测试任务分解分配的基础,回答我们要测试什么的问题; 制定总体测试策略和测试与验证计划,进行产品总体测试策略规划,并完成测试与验证计划的制定,回答如何安排测试、达到什么测试目标的问题。 表1 本流程阶段活动描述 关键活动 活动描述 活动输入 活动输出 测试需求分析 测试经理负责组织测试分析人员进行测试的需求分析,包括自动化测试需求分析。 产品包需求 设计需求 设计规格 产品测试规格 测试需求分析报告 产品总体测试策略制定 测试经理负责制定产品的总体测试策略,明确测试设计策略、SDV/SIT/SVT阶段的测试执行阶段策略。 产品研发策略 产品包验证主计划 迭代计划 产品总体测试策略 制定测试与验证计划 测试经理组织测试工程师依据产品测试工作陈述、产品包验证主计划、产品研发计划、总体测试策略并根据估计结果制定测试与验证计划。 产品包验证主计划 测试估计结果 产品业务计划及端到端计划(研发) 总体测试策略 测试与验证计划、端到端测试工作分解结构 特性测试需求分析 测试经理组织本小组成员根据测试设计策略对所分配的测试特性开展进一步分析活动。 分配为该特性的产品测试规格 总体测试策略 测试分析设计表 特性测试方案设计 依据特性测试需求分析结果,测试经理组织成员完成所分配特性的测试方案设计。 测试分析设计表 特性测试方案 SDV/SIT/SVT测试策略设计 测试经理负责组织测试团队共同制定SDV/SIT/SVT测试执行策略。 总体测试策略 各特性测试方案 SDV/SIT/SVT测试策略 父主题: IPD测试流程与实践
  • 自定义字段配置 用户可以根据需要设置自定义字段,设置成功的字段将显示在测试用例的详情中。 在测试用例设置中,单击“新增字段”。 输入“字段名称”、“描述”。选择“字段类型”,打开或关闭“是否显示”以及“是否必填”,单击“确定”。 单行文本:只能输入一行字段,最大长度不超过100个字符。 多行文本:可以输入多行字段,最大长度500个字符。 单选列表:用户可以在字段中单选设置的信息,单击“增加选项”完成配置,最大添加10个选择。 多选列表:用户可以在字段中多选设置的信息,单击“增加选项”完成配置,最大添加10个选择。 日期时间:用户可以设置日期和时间。 日期:用户可以设置日期。 整数:用户可以在字段中输入整数,可以输入-9999999999到9999999999范围内的值。 小数:用户可以在字段中输入小数,最大支持小数点后两位。 单选用户:在下拉栏中选择用户。 多选用户:在下拉栏中可以勾选多个用户。 新建成功的字段显示在列表中,单击可以重新编辑对应的字段,单击可以删除对应的字段。
  • 示例 请求url路径 如下图所示,请求url路径中参数“test”的值为字符串拼接运算函数,函数中的参数A为“abc”, 参数B为“123”。 请求头 如下图所示,请求头中参数“number”的值为字符串拼接运算函数,函数中的参数A为“00000”, 参数B为环境参数“$${number}”。 请求体 如下图所示,请求体中应用了字符串拼接运算函数,函数中的参数A为环境参数“$${info}”, 参数B为环境参数“$${number}”。 检查点属性 如下图所示,检查点属性“result”的目标值为字符串拼接运算函数,函数中的参数A为局部参数“${str1}”, 参数B为局部参数“${str2}”。 if判断 如下图所示,if判断的目标值为字符串拼接运算函数,函数中的参数A为“abc”, 参数B为“123”。 for循环中断条件 如下图所示,for循环中断条件的目标值为字符串拼接运算函数,函数中的参数A为“0000”,参数B为“1111”。
共100000条