我们正在使用用于CI的Octopus部署工具。章鱼配置了两个步骤,如下所示
1- Octopus从章鱼库中选择自动化程序包,并将文件部署到已配置的目标计算机注意:部署时将在VM中提取程序包,并配置要提取的目标路径在章鱼中。
2-章鱼将执行步骤以执行UI测试,从而触发xunitconsolerunner
通过powershell
脚本并行运行测试。
观察:当脚本按顺序执行时,UI测试工作正常,但是在并行运行时我得到
System.NullReferenceException:对象引用未设置为对象的实例。
通过Windows powershell
在VM上执行相同的powershell
脚本时,并行测试可以正常工作,一次打开5个浏览器驱动程序。但是,在运行Octopus tentacle
时,它会引发错误。奇怪的是,最后一个功能文件中的场景正在执行。
我认为通过Octopus tentacle
一次打开多个浏览器是一个问题,因为最后一个功能文件没有并行运行的并行线程,因此它试图执行最后一个。
我不明白我是否在这里缺少什么。是因为Octopus tentacle
只能处理一个chrome webdriver会话吗?任何建议都会有所帮助。
当我在命令中说-parallel none
时,没有问题,因为浏览器将依次依次打开“
xunit.runner.console\xunit.console.exe iCHealth.CProvider.UISpecTests.dll -parallel none -trait “Category=V8” -html “$($automationPath)\index.html”
这是我用来并行运行的命令行,效果很好
在本地,仅当我运行Octopus tentacle
时才出现问题。
xunit.runner.console\xunit.console.exe iCHealth.CProvider.UISpecTests.dll -maxthreads 5 -trait “Category=V8” -html “$($automationPath)\index.html”
问候 Sravan R