使用SOAPUI测试REST服务时,有没有办法从文本文件中读取json消息体?

时间:2016-02-26 18:28:56

标签: json rest soapui

我正在使用REST API。每次测试时,我都必须将JSON有效负载复制并粘贴到测试步骤的文本框中。我想更改测试或尝试新测试。根据我正在测试的情况,这种情况经常发生。这用于作为用户信息的程序,因此用户每次都会更改。

问题:

有没有办法设置它,以便不必在测试步骤中更改该文本正文,我可以这样做,以便从文本文件中读取文本吗?因此,当我想要运行新测试时,允许我只引入一个新的文本文件,而不是更改所有测试步骤。

2 个答案:

答案 0 :(得分:0)

将这样的内容添加到您的请求有效负载中:

${= new File('C:/Users/myUsername/Desktop/myfile.txt').text}

如果有帮助,请告诉我。)

答案 1 :(得分:0)

我相信您希望使用SOAPUI工具为您拥有的REST API引入自动化测试。简而言之,是的,可以自动化测试。但是,与你想象的或者更优雅的方式略有不同。

进入更多细节:

根据说明,您似乎已将swagger definitionwadl文件导入SoapUI。修改请求编辑器中的数据并测试服务。当然,这是大多数用户在使用SoapUI时所做的过程。每次执行新测试时,每次都手动修改请求。

经过一段时间之后,人们意识到它是单调的,并开始寻找其他方法来减少努力或某种自动化,就像你想出了问题一样。

如何完成:
SoapUI允许其用户创建测试用例,并能够运行这些案例,而无需在以后随时修改它们。这是推荐的,而不是你的想法。

以下是设计测试的方法。它是等级的。

Project -> Test Suite -> Test Case -> Test Step

在上面的层次结构中,您可以拥有多个测试套件,测试用例和步骤。建议让测试用例独立于其他测试用例。

设计您的测试用例,即使多次(rest / soap / jdbc / groovy和其他类型的测试步骤)调用并在步骤之间传递数据(输出一步到输入)以下步骤等),以便无需人工干预即可端到端地完成测试。

Test Hierarchy

您可以在documentation中找到有关这方面的更多详情。如果您没有通过soapui的文档,也可以找到更多信息。

不再编辑文字。这甚至避免像你提到的那样,从文件加载(你也需要一次又一次地为不同的测试更改文件名)。因为,每个请求都会进入测试用例并且以后保留在那里,所以您也有测试用例和描述的相关名称。

这对您或您的团队来说都是一次性的努力。那么你应该能够轻松地轻松运行项目。

祝你好运。