自动化回归功能基于服务契约信息快速编排被测服务、管理自动化测试用例,帮助您高效管理、回归业务测试场景,完成业务快速验证和交付。本文介绍如何创建及执行Spring Cloud测试用例。

创建Spring Cloud测试用例

  1. 登录EDAS控制台
  2. 在左侧导航栏,选择流量管理 > 微服务治理 > Spring Cloud
  3. Spring Cloud左侧导航栏,单击自动化回归(用例管理)
  4. 自动化回归(用例管理)页面顶部菜单栏选择地域,在页面中选择微服务空间,然后单击创建用例
  5. 创建用例页面,单击右侧的下拉箭头图标,设置相关参数信息。
    创建测试用例
    配置项描述
    用例名称自定义测试用例名称。
    应用选择需要测试的应用。
    框架类型选择Spring Cloud框架。
    Path设置HTTP相对路径,例如/getIp
    基本信息设置请求方法和ContentType。请求方法包括GET/POST/PUT/DELETE,ContentType包括x-www-form-urlencoded和raw,不同的ContentType提供不同可视化的参数输入方式。
    • x-www-form-urlencoded:表单输入,传递的参数格式为[{"name": "cart"},{"age": 20}]
    • raw:默认为application/json JSON格式输入,传递的参数格式为{"name": "cart", "age": 20}。其他格式输入,传递的参数格式按输入文本的传输。

    关于Spring Cloud微服务支持的ContentType类型,请参见Spring Cloud参考示例

    请求头设置请求头参数信息。
    断言(选填)输入检查对象检查内容,选择检查条件
    出参提取(选填)输入出参名出参提取表达式
  6. 单击右侧的访问一次,在单步骤调试结果面板,查看此次请求入参和请求出参。
  7. 单击出参提取助手,在出参提取助手对话框,单击需要提取的出参名,复制该参数。
  8. 断言(选填)下方的检查对象中粘贴所复制的参数,选择检查条件,输入检查内容
  9. 出参提取(选填)下方的出参提取表达式中粘贴所复制的参数,并自定义出参名。设置完成后,单击右上方的保存配置
    您可在用例列表中查看创建的测试用例。

创建多步骤串联的测试用例

说明 一个测试用例可以包含多个测试步骤,当后序的测试步骤依赖前序的测试步骤的输出时,需要使用参数传递。
  1. 登录EDAS控制台
  2. 在左侧导航栏,选择流量管理 > 微服务治理 > Spring Cloud
  3. Spring Cloud左侧导航栏,单击自动化回归(用例管理)
  4. 自动化回归(用例管理)页面顶部菜单栏选择地域,单击目标用例右侧操作列的详情
  5. 用例详情页面,单击右侧的访问一次,在单步骤调试结果面板,查看请求入参和请求出参。
  6. 单击出参提取助手,在出参提取助手对话框,选择需要提取的出参参数进行复制。
  7. 出参提取(选填)下方的出参提取表达式中粘贴所选择的出参表达式,并自定义出参名
  8. 单击+添加测试步骤右侧的下拉箭头,然后单击添加测试步骤,增加多个测试步骤。
  9. 在该测试步骤的基本信息区域,ContentType选中raw,在JSON格式化中输入引用变量名${XXX}
    说明 XXX为前序步骤的出参提取中设置的出参名,用${ }格式引用。
  10. 单击右上方的保存配置,然后单击立即执行

执行测试用例

  1. 登录EDAS控制台
  2. 在左侧导航栏,选择流量管理 > 微服务治理 > Spring Cloud
  3. Spring Cloud左侧导航栏,单击自动化回归(用例管理)
  4. 在顶部菜单栏选择地域
  5. 您可选择以下两种方式执行测试用例。
    • 用例列表(用例管理)页面,单击目标用例右侧操作列的执行
    • 用例列表(用例管理)页面,单击目标用例右侧操作列的详情,在用例详情页面,单击立即执行执行测试用例
    您可在执行历史页签查看详细执行结果。

相关操作

您还可以执行以下操作管理测试用例。

  • 复制测试用例:在自动化回归(用例管理)列表页面,单击操作列的复制,生成一条新的测试用例。
  • 删除测试用例:在自动化回归(用例管理)列表页面,单击操作列的删除,删除该测试用例。

Spring Cloud参考示例

ContentType参数编写格式
x-www-form-urlencoded在表单中以key-value对的方式填入,传递的参数格式:[{"name": "cart"},{"age": 20}]
raw
  • JSON(application/json):JSON字符串,如:{"name": "cart", "age": 20}。
  • XML(application/xml):Application/XML类型的XML字符串。
  • XML(text/html):TEXT/XML类型的XML字符串。
  • HTML(text/html):HTML字符串。
  • JavaScript(application/javascript):JavaScript字符串。
  • Text(text/plain):纯文本格式的编码形式(TEXT/XML/HTML)。