云服务器内容精选

  • 内置参数 内置参数是将HTTP/HTTPS响应的对应部分参数化,在检查点、响应提取功能中的“来源”选项中可以选择内置参数。 测试计划服务中的内置参数如下表: 内置参数 参数说明 是否支持多级取值 用途 举例 响应体(json) 表示接口返回的响应体。 是 检查点的属性字段 参数传递的属性字段 检查点:判断响应体中的id等于100。 设置方法:设置检查点来源为响应体(JSON),属性为id(前提条件响应体JSON串有id字段),设置比较符为等于(字符串、不区分大小写),设置目标值为100。 响应头 表示接口返回的响应头。 是 检查点的属性字段 参数传递的属性字段 检查点:判断响应头中的token等于abcd。 设置方法:设置来源为响应头,属性为token(前提条件响应头有token),设置比较符为等于(字符串、不区分大小写),设置目标值为abcd。 响应码 表示接口返回的响应码。 否 检查点的属性或值字 变量的属性字段 检查点:判断响应码等于200。 设置方法:设置来源为响应码,设置比较符为等于(数字),设置目标值为200。 内置参数支持多级取值,例如 响应体为“{"result":{"appId":12}}”时,则取appId的格式为:来源选择响应体,属性为“result.appId”。如果result是数组格式。则属性为“result[i].appId”,其中,i为非负整数。
  • 局部参数 局部参数使用范围是当前测试用例,如:测试步骤的参数、检查点、变量等都可以引用局部参数。 局部参数引用形式为“${参数名}”,如:参数名为“hostIp”,则可以使用“${hostIp}”来引用该参数。 局部参数主要配置项如下: 表1 参数主要配置项 配置项 是否必填 描述 名称 是 支持中英文、数字、点号、中文短横线、下划线的半角字符,并且长度范围是1~300。 类型 是 支持文本、随机字符串、随机整数、时间戳、格式化时间戳、生成UUID、Base64编码、MD5哈希值、密码或认证信息、SHA512编码。 详情介绍请参考表2。 描述 否 对参数的简要描述,上限为3000字符。默认为当前参数类型的描述。 单击“文本框”后,用户可以直接输入文本描述。 单击,输入一个json,单击“Json转换”,可以给没有换行的Json添加换行和缩进,单击“回填”添加成功。 值 否 用户可以为不同类型的参数赋值,详情请参考表2。 敏感变量 否 勾选为敏感数据后,测试计划对参数值加密存储,在测试结果日志中使用星号覆盖处理。敏感数据类型适用并不限于个人信息、鉴权信息,例如姓名、地址、用户名等。 动态变量 否 动态参数的值可以在用例执行过程中被赋值。动态参数初始值可为空,被赋值之后,此处显示的是最新值。 动态参数赋值方法:在用例测试步骤“响应提取”的“赋值给环境动态参数”中设置后,在测试执行时,响应提取的内容将被赋值给动态参数。 表2 参数类型 名称 描述 文本 上限为10000字符,支持设置“敏感参数”、“动态参数” ,默认为否。 随机字符串 随机生成指定长度字符串,随机字符串的变量值长度校验范围【1-9999】,不支持设置“敏感参数”及“动态参数”。 随机整数 随机生成指定范围整数,区间范围校验为【-999999999~999999999】,不支持设置“敏感参数”及“动态参数” 。 例如:设置【-9999,9999】 ,会获取这个区间内的随机整数。 时间戳 无需输入,生成当前整数时间戳,不支持设置“敏感参数”及“动态参数”。 格式化时间戳 格式为yyyy-MM-dd HH:mm:ss 或yyyy-MM-dd,不支持设置“敏感参数”及“动态参数”。 例如:1.yyyy-MM-dd HH:mm:ss:33250825252000 , 预期值为3023-09-05 20:20:52。 2.yyyy-MM-dd:33250825252000,预期值为3023-09-05。 生成UUID 无需输入,不支持设置“敏感参数”及“动态参数”。 Base64编码 使用Base64方法编码参数,上限为256字符,不支持设置“敏感参数”及“动态参数”。 MD5哈希值 使用指定参数生成MD5哈希值,上限为256字符,不支持设置“敏感参数”及“动态参数”。 密码或认证信息 上限为256字符,不支持设置“敏感参数”及“动态参数”。默认勾选“敏感参数”。 SHA512编码 上限为256字符,不支持设置“敏感参数”及“动态参数”。默认勾选“敏感参数”。 数组 数组的内容是json数组格式,上限为10000字符,不支持设置“敏感参数”及“动态参数”。 局部参数配置方法如下: 在界面新建变量 进入接口自动化用例编辑的“脚本”页签,单击图标。 单击左上方“新建变量”,输入参数名、类型、值。 全部参数设置完毕,单击“保存”。 从本地批量导入变量 进入接口自动化用例编辑的“脚本”页签,单击图标。 单击“导入”。 在弹框中单击“下载模板”。 按照模板中的格式要求填写参数信息,返回页面,在弹框中单击,上传编写好的文档,单击“确定”。 查看导入结果: 导入成功:列表中将新增参数,新增的参数条数与Excel中编辑的行数相同。 导入失败:页面右上角会显示弹框提示失败,单击“详情”可以查看错误原因,修改后请重新导入。
  • 示例 请求url路径 如下图所示,请求url路径中参数“test”的值为二元加法运算函数,函数中的参数A、B均为“1000”。 请求头 如下图所示,请求头中参数“add”的值为二元加法运算函数,函数中的参数A为二元减法运算“$subtract(1001,1000)”、参数B为“-1”。 检查点属性 如下图所示,检查点属性“result”的目标值为二元加法运算函数,函数中的参数A为局部参数“test”,参数B为“1”。局部参数的设置方式请参考局部参数。 if判断 如下图所示,if判断的目标值为二元加法运算函数,函数中的参数A为数字“1”,参数B为环境变量“status”。环境参数的设置方式请参考设置环境参数。 for循环中断条件 如下图所示,for循环中断条件的目标值为二元加法运算函数,函数中的参数A、B均为“1000”。
  • 背景信息 关键字驱动测试是一种测试自动化的技术,通过提供一组称为关键字的“构建块”创建自动化测试用例。关键字驱动测试可用于组件测试、系统测试等不同的测试级别,其优势体现在易用性、可理解性、可维护性、测试信息的重用、支持测试自动化、节约潜在的成本和进度等方面。 在设计测试用例时,经常会遇到有一些相同的前置步骤或者测试逻辑。如果每一个测试用例中都编写这些步骤,重复工作量很大,并且难以维护。测试关键字可以帮助复用这些测试步骤。 关键字库将接口关键字、组合关键字、系统关键字、自定义关键字进行统一管理,打造一站式关键字管理能力,在用例脚本设计时用户体验保持一致。 接口关键字中定义单个接口的请求,可以通过导入Swagger文件、保存自定义URL请求等方式生成。 组合关键字用于将多个步骤封装常用测试逻辑,可以被测试用例调用实现逻辑复用。 系统关键字涵盖认证、协议、中间件、数据库四大类别,覆盖身份认证、复杂协议、数据处理、数据预置、数据验证、接口集成等丰富场景。 自定义关键字具备高度的扩展性,用户可以在本地编写代码完成自定义关键字的开发,满足高阶用户的复杂场景测试诉求。
  • 导读 接口自动化测试将常见的一些操作封装成关键字供用户使用,用于提升编写接口测试用例的效率,请参考表1。 系统关键字高阶特性为您提供65天试用期,后续需要开通测试计划专业版套餐或CodeArts专业版以上套餐来延续您的高阶体验。 表1 系统关键字一览表 分类 关键字集 认证类 认证类—GetIAMToken 认证类—OAuth2ForOneAccess 数据库操作类 数据库类—MySQLQuery 数据库类—MySQLUpdate 数据库类—MySQLInsert 数据库类—MySQLDelete 数据库类—OpenGaussQuery 数据库类—OpenGaussUpdate 数据库类—OpenGaussInsert 数据库类—OpenGaussDelete 数据库类—PostgreSQLQuery 数据库类—PostgreSQLUpdate 数据库类—PostgreSQLInsert 数据库类—PostgreSQLDelete 数据库类—MongoDBQuery 数据库类—MongoDBInsert 数据库类—MongoDBUpdate 数据库类—MongoDBDelete 中间件类 中间件类—RedisGet 中间件类—RedisSet 中间件类—OBSWrite 中间件类—OBSDelete 中间件类—OBSQuery 中间件类—KafkaProducer 中间件类—KafkaConsumer 协议类 协议类—TCP 协议类—UDP 协议类—WSConnect 协议类—WSRequest 协议类—WSWriteOnly 协议类—WSReadOnly 协议类—WSDisConnect 协议类—MQTTConnect 协议类—MQTTDisconnect 协议类—MQTTPublish 协议类—MQTTSubscribe 协议类—DubboClient 父主题: 接口自动化用例系统关键字
  • 示例 请求url路径 如下图所示,请求url路径中参数“test”的值为生成当前时间戳函数。 请求头 如下图所示,请求头中参数“time”的值为生成当前时间戳函数。 请求体 如下图所示,请求体中应用了生成当前时间戳函数。 检查点属性 如下图所示,检查点属性“result”的目标值为生成当前时间戳函数。 if判断 如下图所示,if判断的目标值为生成当前时间戳函数。 for循环中断条件 如下图所示,for循环中断条件的目标值为生成当前时间戳函数。
  • OpenGaussQuery响应示例 [ { "name": "张三", "id": "efdb403066474ab08836b9eeaaa23bca", "age": 18 }, { "name": "李四", "id": "g582b0d966611486f918bedb9c711b14", "age": 20 } ]
  • 正则表达式示例 以下面响应体为例: 若检查点验证响应体中“result”数组的第一个元素的“remoteUrl”,使用正则匹配得到IP值和目标值比较,则配置如下。其中,正则表达式类型值设置为“((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)”。 若响应提取响应体中“result”数组的第一个元素的“remoteUrl”,使用正则匹配得到IP值赋值给变量“remoteIp”,则配置如下。其中,正则表达式类型值设置为“((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)”。
  • MySQLQuery响应示例 [ { "name": "张三", "id": "efdb403066474ab08836b9eeaaa23bca", "age": 18 }, { "name": "李四", "id": "g582b0d966611486f918bedb9c711b14", "age": 20 }]