我们需要将QTP与Hudson集成,以针对Hudson中部署的代码自动调用测试套件。构建过程基于Maven。
是否有任何插件或其他东西可以实现这一目标?我们听说过Hudson的Groovy插件;我们可以用Groovy脚本执行它吗?
答案 0 :(得分:2)
Hudson不运行测试,它接受输出并生成一个很好的报告。你应该看看如何使Maven运行测试,然后让Hudson选择输出来生成报告。
答案 1 :(得分:2)
正如迈克尔所说,这是一个Maven集成问题而不是Hudson问题。我不知道QTP的Maven插件,但您可以使用exec-maven-plugin来调用任意可执行文件,并为该可执行文件提供参数。 QTP提供了一个“自动化”API,您应该能够非常轻松地将其包装在脚本中。它不会是一个光滑的集成,但可能符合您的目的。
以下是您可以使用的配置示例:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>[qtp executable]</executable>
<workingDirectory>/target</workingDirectory>
<arguments>
<argument>[an argument to configure QTP]</argument>
<argument>[another argument to configure QTP]</argument>
</arguments>
</configuration>
</plugin>
answer to a previous question on invoking QTP from Ant是编写自动化集成的良好起点。
更新
这是一种可能适合您的方法。看来你可以直接调用QTP服务器,传递你想要执行的测试的名称。因此,您可以使用antrun plugin来调用URL并将输出定向到目标目录。修改url和测试名称以匹配您的环境,并应调用QTP并将结果放在target / qtp / results.html中。这假设您可以调用一个测试来执行QTP中所需的所有操作。
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<phase>test</phase>
<configuration>
<tasks>
<get verbose="true" src="http://[servername]/qtp/LaunchQTP.plx?testname=[test name]"
dest="${project.build.directory}/qtp/results.html" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
答案 2 :(得分:2)
我们使用VBScript,JScript和RunTestSet实用程序以3种方式实现了这种集成。在POM中,我们需要像这样指定。
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<phase>test</phase>
<configuration>
<tasks>
<property name="vbs.script" value='qtp.vbs'/>
<exec executable="WScript.exe" spawn="true" resolveExecutable="true">
<arg line="${vbs.script}"/>
</exec>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
使用RunTestSet,
<exec executable="location of RunTestSet.exe" output="outputFolder">
<arg line="/s:qc url"/>
<arg line="/n:Domain"/>
<arg line="/d:Project"/>
<arg line="/u:username"/>
<arg line="/p:password"/>
<arg line="/f:TestSetFolder"/>
<arg line="/t:TestSet"/>
<arg line="/l"/>
</exec>
的问候,
拉姆亚。
答案 3 :(得分:1)
您可以尝试使用Jenkins的Quality Center插件:https://wiki.jenkins-ci.org/display/JENKINS/Quality+Center+Plugin
答案 4 :(得分:0)
我一直在使用这个vbscript
Dim qtApp 'As QuickTest.Application ' Declare the Application object variable
Dim qtTest 'As QuickTest.Test ' Declare a Test object variable
Set qtApp = CreateObject("QuickTest.Application") ' Create the Application object
qtApp.Launch ' Start QuickTest
qtApp.Visible = True ' Make the QuickTest application visible
qtApp.Open "<fullpathto>\XlTest", True ' Open the test in read-only mode
' set run settings for the test
Set qtTest = qtApp.Test
qtTest.Run ' Run the test
qtTest.Close ' Close the test
qtApp.Close ' Close the app
Set qtTest = Nothing ' Release the Test object
Set qtApp = Nothing ' Release the Application object
我直接打电话