我正在编写一个自动化测试。我有一个端点URL'https://deckofcardsapi.com/api/deck/new/shuffle/?deck_count=1'
。当我进入这个端点时,会打印出文本。
在我的测试中,有什么方法可以验证打印的文本中的一些数据吗。例如,当我转到端点时验证剩余值为52。
{
"deck_id":"qzpre4zxokj7",
"shuffled":true,
"remaining":52,
"success":true
}
您可以使用JSON解析器提取remaining
值。
NuGet包:
Newtonsoft.Json
我以为你在回复中收到了下面的文字。因此,请使用以下代码提取剩余值
{
"deck_id":"qzpre4zxokj7",
"shuffled":true,
"remaining":52,
"success":true
}
代码:
var expectedValue =52;
var apiResponse = <<Stroe the API Text Response>>;
var jsonObject = JObject.Parse(apiResponse);
var remaining = jsonObject["remaining"].ToString();//It will retrun the value as 52
var actualValue = Int64.Parse(remaining);
Assert.AreEqual(expectedValue, actualValue);//Validate the remaing Value from the API Response
这很可能是一个"REST"端点。当您从该端点执行GET时,它将返回"JSON"(JavaScript对象表示法(。您看到的是一个以JSON格式返回的对象。该对象有4个属性(deck_id、shuffled、remaining和success(。"剩余"的值为52。找到一个JSON解析器,您应该能够看到这一点。
如果你在互联网上搜索,你会发现Selenium工具可以解析JSON(对不起,我不是这方面的专家(。