gpt4 book ai didi

c# - 如何通过编程/编码实现webservice测试自动化

转载 作者:行者123 更新时间:2023-11-28 20:42:18 26 4
gpt4 key购买 nike

我知道这些问题已经被问过很多次了,我仍在寻找能满足我的问题的答案。请查看以下几点我在寻找什么:

  1. 首先,如何通过编程实现。对于网络自动化,我使用的是 specflow C#。我需要为 Web 服务测试创建单元测试吗?通过编程可以做什么? soapUI 被排除在外,因为它已被手动测试人员使用。

  2. 是否有任何可用的框架?

  3. 请给我链接和支持它们的示例。

我知道这是一个广泛的问题。但我确实需要大家的帮助,这样我才能在 API 测试上朝着正确的方向开始。

最佳答案

您的首要任务绝对是了解您正在测试的 Web 服务。您是否有可以提交给 Web 服务的有效 XML?如果是这样,将它存储在某处并创建一个从文件夹中获取它的步骤。使用该 XML 作为测试用例并遍历文件夹中的每个文件。每个 XML 文件都应该根据您希望测试涵盖的内容而有所不同。

通常,Web 服务测试将包括记录响应时间、发送不同风格的 XML 作为测试用例(更改节点的内容以涵盖不同的触发器)以及检查响应中的特定值。

一个非常高层次和隐含的场景可能看起来像这样(基于我曾经做过的事情):

Scenario Outline: Submit Requests to Web Service
Given I have XML file '<XML_Case>'
And I submit a 'POST' request
Then I should receive a response from the Web Service
And the response will include a 'ResponseId' in the 'Header' section
And the response will include a 'RequestId' in the 'Body' section
And the 'Complete' node in the 'Body' section will return the value of 'True'

Examples:
|XML_Case |
| C:\TestData\test1.xml |
| C:\TestData\test2.xml |
| etc... |

为此,C# 中有许多方法。首先,您可以检查 XML 文件并将其转换为您的 XML 请求,方法是像这样作为步骤定义:

[Given(@"I have XML file '(.*)'")]
public void GivenIHaveXMLFile(string fileName)
{
//Checks if file exists
if (System.IO.File.Exists(fileName))
{
var requestXml = CreateXMLInstance(fileName);
}
else
{
throw new Exception("No XML file found in specified location");
}
}

该代码中使用的 CreateXMLInstance 方法将从文件路径加载 XML,可能如下所示:

 public XmlDocument CreateXmlInstance(string xmlPath)
{
//Loads XML from file path
XmlDocument request = new XmlDocument();
request.Load(xmlPath);
return request;
}

您实际上已经创建了前几个步骤,并且可以将 requestXml 变量存储为一个字段或存储在 Specflow 的 ScenarioContext 中,以便稍后在您进行 Web 服务调用时使用。

显然还有很多需要考虑的地方,但这可能会让您朝着正确的方向前进。

关于c# - 如何通过编程/编码实现webservice测试自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28028395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com