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

在空手道中创建动态预期响应并维护测试数据以创建它们

曾航
2023-03-14

我正在寻找一种解决方案,在空手道中动态断言一个json响应,并为每个测试用例不同地维护数据。以下是回应示例:

[{
    "id": "Level 1 id",
    "name": "Name 1",
    "description": [{
            "locale": "locale 1",
            "description": "description 1"
        },
        {
            "locale": "locale2",
            "description": "description2"
        }
    ],
    "type": "type1",
    "Value": 100.0,
    "ObjectType": "test123",
    "Object": [{
            "id": "1",
            "groupName": "OBJECT1",
            "filterCriteria": "filter1",
            "TypeMethod": "method1",
            "nGroup": "AND1",
            "criteria": [{
                    "name": "multiple objects but no arrays"
                },
                {
                    "name": "multiple objects but no arrays"
                },
                {
                    "name": "multiple objects but no arrays"
                }
            ]
        },
        {
            "id": "2",
            "groupName": "OBJECT2",
            "filterCriteria": "filter2",
            "TypeMethod": "method2",
            "nGroup": "AND2",
            "criteria": [{
                    "name": "multiple objects here but no arrays"
                },
                {
                    "name": "multiple objects here but no arrays"
                },
                {
                    "name": "multiple objects here but no arrays"
                },
                {
                    "id": "3",
                    "groupName": "OBJECT3",
                    "filterCriteria": "filter3",
                    "TypeMethod": "method3",
                    "nGroup": "AND3",
                    "criteria": [{
                            "name": "multiple objects but no arrays"
                        },
                        {
                            "name": "multiple objects but no arrays"
                        },
                        {
                            "name": "multiple objects but no arrays"
                        }
                    ]
                }
            ]
        }
    ]
}]

我想断言id,名称,描述和对象数组,其值根据不同的id的变化。我知道模式方法,但我需要断言具体的价值。我还尝试了匹配功能,为每个测试用例保留json文件,但在不同的测试环境中很难维护。有人能帮我最好的方法来断言,以及如何维护测试数据。

共有1个答案

穆单鹗
2023-03-14

不要这样做。

这是我观察到一些团队空手道出了问题后的建议。这些团队通常来自编程或Java背景,并期望测试用例也必须显示“重用”和“干燥”。

有关尝试进行过多重复使用并将多个测试流合并到一个“路径”中时发生的情况的示例,请参阅堆栈溢出的另一个答案:https://stackoverflow.com/a/54126724/143475

也就是说,您可以有一个单独的JSON文件,然后使用set关键字或嵌入式表达式替换不同场景的某些部分。请花些时间阅读链接的文档和示例。它会回答你所有的问题。然后在堆栈溢出上问一些具体的问题,而不是像你在这里问的那样的“一揽子”问题。

 类似资料:
  • 问题内容: 我认为我的问题似乎很随意,但请耐心等待,因为它变得很有趣(至少对我来说:)。 考虑一个PHP页面,其目的是从文件系统读取请求的文件并将其作为响应回显。现在的问题是如何为该页面启用缓存?需要指出的是,文件可能非常庞大,启用缓存是为了避免客户端一次又一次下载相同的内容。 理想的策略是使用“ If-None-Match”请求标头和“ ETag”响应标头,以实现反向代理缓存系统。即使我已经知道

  • 我使用一个变量来读取XML文件,然后将其分配给另一个名为Payload的变量。将XML作为CDATA传递到有效负载中;我的有效载荷结构不会改变。我必须用不同的XML文件ie、不同的CDATA进行三到五次连续的SOAP调用。现在我正在重复这段代码来进行三到五个连续的SOAP调用,有没有什么方法可以避免重复相同的代码或者你能给我一个更好的编写方法。

  • 问题内容: 我想动态创建一个二维数组。 我知道列数。但是行数正在动态更改。我尝试了数组列表,但它仅将值存储在单个维度中。我能做什么? 问题答案: 由于列的数量是恒定的,你可以有一个的。 由于它以a 为后缀,因此行数可以动态增加和减少。每行都有一个,它是静态的,但是您说列数是固定的,因此这不是问题。

  • 主要内容:1. 插入命令,2. 执行测试脚本在本节中,将学习如何使用Selenium IDE中手动创建测试用例。 简单来说,我们将通过插入selenium命令而不是记录选项来创建测试用例。 对于此测试,在任何公开可用的搜索引擎(例如:百度,Google?)上搜索文本操作。 随后,将在同一个测试套件中创建一个Login测试用例(读者自己练习)。 要手动创建测试用例,首先必须完成在上一节中讨论过的最常用的selenium命令。 现在,将在搜索引

  • 我想用Cucumber测试使用PostgreSQL数据库的Ruby-on-Rails网站。 我还安装了FactoryGirl宝石,这样我就可以创建工厂了。 我知道为测试数据库创建数据的典型方法是编写Gherkin表并将它们放在cucumber文件的后台块中。但是我已经有了一个创建适合测试数据库的samle数据的Ruby脚本。 然而,我现在迷失在cucumber的环境中。您能否建议如何让Cucumb

  • 我正在创建一个Android应用程序,为了使其工作,我需要动态创建一个多维(2D): 我把代码留给您,以便让您理解它是如何被排序的,这样您就可以清除它来添加这个特性(可能我不仅想要代码本身的装饰,还想要对其中的内容有一个几乎详细的解释,我会非常感谢的! http://imgur.com/a/ajyoe