当前位置: 首页 > 知识库问答 >
问题:

需要从另一个testsuite的安装脚本运行测试步骤(groovy步骤)。但没有可用的testRunner

吉岳
2023-03-14

我有一个reusbale\u库测试套件,它有不同的可重用类作为测试用例/测试脚本。其中一个类是脚本中的excelreader。我需要从另一个testsuite的setupscript调用这个excelreader脚本,并使用excelreader脚本中的类使用从excel工作表读取的所有数据初始化一个数组。阵列中的数据将由该测试套件中的所有测试用例使用。但是我无法从testsuite调用脚本,因为testsuite没有testRunner变量。如何调用excelreader脚本?如果没有办法,那么维护可重用库并在测试套件/测试用例/脚本中使用它的最佳方法是什么?

Example code:
In TestSuite1's setup script: 

//def testRef=testRunner.testCase.testSuite.project.testSuites["TestSuite 
4"].testCases["TestCase 1"]
//testRef.Run(testRunner,context) //throws exception testRunner not avl.

def tc=testSuite.project.testSuites["TestSuite 4"].testCases["TestCase 1"]
tc.testSteps["tc1_script2"].run(testSuite.testRunner,context) //this also 
throws exception

mobj=context.getProperty("obj")
log.info(mobj.fun())

In Testsuite2's Testcase1's testscript1:

class test1{
def fun(){return "test1"}
}
obj= new test1()
context.setProperty("obj",obj)

共有1个答案

壤驷华美
2023-03-14

此时没有TestCaseRunner。你可以自己做。

import com.eviware.soapui.support.types.StringToObjectMap
import com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner

def testCase = runner.testSuite.project
    .testSuites["TestSuite 4"]
    .testCases["TestCase 1"]

def testRunner = new WsdlTestCaseRunner(testCase, new StringToObjectMap())
testRunner.runTestStepByName("tc1_script2")

assert testRunner.runContext.obj
 类似资料:
  • 我设置了以下测试用例: 我想使用Groovy脚本测试步骤获得SoapRequest测试步骤的状态。 它可以如下所示完成: 但是我不想通过脚本运行TestStep,而只是使用soapui testrunner。在datasink测试步骤中,我可以使用这个: 不幸的是,上述方法在GroovyScript TestStep中不起作用 有什么想法吗?

  • 我对Spring批处理框架相当陌生。 我在一个作业中创建了两个步骤(我们称之为步骤1和步骤2)。我想把它们并行运行。不仅如此,step2的IteamReader还应该使用step1的itemwriter。 我的第一个问题是,在Spring批量中是否有可能做到这一点?如果是,怎么做? 其次,如果这不可能,还有什么工作可以做呢? 谢了。

  • 我正在为测试步骤编写一个验证 groovy 脚本,旨在测试 SOAP Web 服务。 现在,我想调用同一个测试步骤,使用与groovy脚本不同的输入值。有可能吗?我不想再写一个测试步骤。 谢谢

  • 本文向大家介绍使用shell脚本安装lnmp的方法步骤,包括了使用shell脚本安装lnmp的方法步骤的使用技巧和注意事项,需要的朋友参考一下 1、简介 使用shell脚本安装lnmp,纯粹是偷懒,平时安装一些东西都写成脚本了,方便以后在其他机器安装的时候不用再去查找文档。 PHP版本5.6.6 MYSQL版本5.6.26 NGINX版本1.15.6 2、环境说明 阿里云ECS(1G1核)Cent

  • 我是脚本新手,需要一些帮助。我有一个关于SoapUI Groovy脚本的问题,我可以使用帮助。 我需要一个脚本,让我在基于testSuite属性值的测试用例中运行特定的测试步骤(“CC1”是属性的名称),有5种可能性。我猜switch/case可以用,但是不知道怎么写才合适。 当时我试着用这个: 但没有达到预期的步骤。 有人可以帮我解决这个问题吗?

  • 我在SoapUI中有一个Groovy脚本,它可以为每个测试步骤记录该步骤是通过了还是失败了。我还希望Groovy脚本记录出错的断言消息。 此时,我得到以下输出: 我希望失败的断言以更详细的方式显示它失败的原因的消息。如果失败的TestStep本身,我就会收到消息: 此外,当我运行这个Groovy脚本时,会弹出一个名为“Information”的窗口,它的背景是黑色的,太宽了,我似乎找不到它的右侧。