本主题解释如何将 SOAtest 测试用例映射到 HP ALM / 质量中心的特定需求。一旦测试用例映射到需求,则需求的测试将如单击 HP ALM 中的按钮一样简单。然后可以从 HP ALM 颞部运行 Parasoft 测试用例,并将结果返回给 HP ALM。
本章包含:
HP ALM 可以使用 SOAtest web 服务接口或 SOAtest 命令行界面(soatestcli)运行 SOAtest 测试套件。web 服务接口允许客户使用在远程机器上运行的 SOAtest 的共享实例运行测试。可以通过命令行界面在客户本机上使用 soatestcli 运行测试。使用 web 服务接口,测试运行将更快地初始化和终止。
以 web 服务模式启用 SOAtest,进而启用 SOAtest web 服务。以 web 服务模式运行 SOAtest 的机器必须访问一个工作空间,该空间包含希望使用 HP ALM 运行的 SOAtest 测试套件(.tst 文件)。Web 服务模式可用于 SOAtest 的自动化版本。有关以 web 服务模式运行 SOAtest 的更多详情,请查阅 从 Web 服务接口进行测试。
集成 SOAtest 和 HP ALM 有两种选择:
这两个选择都允许 HP ALM 使用 SOAtest web 服务接口或 SOAtest 命令行界面(soatestcli)运行测试。
Parasoft SOAtest 测试类型集成要求:
安装自定义测试类型的说明可以在 HP ALM ALM 安装指南中找到(在 Windows 7 上,它可以在 C:\Program Files\HP\ALM\application\20qcbin.war\Help\doc_library\pdfs 中找到)。
以下是将 Parasoft SOAtest 测试类型安装到 HP ALM 11 或 12 中的说明:
将 <SOAtest Installation>/integration/HP 附带的 ZIP 文件的内容解压缩到文件夹 <HP Deployment ocation>\application\20qcbin.war
。有关 HP 部署位置,请参阅 HP ALM 安装指南(在 Windows Server 2003 上,它就是C:\Documents and Settings\All Users\Application Data\HP\ALM
)。
安装自定义测试类型的说明可在“HP 质量中心自定义测试类型向导”中找到。通过选择 Help> Documentation Library可以在质量中心中找到该文档。
以下是将 Parasoft SOAtest 测试类型安装到质量中心 10 中的说明:
application
目录(例如, C:\Program Files\HP\Quality Center\application\my_scratch_files
)中创建 scratch 目录。 jboss\server\default\deploy
目录,并将 20qcbin.war
文件复制到 scratch 目录。integration\HP
目录(例如, C:\Program Files\Parasoft\SOAtest\<version>\integration\HP
),将 soatest_test_type.zip
文件复制到 Quality Center 服务器上的临时目录中。soatest_test_type.zip
解压到 scratch 目录中。它应该创建两个文件夹:CustomTestTypes
和 Extensions
。更新 20wcbin.war
,此时它拥有 CustomTestTypes
和 Extensions
两个文件夹。要做到这一点,可以使用 Java JDK 中的 jar
命令。例如,您可能使用 jar uvf 20qcbin.war CustomTestTypes Extensions
由于 war 文件使用 zip 文件格式,所以 zip 应用程序还可以用来更新 20qcbin.war
。
20qcbin.war
文件,在 jboss\server\default\deploy
目录中进行一份备份。例如,您可以复制原始文件,然后将其重命名为 20qcbin.war.bak
。20qcbin.war
文件从 scratch 目录复制到 jboss\server\default\deploy
目录。http://<server:port>/qcbin/start_a.htm
Parasoft SOAtest
项目名,然后单击 OK。想要使用 Parasoft SOAtest 测试类型的任何客户端机器都必须安装以下内容:
除此之外,每个客户端机器都应该配置允许 Parasoft 软件执行。为此:
当提示时,安装 Parasoft 品牌的 addin。
如果对话框询问是否从运行 Parasoft 软件,则选择 Always run software from Parasoft Corporation 选项。 1)关闭 IE。 2)安装 https://search.thawte.com/support/ssl-digital-certificates/index?page=content&actp=CROSSLINK&id=AR1493的 Thawte Code Signing Intermediate CA。 3)重启 IE。 4)尝试再次登录。 |
注意,仅单击 Run (而无需启动 Always run software from Parasoft Corporation 选项)便足以启用集成。然而在每次您登录到 ALM /QC 时, IE 将继续打开这些安全预警对话框。
SOAtest
)。SOAtest Demo
),然后单击 OK。控件 | 要求 | 说明 |
---|---|---|
Execution mode | X | 指定使用 web 服务接口(server),还是使用命令行接口(command line)。 |
Protocol | X | 指定 SOAtest 服务连接是使用 HTTP 还是 HTTPS。 HTTPS 注意事项 默认情况下,HP ALM /QC 不接受自签名的 SSL 证书,该证书与 SOAtest 一起提供,并在使用 HTTPS 时由 SOAtest 服务器返回(您将会看到一个错误消息说明“...访问此资源所需的安全证书无效...”)。 如果正在通过 HTTPS 连接,请确保:
针对 HTTPS,SOAtest 服务端口默认为 9443;针对 HTTP,SOAtest 服务器端口默认为 9080。 |
Host | X | SOAtest 服务器的主机名。 |
Port | X | SOAtest 服务器的端口号。 |
Username | * | 连接到 CTP 的用户名。 如果 SOAtest 服务器连接到 CTP,则该字段需要填充。 |
Password | * | 连接到 CTP 的密码。 如果 SOAtest 服务器连接到 CTP,则该字段需要填充。 |
Executable | SOAtest 可执行的完整路径。 | |
Workspace | 工作空间目录的完整路径。如果该字段未填充,则使用默认工作空间。等价于“-data”命令行参数。 | |
Resource | X | 工作空间 SOAtest .tst 文件的相对路径。等价于-resource 命令行参数。 |
XML Report | 将用来存储测试结果的 XML 报告的完整路径。 | |
HTML Report | HTML 报告文件的完整路径。 | |
Environment | 测试执行期间要启用的环境名称。等价于 -environment 命令行参数。 | |
Test name | 运行匹配特定名称的测试。等价于 -testname 命令行参数。 | |
Data source row | 运行单数据源行的测试。等价于 -dataSourceRow 命令行参数。 | |
Data source name | 运行单数据源的测试。等价于 | |
Data group config | XML 文件的完整路径,该文件为测试运行中包含的每个 .tst 文件内的每个数据组指定活跃的数据源。 等价于 -dataGroupConfig 命令行参数。 | |
Environment config | XML 文件的完整路径,该文件为测试运行中包含的每个 .tst 文件指定要使用的环境变量。 等价于 -environmentConfig 命令行参数。 | |
Extra command line arguments | 将其他命令行参数传递给 soatestcli。针对高级用户。 | |
Custom request XML | 将自定义 XML 请求传递给 SOAtest 服务器。针对高级用户: | |
Custom script path | SOAtest VAPI-XP 脚本的完全路径。启用自定义 VAPI-XP 脚本的执行。针对高级用户 |
Client Configuration
为了使用具有 VAPI-XP 测试执行的 SOAtest,任何客户端机器都必须安装以下内容 :
SOAtest
)。SOAtest Demo
),然后单击 OK。SOAtest
作为 Script Name, 然后单击 Finish。integration/HP
中自定义的 SOAtest 脚本 HPQualityCenter.txt
。c:/Progra~1/Parasoft/SOAtest/[SOAtest version number]/.
脚本配置来运行 examples/tests
目录中名为 HPQuality-Center.tst
的测试套件。 HPQualityCenter.txt
脚本,并在模板中替换它。HPQualityCenter.txt
集成脚本(定位在 SOAtest 安装目录内的 integration/HP
)在测试的 Test Script 选项卡中使用,以便告知 SOAtest 运行项目文件并将测试结果报告给 HP ALM /QC。
应该根据需求更改 SOAtestServerHost 和 testSuite。SOAtestServerHost 应该设置为以 web 服务模式运行的机器的主机名和 IP 地址。
脚本假设以下内容:
变量 | 假设 |
---|---|
useWebService | true |
SOAtestServerProtocol | http |
SOAtestServerHost | localhost |
SOAtestServerPort | 9080 |
SOAtestServerUsername | "" |
SOAtestServerPassword | "" |
testSuite | 项目中的“HPQualityCenter/HPQualityCenter.tst“在工作空间叫做 HPQualityCenter |
testName | "" |
dataSourceRow | "" |
dataSourceName | "" |
testConfiguration | "user://Example Configuration" |
environment | "" |
dataGroupConfig | "" |
environmentConfig | "" |
xmlReport | “C:/Progra~1/Parasoft/SOAtest/<version>/examples/reports/HPQualityCenter.xml" |
htmlReport | "" |
detailedReporting | true |
下面的表中描述了可用来配置脚本行为的变量:
变量 | 说明 | 例如 |
---|---|---|
useWebService | 确定是否使用 SOAtest 的 web 服务接口运行测试。如果为 false,则将使用 SOAtest 命令行接口运行测试。 | var useWebService = true; |
SOAtestServerProtocol | 指定 SOAtest 服务连接是使用 HTTP 还是 HTTPS。 | var SOAtestServerProtocol = "https"; |
SOAtestServerHost SOAtestServerPort | 以服务器模式运行 SOAtest 服务器的机器的名称或 IP 地址。 以服务器模式运行 SOAtest 服务器的机器的端口号。 | var SOAtestServerHost = "localhost"; var SOAtestServerPort = 9080; |
SOAtestServerUsername SOAtestServerPassword | 连接到 CTP 的用户名。 连接到 CTP 的密码。 *如果 SOAtest 服务器连接到 CTP,则该字段需要填充 | var SOAtestServerUsername = “user1”; var SOAtestServerPassword = “password”; |
testConfiguration | 测试配置的名称(相当于 -config CLI 参数) | var testConfiguration = "user://Example Configuration"; |
testSuite | 工作空间中 SOAtest 项目文件的相对路径。 | var testSuite = "HPQualityCenter/HPQualityCenter.tst"; 假定项目中的测试套件在工作空间中名为 HPQualityCenter。 |
testName | 要在测试套件中运行的测试的名称。(相当于 -testName CLI 参数)。 | var testName = ""; |
dataSourceRow dataSourceName | 运行单数据源行的测试(相当于 -dataSourceRow 和 -data-SourceName CLI 参数)。 | var dataSourceRow = ""; |
environment | 测试期间要启用的环境名称(相当于 -environment CLI 参数)。 | var environment = ""; |
dataGroupConfig | XML 文件的完整路径,该文件为测试运行中包含的每个 .tst 文件内的每个数据组指定活跃的数据源。 等价于 -dataGroupConfig 命令行参数。 | var dataGroupConfig = "C:/configFiles/dataGroupConfig.xml" |
environmentConfig | XML 文件的完整路径,该文件为测试运行中包含的每个 .tst 文件指定要使用的环境变量。 等价于 -environmentConfig 命令行参数。 | var environmentConfig = "C:/configFiles/environmentConfig.xml" |
xmlReport | 将用来存储测试结果的 XML 报告的完整路径。此文件在每次测试运行后创建。 | var xmlReport = "C:/Progra~1/Parasoft/SOAtest/<version>/examples/reports/HPQualityCenter.xml"; |
htmlReport | 可选 HTML 报告文件目录的完整路径。它不能与 xml 文件具有相同的名称。保留空字符串 "" | var htmlReport = "c:/Progra~1/Parasoft/SOAtest/<version>/examples/reports/HPQualityCenter2.html"; |
detailedReporting | 控制报告级别。如果为 true,则测试结果将显示每次测试运行的详细信息。如果为 false,则只会报告测试失败的信息。 | var detailedReporting = true; |
SOAtestExe | St.exe 在 SOAtest 安装位置中的完整路径。 | var SOAtestExe = "C:/Progra~1/Parasoft/SOAtest/<version>/soatestcli.exe"; 此变量已弃用,只有当 useWebService 为 false 时才可用。 |
workspaceLocation | 工作空间的完整路径 var workspaceLocation = "C:/Users/name/soatest/workspace"; | var workspaceLocation = "C:/Docume~1/soatest-workspace/" 此变量已弃用,只有当 useWebService 为 false 时才可用。 |
additionalArgs | 将其他命令行参数传递给 SOAtest。例如,设置其为 "-test-Name Custom",只运行命名为 Custom 的测试。若要运行整个测试套件,将其保留空字符串 "" | var additionalArgs = ""-testName Custom" 此变量已弃用,只有当 useWebService 为 false 时才可用。 |
这些变量在 SOAtest 5.5.x 和 SOAtest 2020.x 中存在细微差别: SOAtest 5.5.x 变量:
|
若要在测试计划模块中运行测试:
测试运行完成后,您可以像查看其他测试一样查看结果摘要和详细信息。
每次测试运行,测试中心的状态(status)列都将指示 SOAtest 测试套件的总体成功。每次测试运行,它也将显示与 SOAtest 测试套件中执行的每次测试相对应的运行步骤列表。运行步骤状态列将指示测试是通过,还是失败。
关于测试的详细信息可以通过查看运行步骤的 Description 字段找到,该字段包含以下内容:
每个运行步骤也有 Expected 和 Actual 区域,用来存储预期的测试结果和实际的测试结果。如果由于差异或回归失败,进而导致 SOAtest 项目中的测试失败,则这些区域将填充被报告错误的差异工具接收到的预期输入和实际输入。
如果满足以下前提条件,SOAtest 可以将缺陷归档到 HP ALM 中:
若要归档缺陷:
当使用 HP ALM 运行测试时,您可能遇到下面的错误消息。
错误消息 | 解决方案 |
---|---|
您没有执行此操作的权限。 | 当运行来自测试实验室模块的测试的 QC 用户没有打开一个或多个权限时,此错误从 HP ALM 中抛出,SOAtest 附带的 HP QC 脚本要求打开特定的权限,以便脚本成功地执行某些任务。 如果看到这个错误,则您可能没有为登录到 QC 用户所属组以下权限设置:Status [RUN] (Modify Run > Status [RUN])。 若要在质量中心 10 中查看或更改 QC 用户所属组的权限,像下面这样做:
若要检查权限状态[RUN]是否启用。
|
自动服务器无法创建对象 | 确保安装了 Microsoft SOAP Toolkit SDK。如 Parasoft SOAtest Test Type Configuration and Test Creation 或 VAPI-XP Test Type Configuration and Test Creation中所述。 |
WSDLReader:WSDL 文件加载失败 HRESULT=0x80040154:类未注册。 | 这是在同一台 Windows 计算机上使用 Microsoft SOAP Toolkit 的一个众所周知的问题。Microsoft 支持知识库在 http://support.microsoft.com/kb/922736描述了这个问题和各种解决方案。 |
未发现 SOAtest XML 测试结果! | 验证 xmlReport 变量是否正确。SOAtest 服务器还必须对要写入 XML 文件的文件夹具有编写权限。 |