本主题说明如何配置部署到 Virtualize 服务器的单个虚拟资产。关于配置 Virtualize 服务器设置的更多详情,请查阅 配置服务器和部署设置 。
在本章节中:
访问虚拟资产配置设置
双击 Virtualize 服务器视图中的虚拟资产以访问其配置设置。或者,您可以右键单击资产,然后选择 Open。
配置虚拟资产行为
有关如何使用不同的请求/响应用例、错误条件和其他行为来自定义虚拟资产的详细信息,请自定义相关的消息响应程序工具,如 消息响应程序概要中所述。
常规选项
在 General 选项卡中,可以指定以下设置。
Responder Suite
指定在其中配置消息响应程序的响应程序套件,它实质上是一个 .pva 文件。要更改用于此虚拟资产部署定义的文件,通常浏览到本地工作区或文件系统中的 .pva 文件。文件路径是相对于 VirtualAssets 项目文件夹的。
Description
提供虚拟资产的描述。
Jar 文件必须添加至类路径
在通过 JMS 和/或 MQ 部署虚拟资产之前,请确保将适当的 jar 文件添加到 Virtualize 类路径。 有关如何做到这一点的详细信息,请参阅 系统属性设置。
Transport Tab
传输选项卡包含有关虚拟资产应如何接收和响应消息的配置设置。
HTTP 设置
可以指定以下 HTTP 设置:
Path
在服务器上指定虚拟资产将通过 HTTP 侦听传入消息的路径。如果未指定任何值,那么将仅将 JMS、MQ 或定制传输侦听器设置应用于接收消息。
我们建议为每个虚拟资产提供唯一的 HTTP 路径,除非您希望 Virtualize 在搜索配置为响应传入消息的响应器时查找多个虚拟资产。
如果您在同一 HTTP 路径上部署多个虚拟资产,则 Virtualize 将查看每个虚拟资产,直到它根据响应者相关性条件找到与消息匹配的响应者,并将该响应者和虚拟资产用于响应。在这种情况下,评估虚拟资产的顺序不固定;Virtualize 将使用评估过程中找到的第一个虚拟资产。
通配符可用于允许路径的各个部分是动态的。例如,假定两个请求发送到 paths /path/1/service
和 /path/2/service
上的 Virtualize。要使两个请求都到达相同的虚拟资产,请将路径配置为 /path/*/service
。
支持使用通配符替换路径的整个段。例如:
/path/*/service
— 有效/path/1*2/service
— 无效
HTTP 端点
如果使用 HTTP(而不是 JMS 或 MQ),则可以在此处访问虚拟资产。要使用虚拟资产,您可以将应用程序配置为使用此 URL 代替实际资源的 URL。任何可以访问此终结点的计算机都可以访问和使用您的虚拟资产。
JMS 设置
您可以配置虚拟资产以发送和接收消息到队列或主题。请参考 JMS 以获得配置 JMS 设置的详细信息。
- 要配置适用于特定 Virtualize 服务器的全局 JMS 设置,请在 Virtualize 服务器视图中双击相应的服务器计算机节点。
- 要为特定虚拟资产配置 JMS 设置,请在 Virtualize 服务器视图中双击相应的虚拟资产节点。
可以指定以下设置:
Point-to-Point
启用此选项,表明指定了 Destination 和 replyTo queues 的消息传递模型。启用消息传递模型后,可以在“本地设置”部分中输入每个连接的设置,也可以引用在 Virtualize 服务器级别定义的全局 JMS 连接(请参阅 Connections Tab)。
Publish-and-Subscribe
启用此选项表明指定了 Publish 和 Subscribe topics 中的消息传递模型。启用消息传递模型后,您可以在本地设置部分输入每个连接的设置,也可以引用在 Virtualize 服务器级别定义的全局 JMS 连接(请参见 Connections Tab)。
Client Publish (Publish-and-Subscribe Mode)
指定客户端应用程序请求的主题名称,然后从 Settings 下拉菜单中选择连接配置选项。
选择 Local Settings 来使用提供程序 URL、初始化上下文类、连接工厂和在本地设置部分中指定的登录 凭据 , 或者选择在 Virtualize 服务器的 Connections Tab 上配置的连接(请参阅 Using Global JMS Connections)。
Destination queue (Point-to-Point Mode)
指定消息目标队列的名称,然后从 Settings 下拉菜单中选择您的连接配置选项。
选择 Local Settings 来使用提供程序 URL、初始化上下文类、连接工厂和在本地设置部分中指定的登录 凭据 , 或者选择在 Virtualize 服务器的 Connections Tab 上配置的连接(请参阅 Using Global JMS Connections)。
Client Subscription (Publish-and-Subscribe Mode)
指定客户端应用程序请求的主题名称,然后从 Settings 下拉菜单中选择连接配置选项。
选择 Local Settings 来使用提供程序 URL、初始化上下文类、连接工厂和在本地设置部分中指定的登录 凭据 , 或者选择在 Virtualize 服务器的 Connections Tab 上配置的连接(请参阅 Using Global JMS Connections)。
Reply to queue (Point-to-Point Mode)
指定用于发布响应的队列的名称,然后从 Settings 下拉菜单中选择连接配置选项。
选择 Local Settings 来使用提供程序 URL、初始化上下文类、连接工厂和在本地设置部分中指定的登录凭据,或者选择在 Virtualize 服务器的 Connections Tab 上配置的连接(请参阅 Using Global JMS Connections)。
Use JMSReplyTo for response
启用此选项来使用消息的 JMSReplyToQueueName 数据头来确定虚拟资产将响应发送到的位置。
如果启用了 Use JMSReplyTo for response 选项,来自传入请求的值将用于确定将响应发送到何处。 如果未启用该选项,响应将发送值 UI 中指定的队列;JMS 消息数据头中的值将被忽略。
消息选择器
(可选)当多个服务使用同一队列时,指定消息选择器表达式将很有帮助。例如,如果消息选择器表达式为 "product =
'virtualize'"
,则虚拟资产将仅在队列/主题中选择具有 JMS 消息属性 product
(其值为 virtualize
)的消息。请查阅 使用消息选择器过滤器 以获得更多技巧。
Worker count
工作人员数量影响创建的监听器工作线程的数量的数量。请查阅 Adjusting the Worker Count 以获得更多详情。
本地设置
配置队列或主题连接设置时选择 Local Settings ,然后配置以下设置。要使用服务器级别配置的设置,请查阅 Using Global JMS Connections。
Provider URL
指定将 javax.naming.Context.PROVIDER_URL
传递给 JNDI javax.naming.InitialContext
构造器。
Initial context class
指定一个完全限定类名字符串,将其传递给 JNDI javax.naming.InitialContext
构造器,作为名为 javax.naming.Context.INITIAL_CONTEXT_FACTORY
的属性的字符串值。
Connection factory
指定用于从初始上下文查找特定于 MOM 的工厂的键。这可以是 Queue Connection Factory,也可以是 Topic Connection Factory。确保将相关的 jar 添加到 Virtualize 类路径。请查阅 JMS 提供程序配置 以获得为您的特定 JMS 提供程序添加哪些工厂类的技巧。
Username/Password
指定 JMS 提供程序的登录凭证(如果适用)。
其他初始上下文 JNDI 属性
指定要应用于该属性的任何其他 JNDI 属性
使用全局 JMS 连接
您可以使用 Virtualize 服务器配置中定义的连接设置。请查阅 Connections Tab 以获得配置全局 JMS 连接的详情。要使用全局 JMS 连接,请从 Settings 下拉菜单中选中它。
要查看预定义全局连接的详情,请单击 查看设置。
JMS 消息类型支持
内置的 JMS 消息侦听器接收并响应 javax.jms.TextMessage 消息类型。
通过 JMS 部署虚拟资产的行为
这个请求消息的 JMSMessageID
将作为响应消息的 JMSCorrelationID
来发送。
只需通过使应用程序照常将消息发送或发布到指定的目的地,就可以调用通过 JMS 部署的虚拟资产。Virtualize 将使用该目标上的消息。如果 Message Selector Expression 字段中指定值,则它将使用任何与指定表达式匹配的消息。
浏览队列内容 - 通过 JMS 部署的虚拟资产的调试和测试
在调试环境和测试虚拟资产配置时,您可能需要使用队列浏览器来查看队列内容。当您尝试了解和解决异常行为时,这种可见性可能会非常有用。关于详情,请查阅 浏览队列 (SOAtest) 或 浏览队列 (Virtualize)。
MQ 设置
如果配置必要的 MQ 设置,虚拟资产可以模拟通过 IBM WebSphere MQ 队列进行通讯的服务。请参考 IBM WebSphere MQ 以获得其他详情。
您可以指定以下 MQ 设置:
Get queue
指定 Virtualize 检索请求消息的队列(也称为 "get” 或or "pull”),然后从 Settings 下拉菜单中选择您的连接设置。
选择 Local Settings 以使用在本地设置部分配置的连接设置,或选择一个在 Virtualize 服务器配置的 Connections Tab 中配置的设置。(请查阅 Using Global MQ Queues)。
Put queue
指定 Virtualize 要发送响应消息的队列(也称为 "put" 或 "push"),然后从 Settings 下拉菜单中选择您的连接设置。
选择 Local Settings 以使用在本地设置部分配置的连接设置,或选择一个在 Virtualize 服务器配置的 Connections Tab 中配置的设置。(请查阅 Using Global MQ Queues)。
使用 replyToQueueName 作为响应
启用此选项来使用消息的 replyToQueueName 数据头来确定虚拟资产将响应发送到的位置。它影响 MQMT_REQUEST 类型的 MQ 消息的响应。
如果启用了 Use replyToQueueName for Response选项,来自传入请求的值将用于确定将响应发送到何处。 如果未启用该选项,响应将发送值 UI 中指定的队列。更具体地说:
- 如果启用了 Use replyToQueueName for Response ,并且指定了 MQMD.replyToQueueManagerName 和 MQMD.replyToQueueName 的值,那么这些值将确定要将响应发送到的队列管理器和队列名称。
- 如果启用了 Use replyToQueueName for Response ,并且请求中缺少了 MQMD.replyToQueueManagerName 或 MQMD.replyToQueueName ,那么将使用 UI 中指定的值来替代缺少的值。
如果禁用了 Use replyToQueueName for Response ,那么将忽略 MQ 请求消息中的 replyToQueueName 和 replyToQueueManagerName 字段。UI 设置将确定消息发送到何处。
消息选择器
(可选)当多个应用程序使用同一个队列时(或队列上交换了多种类型的消息),可能有必要过滤 Virtualize 接收到的消息。该字段中的值(如果提供了值)与队列中消息中的 MQMD applicationIdData 字段匹配。在这种情况下,MQ API MQC.MQGMO_BROWSE_NEXT 标志用于从队列中获取消息。
Worker count
工作人员数量影响创建的监听器工作线程的数量的数量。请查阅 Adjusting the Worker Count 以获得更多详情。
本地设置
配置队列或主题连接设置时选择 Local Settings ,然后配置以下设置。本地设置配置中不支持 SSL。必须配置全局 MQ 队列以在 Virtualize 服务器的 Connections Tab 中使用 SSL,然后从 Settings 下拉菜单中选择队列(请查阅 Using Global MQ Queues)。
模式
选择其中一项以下方式:
- 默认模式:允许你手动输入连接细节(例如,主机、端口、通道等)。
- CCDT 模式:允许指定提供连接详细信息的客户端通道定义表(CCDT)文件。
Host (默认模式)
指定 MQ 队列管理器主机。
Port (默认模式)
指定 MQ 队列管理器端口。
Channel (默认模式)
指定 MQ 队列管理器通道。
CCDT File (CCDT 模式)
指定客户端通道定义表格文件的位置,该表格提供了连接详情。
如果正在使用远程服务器上的 CCDT 模式, 请指定 CCDT 文件的相对路径 ,因为它将出现在虚拟化服务器树中的“Files”节点下。这个选项在工作空间或文件系统中浏览文件的操作将不可用。
如果要配置当前部署在本地服务器上但稍后将部署在远程服务器上的虚拟资产,则建议将 CCDT 文件与 .pva 文件一起保留。您需要先将 CCDT 文件部署到远程服务器,然后再将虚拟资产部署到该远程服务器。请查阅 在远程服务器和本地计算机之间传输文件 以获得详细信息。
Queue manager
指定队列管理器的名称。
Username
如果要求登录凭证,请在该字段指定用户名。
Password
如果要求登录凭证,请在该字段中指定密码。
Using Global MQ Queues
如果希望在单个虚拟资产中使用该向导中配置部署在不同 MQ 服务器上的队列(比如,希望使用部署在两个不同 MQ 服务器上的两个队列的特定虚拟资产时使用该向导),则可以在 Virtualize 服务器级别上对它们进行全局定义,然后在此处引用它们。有关更多详情,请查阅 Connections Tab 。
浏览队列内容 - 通过 MQ 部署的虚拟资产的调试和测试
在调试环境和测试这个虚拟资产配置时,您可能需要使用队列浏览器来查看队列内容。当您尝试了解和解决异常行为时,这种可见性可能会非常有用。
有关更多详情,请查阅 浏览队列。
调整工作线程数量
每个工作线程创建自己到 MQ/JMS 提供程序的连接。例如,对于 MQ,如果您有 20 个工作线程,则您的 WebSphere MQ Explorer 应该在虚拟资产正在侦听的请求(get)队列的 Open input count 列中显示值 20。当部署/重新部署资产时,工作线程计数高于默认值 1,则应该在控制台中看到类似“Started x listener(s)”这样的消息(其中 x 是配置的工作线程数量)。
增加工作线程数量可以帮助提高并发下的性能。虚拟资产的整个消息处理链是并行的,因此每个工作线程将与其他线程并行地进行消息关联、响应消息生成等操作。但是,要注意,如果提供了较高的工作线程数量,部署、取消部署或者重新部署的资产将花费更长的时间,因为要创建、销毁的连接更多。同样,WebSphere MQ 基础结构或 JMS 提供程序可能会限制允许的并发连接数。不应该超过基础设施配置/允许的范围。
worker count 特性相当于 Tomcat server.xml 中的 “maxThreads” 属性。
当将 Virtualize 提供给大量并发虚拟用户(即在负载测试期间)时,通常可以通过增加这些值来期望更好的性能。
配置自定义传输虚拟资产设置
可以在 Custom 选项卡中配置自定义监听器的设置。
如果只有一个自定义监听器可用,则这个选项卡将专门用于配置该自定义格式:
如果有多个自定义侦听器可用,则可以从 Select Implementation 下拉菜单选择要使用的一个,然后根据需要使用可用的控件进行配置。
性能选项卡
请查阅 使用性能配置文件。
数据源选项卡
请查阅 使用数据组。
配置虚拟数据库部署设置
包括 SQL 响应程序的 .pvas 没有特别限制,任何路径都是可以接受的。默认情况下,Parasoft JDBC 驱动程序调用部署在 /virtualDb 上的虚拟资产(当处于 Virtualize 或 Hybrid 模式时)。如果要将其配置来调用部署在不同端点的虚拟资产时,请添加合适的属性,如 指定 Parasoft JDBC 驱动程序调用的虚拟资产中所述。
同一条路径可能有多个虚拟资产。在这种情况下,Virtualize 将找到与传入查询相对应的虚拟资产和 SQL 响应程序。
也可能有一个由多个虚拟资产使用的数据库记录,每个虚拟资产都部署在不同的路径/端点。这样,如果您有三个不同的 AUT(所有这些 AUT 都需要访问相同的虚拟数据库行为),则可以从同一记录中创建三个不同的虚拟资产,然后将每个 AUT 指向一个单独的虚拟资产(部署在单独的端点上)。 。