当前位置: 首页 > 知识库问答 >
问题:

在不同环境和特定url上运行空手道测试

唐星晖
2023-03-14

我正在为我的QA项目做研究,我想知道空手道是否能够处理某些用例。基本上,我需要为不同的环境(本地、临时、生产)运行测试。我从文档中了解到,这不是一个问题,因为有了karate-config.js和karate-config-env.js。

问题从执行本身开始。每个环境对于3个不同的国家都有不同的URL,所以实际上总共有9个URL。此外,由于开发过程的原因,某些功能并不是在所有国家同时部署的。所以我想能够运行针对:1-为一个国家(一个url)2-为所有国家(同一个请求有3个url,我想我可以使用并行执行)的测试

json结构对于所有的环境和国家都是一样的,我想用不同的配置执行一个请求。我在考虑TDD,但我不确定如果我只为一个国家执行测试,是否可以跳过Scenario Outline表中的某些行。有可能吗?还是有别的办法?感谢任何建议。

共有1个答案

祁杰
2023-03-14

您可以“标记”场景大纲行。参见文档:https://github.com/intuit/karate#tags-and-examples

Scenario Outline: examples partitioned by tag
* def vals = karate.tagValues
* match vals.region[0] == expected

  @region=US
  Examples:
    | expected |
    | US       |

  @region=GB
  Examples:
    | expected |
    | GB       |

一旦您理解了JSON、操作JSON和数据驱动测试的工作原理,Karate几乎可以处理任何数据驱动的挑战。以下是一些答案,会给你进一步的想法来考虑:

https://stackoverflow.com/A/61685169/143475

https://stackoverflow.com/A/59162760/143475

 类似资料:
  • 我正在使用两种不同的环境进行测试-Dev env没有身份验证(因此我们不必传递头),QA env托管在API网关上。我试图设计测试,使测试能够在两种环境中运行。 以下是我所做的: > 在karate-config.js中定义客户端机密和客户端Id。将dev的这两个变量设置为null。 功能:获取令牌 任何关于如何在同一个项目上运行带有和不带有身份验证的测试的指针都将受到赞赏。

  • 我无法在我的功能中运行空手道测试 不知道我错过了什么。对于api自动化世界来说是非常新的。非常感谢任何帮助。

  • 我有五个不同的URLendpoint(环境)用于生产和QA,我需要在一次运行中在所有这些生产环境中执行相同的特性,并在一个cucumber报告中得到结果-(在TestNG中,我将每个环境作为参数传递到单独的XML文件中,然后使用一个公共的TestNG.XML文件,该文件包含所有这些不同环境的XML)。 我如何在Karate-config文件中管理这个? 我有以下生产环境ProdV1、ProdV2、

  • 并将我的文件保存如下: Runner类: 把这个放到我的大楼里。格雷德尔: 但我得到的回应是: 但是,我不能看到我的测试是否通过。我做错了什么? 分级版本:2.14.1

  • 我有一个Selenium测试,它是在Spock框架的帮助下执行的。一般来说,它是这样的: null

  • 我有以下xml: 我有两个测试用例: 我想用单一指南测试。 我想用两个向导测试。 我为两个测试用例创建了2个独立的xml,它起作用了。这里的问题是如何使用通用的xml?我也尝试使用删除,但我如何从xml删除单个guid?