we are using Agent-based remote execution for testing some GUI components of our application with Ranorex automatically.
The testcases are executed on the command line in the context of a GitLab pipeline, and we are checking the agent exit code on the command line to determine whether a particular test was successful or not.
This works perfectly most of the time. However, in some cases, running a test with the remote agent returns exit code -1, which indicates failure ('Test run aborted due to error.') Checking the .rxzlog logs retrieved by the agent shows that running the test itself was actually successful however, with no errors whatsoever.
We then detected the following error in the Ranorex Agent log on the remote machine where the tests are executed:
Code: Select all
2021-08-06 09:01:01.8586 Ranorex.Dex.Components.TestExecution.Steps.ProgressLogger Ranorex.Dex.Common.Types.Progress.TestExeState 2021-08-06 09:01:03.8762 Ranorex.Dex.Components.TestExecution.Steps.ProgressLogger Ranorex.Dex.Common.Types.Progress.TestExeState 2021-08-06 09:01:05.8961 Ranorex.Dex.Components.TestExecution.Steps.ProgressLogger Ranorex.Dex.Common.Types.Progress.TestExeState 2021-08-06 09:01:06.2627 Ranorex.Dex.Infrastructure.RanorexEventSource EventId:13 Background task 'Failed to resume test process via proxy. Killing process...' failed: System.Runtime.Remoting.RemotingException: Failed to write to an IPC Port: The pipe is being closed. Server stack trace: at System.Runtime.Remoting.Channels.Ipc.IpcPort.Write(Byte data, Int32 offset, Int32 size) at System.Runtime.Remoting.Channels.ChunkedMemoryStream.WriteTo(Stream stream) at System.Runtime.Remoting.Channels.Ipc.IpcClientHandler.SendRequest(IMessage msg, ITransportHeaders headers, Stream contentStream) at System.Runtime.Remoting.Channels.Ipc.IpcClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream) at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg) Exception rethrown at : at Ranorex.Dex.Components.TestExecution.Env.ReplayServiceProxy.GetCurrentExeState() at Ranorex.Dex.Components.TestExecution.Steps.ExecuteBinTestStep.<GetStatus>b__26_0(IProcess p). 2021-08-06 09:01:07.9081 Ranorex.Dex.Components.TestExecution.Steps.ProgressLogger Execution finished with result Error 2021-08-06 09:01:07.9081 Ranorex.Dex.Components.TestExecution.Steps.ProgressLogger Publishing test results 2021-08-06 09:01:07.9081 Ranorex.Dex.Components.TestExecution.Steps.ProgressLogger Publishing xxx 2021-08-06 09:01:07.9081 Ranorex.Dex.Components.TestExecution.Steps.ProgressLogger Test results published 2021-08-06 09:01:07.9081 Ranorex.Dex.Components.Domain.ExecutionAgent Job finished 2021-08-06 09:01:07.9081 Ranorex.Dex.Components.Domain.ExecutionAgent Saving job results ... 2021-08-06 09:01:07.9871 Ranorex.Dex.Infrastructure.RanorexEventSource EventId:5 Job changed: Job 5 in state Executing issued by xxx -> Job 5 in state Executed issued by xxx. 2021-08-06 09:01:07.9871 Ranorex.Dex.Components.Domain.ExecutionAgent ...Test results saved 2021-08-06 09:01:08.1646 Ranorex.Dex.Infrastructure.RanorexEventSource EventId:6 AgentChanged: Agent(Id=1 Name=0002022-01 DisplayName=RanorexAgent State=ExecutingTestSuite StateDetail=Test results published LastUpdated=01.01.01 00:00 +00:00 Tags=) -> Agent(Id=1 Name=xxx DisplayName=RanorexAgent State=Idle StateDetail=Test results published LastUpdated=01.01.01 00:00 +00:00 Tags=).
We have already disabled BitBridge for our solution since we do not need it and it may be associated with that kind of error according to some other posts in the forum. The described error still occurs however.
Our setup looks like follows:
Local OS: Windows Server 2016
Remote OS: Windows Server 2016 (this is were application and remote agent runs)
GUI Technology: PowerBuilder 2019 R3
Run Environment: GitLab 14.11
Ranorex Studio Version: 9.3.2
Has anybody else experienced this issue with Ranorex Agent execution? If so, were you able to solve it?
Thanks a lot!