一些背景知识:
我有大量的SOAPUI测试用例,用于测试Web服务和数据库事务。当有一个或两个不同的环境时,这种方法很好,因为我只是克隆原始测试套件,更新数据库连接,然后更新端点以指向新环境。这里和那里的一些变化意味着我将重新克隆已为其他测试套件更新的测试用例。
但是,我现在有6个不同的环境,需要运行这些测试,并且正如预期的那样,我一直在添加更多测试用例以及更改原始测试用例。这会导致运行较旧的测试套件时出现问题,因为需要重新克隆它们。
我想知道是否有更好的方法来组织这个。理想情况下,我想要一个测试套件,并能够在数据库连接和Web服务端点之间切换,但不知道从哪里开始。任何帮助或指导都将非常感激。
我只能访问免费版的SOAPUI
这就是结构目前的样子:
答案 0 :(得分:2)
以下是我将如何实现同样目标。
有一个包含所有测试的原始测试套件。但它被配置为针对服务器运行测试。就像您提到的那样,您克隆了第二个数据库架构的套件并更改了连接详细信息。现在它已经实现,因为需要测试更多的数据库。
让您的项目拥有所需的测试套件。无论何时提供数据库服务器详细信息,请使用property expansion
替换实际值以获取连接详细信息。
在Jdbc步骤中,更改连接字符串:
jdbc:oracle:thin:scott/tiger@//myhost:1521/myservicename
以强>
jdbc:oracle:thin:${#Project#DB_USER}/${#Project#DB_PASSWORD}@//${#Project#DB_HOST}:${#Project#DB_PORT}/${#Project#DB_SERVICE}
您可以将以下属性定义到文件中并相应地命名。比如说,以下属性与host1
上托管的数据库相关,并具有详细信息,将其命名为host1.properties
。如果要对host1
数据库运行测试,请在项目级自定义属性中导入此文件。
DB_USER=username
DB_PASSWORD=password
DB_HOST=host1
DB_PORT=1521
DB_SERVICE=servicename
同样,您可以根据需要保留尽可能多的属性文件,并在针对相应的数据库服务器运行之前导入相应的文件。
您不仅可以将此属性文件用于数据库,还可以将其用于托管在不同服务器上的不同Web服务,例如statging,qa,production,而无需更改端点。您只需在端点中设置属性扩展。
根据评论进行更新
如果要将其用于Web服务,请转到服务界面 - > “服务端点”选项卡然后添加新端点${#Project#END_POINT}/context/path
。现在点击Assign
按钮。从下拉列表中选择All requests and Test Requests
。您也可以删除其他端点
在您的属性文件END_POINT
中添加新属性,并将值设置为http://host:port
。如果您想再次运行测试,这也为您提供了优势:https说https://host:port
。
如果您有多个服务/ wsdl托管在不同的服务器上,您可以为每个服务使用唯一的属性名称。
希望这有帮助。