IBM®Rational®Quality Manager是用于管理质量保证团队项目的测试管理和质量管理工具。 它建立在IBM Rational Jazz™平台上,并继承了其表示状态转移(REST)功能和基于Rational Jazz基于表单的认证机制。 最好使用IBM Rational Performance Tester Extension for SOA Quality通过REST API对Rational Quality Manager服务器进行负载测试。 但是,由于以下原因,以这种方式进行测试可能很困难:
SOA质量扩展不提供对Jazz身份验证机制的内置支持。 使用SOA质量扩展的HTTP代理记录器记录Rational Quality Manager会话会生成复杂的测试场景,这些场景很难理解和处理。本文描述的最佳实践包括使用通用服务客户机与Rational Quality Manager提供的RESTful Web服务进行交互,并生成简单,方便的测试场景。
本文档是使用IBM Rational Quality Manager 2.0.0.1 iFix003标准版和IBM Rational Performance Tester扩展用于SOA质量8.1.1编写的。
要为Rational Quality Manager构建简单的负载测试,必须使用Rational Quality Manager Server进行认证。 Rational Quality Manager使用基于Jazz表单的用户认证方案。
在https://jazz.net/wiki/bin/view/Main/JFSCoreSecurity#User_Authentication中描述了该方案。 在https://jazz.net/wiki/bin/view/Main/WritingAJazzClient上描述了在IBM Rational Jazz Team Server上进行认证的方式。
简而言之,客户端必须进行身份验证才能从服务器获取会话ID,然后在对服务器的所有后续请求中将此ID用作cookie。 您可以使用通用服务客户端获取会话ID。
您在此处与之交互的Rational Quality Manager服务将处理测试用例。 Rational Quality Manager通过URL与此地址相似的Atom提要发布其大多数工件(包括测试用例)的XML表示形式:
https:// rqmserver:9443 / jazz / service / com.ibm.rqm.integration.service.IIntegrationService / testcase,其中rqmserver是您的Rational Quality Manager服务器或IP地址的名称。
对于后续步骤,您需要具有Atom提要发布的测试用例的URL。
可以使用各种REST命令查询以下工件:
使用GET获取XML表示形式。 使用POST创建工件。 使用PUT修改工件。 使用DELETE删除工件。要使用Rational Quality Manager服务器进行认证:
在“性能”透视图中,使用临时工具栏按钮打开通用服务客户端:“服务”页面显示Web服务描述语言(WSDL)文件库,端点请求以及所有请求的历史记录。 传输页面管理基础传输配置。 在这种情况下,传输配置基于HTTPS。
注意: 默认的HTTP不覆盖HTTPS,因此必须为此请求创建特定的HTTPS配置。
单击新建 ,输入名称,然后选择保持活动和SSL证书 :该请求显示在常规服务客户端的右窗格中:
使用“请求历史记录”框,用户可以快速检索他们发送的请求和相应的响应。
在这种情况下,来自服务器的响应消息为空,但是“响应属性”页面包含以下信息:
前面提到的会话ID(在此为JSESSIONID cookie)特别受关注。 重定向到查询的测试用例的URL(作为Location属性)也包含重要信息。 此外,设置为authrequired的x-com-ibm-team-repository-web-auth-msg响应标头指示您必须遵循Jazz认证方案。
小费: 可以选择和复制属性名称和值,这有助于使用已建立的值创建请求。
为了符合身份验证方案,您需要在重定向URL上调用另一个GET操作,将会话ID作为cookie发送,并使用相同的HTTPS配置
响应属性包含设置为authrequired的X-com-ibm-team-repository-web-auth-msg HTTP标头,并且不包含重定向位置。 Jazz认证机制指定下一步是在进行必要的准备后进行认证。
使用POST操作将用户凭据(用户名和密码均为“ admin”)发布到以下地址: https://rqmserver:9443/jazz/ authenticated/j_security_check?j_username=admin&j_password=admin服务器还需要Path=jazz cookie语句。 用户身份验证Jazz方案需要application / x-www-form-urlencoded内容类型标头。
身份验证请求如下图所示:
Location属性会将您重定向到与身份验证之前相同的URL。
您可以利用通用服务客户端的“请求历史记录”框来检索第二个请求。 使用该请求作为新请求的基础,以节省时间:
在“请求历史记录”框中,选择您提出的第二个请求:该请求显示在通用服务客户端的右窗格中,可以按原样调用。
单击“ 调用”,然后在响应中查看“ 位置”属性:该属性包含不重定向您的URL。 实际上,URL是您在初始GET操作中使用的原始地址。您可以在“请求历史记录”框中检索第一个请求,并添加JSESSIONID cookie以使其起作用:
在再次调用GET请求之后,响应中包含一条消息,该消息是Rational Quality Manager测试用例的XML描述。 此屏幕截图显示了“表单”视图中的XML描述:
Tree视图将XML元素显示为分层树,Source视图显示XML代码:
先前的请求序列可以转换为服务测试脚本:
在“请求历史记录”框中选择所有请求,然后单击“ 生成测试套件” :通用服务客户端中使用的HTTPS配置已被检索并存储在测试中。
所有请求都使用HTTP配置:
自动数据关联是Rational Performance Tester的强大功能。 使用此功能,无论通用服务客户端中方案的复杂性如何,都可以按原样立即运行服务测试。
在测试编辑器中,单击查看>显示数据关联 。 第一个替代者表明测试生成器通过第一个响应之后的请求检测到JSESSIONID cookie的使用。 替代者在响应中创建了对cookie的引用,并在此请求的后续请求中全部替换了它的值。
通过数据关联,在运行测试时,请求将使用服务器返回的JSESSIONID cookie,即使其值不是服务测试中存储的值。
在运行测试之前,您可以使用验证点检查上一个GET请求的状态。
要创建验证点:
单击查看>显示所有测试内容 ,然后选择最后一个响应。 单击添加>相等验证点 。在运行时,此测试元素将服务器返回的XML消息与存储在测试中的XML消息进行比较。 其他比较选项也可用:
该验证点本身足以检查测试案例检索的状态。 但是,您可以使用另一个Rational Performance Tester功能来验证被测系统的其他方面:定制Java™代码。
例如,您可以检查响应的HTTP状态代码。 对于此过程,请使用最后一个响应并查看属性。
要将自定义Java代码添加到测试中:
打开“响应属性”页面:状态代码为200 ,表示“确定”。 在其余的步骤中,您将创建对此值的引用,并将其用作Java定制代码语句的参数。 在运行时,此代码检查实际状态是否等于200 ,并相应记录通过或失败事件。
单击200值以提供价值焦点。 右键单击该值,然后选择“ 创建引用” 。 当“编辑引用名称”对话框提示您时,接受默认名称,然后单击“ 确定” 。创建引用,编辑器以蓝色突出显示该值:
定制代码元素链接到项目中的Java类。
更改默认的类名称,使其具有以下含义: test.CheckHTTPStatus :此代码检查自定义代码参数的值。 该值必须定义。
打开测试编辑器,然后单击自定义代码的“ 参数”字段旁边的“ 添加” 。 将打开“选择参数”对话框,您可以在其中选择数据源作为参数。 展开最后一个GET条目,然后选择Cookie:200参考; 然后单击“ 选择” 。该引用将添加到自定义代码参数列表中:
在测试运行期间,将自动打开并实时更新“服务测试”报告。 但是,此报告仅包含内置的相等验证点。 要获得测试运行事件的更精确视图,请在“性能测试运行”视图中右键单击运行结果,然后选择“ 显示测试日志” :
“测试日志”报告提供有关所有测试事件的高级信息。 要打开日志,请单击测试日志的“ 事件”选项卡,然后展开“ 事件树” :
相等的验证点是事件列表的一部分。 该日志还包括自定义代码记录的pass事件。 选择通过事件将显示在Java自定义代码中为“通过”判决设置的文本字符串:
查看“测试日志”报告时,“服务内容”页面将相应更新。 例如,它显示从上一个服务器响应接收到的XML消息:
“服务内容”页面还显示验证点的预期和实际XML内容:
最后,“测试日志”报告显示后续请求使用了从服务器接收到的JSESSIONID cookie:
要向Rational Quality Manager服务器发出其他请求,我们可以再次使用通用服务客户机,并通过服务器进行身份验证。 但是,一种更快的方法包括重新使用已经包含必要的身份验证步骤的服务测试。
在“测试导航器”中,右键单击测试,然后选择“ 复制” 。 将测试粘贴到项目中。 右键单击副本,选择“ 重命名” ,并将其命名为createTestCase 。 要创建测试用例,必须使用POST操作将测试用例的完整XML表示发送到服务器。 在测试中,单击“ 传输”选项卡,然后在每个实例中将“ 方法”更改为POST而不是GET 。 XML Test Case而不是空消息)被发送到服务器。 更改URL以测试用例服务为目标: https://rqmserver:9443/jazz/ service/com.ibm.rqm.integration.service.IIntegrationService/testcase)您将内容粘贴到最后一个请求中,因为在用户认证之前将不会处理XML消息,因此,在对正确的URL发出实际的POST请求之前,该内容是没有意义的。
此外,必须在第一个请求中更改URL。 可以通过使用引用来处理来自服务器的后续重定向。
要在第一个请求中更改URL:
单击第一个请求的“ 传输”选项卡。 使URL字段可编辑:右键单击该字段,然后选择删除替代 。 将URL更改为https://rqmserver:9443/jazz/service/ com.ibm.rqm.integration.service.IIntegrationService/testcase :为响应此请求,服务器响应位置标头包含重定向URL。
在测试编辑器中选择重定向URL,右键单击所选内容,然后创建引用:可以使用通用服务客户机来调用对Rational Quality Manager REST API的请求。 此外,可以生成,修改和运行包含该请求的服务测试。
以类似的方式,Rational Performance Tester可以使用通用服务客户端和测试编辑器的便捷功能,轻松地创建和调用使用其他命令(最主要是PUT和DELETE )的REST请求。
实际上,只要测试的持续时间不超过Rational Quality Manager会话超时,那么测试的所有请求都可以使用相同的JSESSIONID 。 每个服务测试仅需要根据本文中描述的过程进行一次身份验证,这可以大大简化测试方案的详细说明和维护。
翻译自: https://www.ibm.com/developerworks/rational/tutorials/testrqmrestapiwithrptextensionforsoaquality/index.html
相关资源:RationalRose2007迅雷下载种子 破解文件 破解文件使用说明.rar