如何从API端点C#验证文本

时间:2018-07-31 19:38:18

标签: c# selenium selenium-webdriver

我正在编写自动化测试。当我进入该端点时,我有一个端点URL err := YourFunc(func(row *sql.Rows) { for rows.Next() { // ... } }) ,上面印有文本。

我的测试中有什么方法可以验证打印文本中的某些数据。例如,验证当我转到端点时剩余的是52。

'https://deckofcardsapi.com/api/deck/new/shuffle/?deck_count=1'

2 个答案:

答案 0 :(得分:1)

您可以使用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

答案 1 :(得分:0)

这可能是“ REST”端点。当您从该端点执行GET时,它将返回“ JSON”(JavaScript对象表示法)。您看到的是一个以JSON格式返回的对象。该对象具有4个属性(deck_id,随机播放,剩余和成功)。 “ remaining”的值为52。找到一个JSON解析器,您应该能够看到它。

如果您在互联网上搜索,应该会找到可以解析JSON的Selenium工具(对不起,我不是该技术的专家)。