如何在 RestSharp 中解析 json 文件数据作为请求参数?
How to parse json file data as request parameter in RestSharp?
我正在使用 RestSharp 和 C# Xnuit 来自动化 API 测试。
目前我正在为请求参数创建字符串,如下所示。
string jsonString = @"{""customerName"": ""George Smith"", ""date"": ""2019-12-04""}";
var restRequest = restAPI.CreatePostRequest(jsonString);
现在我想创建单独的 testdata.json 文件来添加请求参数并使用该文件创建请求,而不是这个。如何操作?
我建议您创建一个用于保存测试数据的文件夹,然后检索文件并将其读入字符串。
LocateScriptsFolder 从 AppDomain.CurrentDomain.BaseDirectory 开始,一直沿着路径向上移动,直到找到脚本文件夹。
public static DirectoryInfo LocateScriptsFolder(string baseDir)
{
var parent = Directory.GetParent(baseDir);
if (parent.GetDirectories("DataFolder").Any())
{
return parent.GetDirectories("DataFolder").First();
}
return LocateScriptsFolder(parent.FullName);
}
var baseDir = AppDomain.CurrentDomain.BaseDirectory;
var scripts = LocateScriptsFolder(baseDir);
scripts.GetFiles("*.json").First();
var json = File.ReadAllText(script.FullName);
我正在使用 RestSharp 和 C# Xnuit 来自动化 API 测试。
目前我正在为请求参数创建字符串,如下所示。
string jsonString = @"{""customerName"": ""George Smith"", ""date"": ""2019-12-04""}";
var restRequest = restAPI.CreatePostRequest(jsonString);
现在我想创建单独的 testdata.json 文件来添加请求参数并使用该文件创建请求,而不是这个。如何操作?
我建议您创建一个用于保存测试数据的文件夹,然后检索文件并将其读入字符串。
LocateScriptsFolder 从 AppDomain.CurrentDomain.BaseDirectory 开始,一直沿着路径向上移动,直到找到脚本文件夹。
public static DirectoryInfo LocateScriptsFolder(string baseDir)
{
var parent = Directory.GetParent(baseDir);
if (parent.GetDirectories("DataFolder").Any())
{
return parent.GetDirectories("DataFolder").First();
}
return LocateScriptsFolder(parent.FullName);
}
var baseDir = AppDomain.CurrentDomain.BaseDirectory;
var scripts = LocateScriptsFolder(baseDir);
scripts.GetFiles("*.json").First();
var json = File.ReadAllText(script.FullName);