我正在写有关自动测试的文章,以涵盖Restful API的回归测试。

我熟悉如何使用Rest Assured在Java中进行此操作,但是我目前工作的公司是.NET之家,所以使用c#作为编程语言在Visual Studio中编写自动化测试会很有意义。指导我如何使用C#构建框架。本质上,是从头开始的。

评论

API测试自动化的可能重复:GUI工具与编程方法?

#1 楼

您可以将任何单元测试框架(例如NUnit,MSTest,XUnit)与其他nuget包结合使用,以与REST API本身配合使用。


RestSharp(http://restsharp.org /)可能是最流行,最方便的.Net REST HTTP客户端。
RestAssured.Net(https://github.com/lamchakchan/RestAssured.Net)Java库的.Net端口,如果您您已经熟悉这种方法。

此外,我建议使用Json.NET(https://www.newtonsoft.com/)nuget来方便地处理请求/响应JSON数据,这非常有用使用纯JSON字符串的反序列化对象更容易使用。

#2 楼

在Visual Studio中编写API测试可以通过以下方式完成:


NUnit或MSTest作为您的测试运行器
** Nuget上提供了NUnit和TestAdapter
http客户端,例如.Net的HttpClient
**这位于System.Net命名空间中。
(可选)用于解析响应的Json.Net
**也可以在Nuget上使用

/>您的测试将如下所示:

[Test]
public void Record01StatusCode()
{
    // Arrange: Define the endpoint to be tested
    string requestUri = "http://foo.bar/record/01";
    // Act: Make the request (Note: MakeRequest is a method I wrote in another class)
    HttpResponseMessage response = httpClient.MakeRequest(HttpMethod.Get, requestUri);
    // Assert: The request returns a successful response
    Assert.IsTrue(response.IsSuccessStatusCode, "Response was not a success status code!");
}


#3 楼

您可以尝试


此http://unirest.io/net

或此http://restsharp.org/

或此https://github.com/lamchakchan/RestAssured.Net



#4 楼

您可以使用Jmeter或Postman来测试API。形成有效载荷很容易。如果要进一步自动化,可以通过Jenkins,命令行或批处理文件调用Jmeter。