Run testlist on a remote scheduling server

4 posts, 0 answers
  1. F
    F avatar
    2 posts
    Member since:
    Jan 2016

    Posted 13 Jul Link to this post

    Hello,

    We're trying to run a testlist on a remote server. We followed the following steps to realise this:

    https://docs.telerik.com/teststudio/features/scheduling-test-runs/create-scheduling-server

    We created a testlist with 3 different testcases. When we run it on our local machine it works perfectly (and fast), but when we try to run it on our remote Scheduling Server we get this error:

    [07-13 10:57:04,Telerik.TestStudio.RemoteExecutor.exe(6840:11)] First trace message from pool unnamed thread (managed ID = 11, native ID = 8196).
    [07-13 10:57:04,Telerik.TestStudio.RemoteExecutor.exe(6840:11),Execution] CloudStorageProjectOpener.DownloadAndSaveTestsAsync() : ------- Function End -------
    [07-13 10:57:04,Telerik.TestStudio.RemoteExecutor.exe(6840:8),Error] TestPlatform.ExecuteAsync() : EXCEPTION! (see below)
         Outer Exception Type: System.AggregateException
         Message: One or more errors occurred.
         HRESULT: 0x80131500 (Official ID (if app.) = COR_E_EXCEPTION, Error Bit = FAILED, Facility = FACILITY_URT, Code = 5376)
         Call Stack:
              at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
              at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
              at Telerik.TestStudio.RemoteExecutor.TestBuilders.CloudRunnableGUITestBuilder.CreateLocalCache(IStorageDocument`1 projectDocument, DispatchableGUITest dispatchableTest)
              at Telerik.TestStudio.RemoteExecutor.TestBuilders.CloudRunnableGUITestBuilder.BuildTest()
              at Telerik.TestStudio.RemoteExecutor.Executors.TestPlatform.EnsureReadyForRun()
              at Telerik.TestStudio.RemoteExecutor.Executors.TestPlatform.<ExecuteAsync>d__17.MoveNext()

         Inner Exception Type: System.IO.PathTooLongException
         Message: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
         HRESULT: 0x800700CE (Official ID (if app.) = 2147942606, Error Bit = FAILED, Facility = FACILITY_WIN32, Code = ERROR_FILENAME_EXCED_RANGE)
         Call Stack:
              at System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
              at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
              at System.IO.Path.InternalGetDirectoryName(String path)
              at Telerik.TestStudio.Shared.Storage.Local.FileReaderWriterSync.<SaveStreamToFileAsync>d__21.MoveNext()
              --- End of stack trace from previous location where exception was thrown ---
              at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
              at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
              at ArtOfTest.WebAii.Design.Repository.CloudStorageProjectOpener.<SaveAttachmentsToFileAsync>d__7.MoveNext()
              --- End of stack trace from previous location where exception was thrown ---
              at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
              at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
              at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
              at ArtOfTest.WebAii.Design.Repository.CloudStorageProjectOpener.<DownloadAndSaveTestsAsync>d__10.MoveNext()
              --- End of stack trace from previous location where exception was thrown ---
              at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
              at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
              at ArtOfTest.WebAii.Design.Repository.CloudStorageProjectOpener.<SaveProjectLocallyAsync>d__24.MoveNext()

    [07-13 10:57:04,Telerik.TestStudio.Scheduling.Client.exe(6576:22),Execution] RemoteExecutorViewModel.GetProcessData() : EXCEPTION! (see below)
         Situation: Unable to retrieve test history
         Outer Exception Type: System.Net.Http.HttpRequestException
         Message: Response status code does not indicate success: 500 (Internal Server Error).
         HRESULT: 0x80131500 (Official ID (if app.) = COR_E_EXCEPTION, Error Bit = FAILED, Facility = FACILITY_URT, Code = 5376)
         Call Stack:
              at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
              at Telerik.TestStudio.Shared.Communication.BaseCommunicationLayer.<HandleResponse>d__33.MoveNext()
              --- End of stack trace from previous location where exception was thrown ---
              at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
              at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
              at Telerik.TestStudio.Shared.Communication.BaseCommunicationLayer.<HandleResponse>d__34`1.MoveNext()
              --- End of stack trace from previous location where exception was thrown ---
              at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
              at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
              at Telerik.TestStudio.Shared.Communication.BaseCommunicationLayer.<Get>d__26`1.MoveNext()
              --- End of stack trace from previous location where exception was thrown ---
              at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
              at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
              at ArtOfTest.WebAii.Design.Execution.Communication.RemoteExecutorCommunicationLayer.<GetTestHistory>d__3.MoveNext()
              --- End of stack trace from previous location where exception was thrown ---
              at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
              at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
              at Telerik.TestStudio.Scheduling.ClientMachine.ViewModels.RemoteExecutorViewModel.<GetProcessData>d__8.MoveNext()

    --

    System.IO.PathTooLongException: we checked the path and filename of the (remote) testlist and it's not longer than 100 characters

    How can we solve this?

    Thanks in advance.

  2. Elena Tsvetkova
    Admin
    Elena Tsvetkova avatar
    938 posts

    Posted 18 Jul Link to this post

    Hi,

    Thank you for the shared details. 

    There are few important notes when executing a test list on a remote machine which concerns the file path length. You probably know the project is being partially deployed on the remote machine so that all necessary for the test list execution files are available on the execution machine. The default path for deployment is C:\Users\"UserName"\AppData\Local\Temp. By each project deployment there is a temp folder created in the above mentioned location which name is the GUID of the project - the GUID contains random consequence of 32 symbols, numbers and letters, which uniquely identify the current project. 

    Having this said, in the default case the remote project is being executed from a folder similar to: C:\Users\etsvetko\AppData\Local\Temp\TSProjects\"ProjectGUID"\"ProjectName". These are quite many symbols already and if the Test List also has longer name you could face the encountered issue. 

    You have to possibilities up in front - you could shorten the Test List name or you could change the remote path to any shorter liek C:\Temp for example (please see point 5. in this article). 

    Please let me know if this is helpful for you or you will need further assistance. 

    Regards,
    Elena Tsvetkova
    Progress Telerik
     
    The New Release of Telerik Test Studio Is Here! Download, install,
    and send us your feedback!
  3. F
    F avatar
    2 posts
    Member since:
    Jan 2016

    Posted 18 Jul in reply to Elena Tsvetkova Link to this post

    Hi Elena,

    Thank you for your reply. I don't think that the path length is the problem. We created a new testcase and with a new testlist with shorter filenames. We run the test cases manually and remotely on our local machine. The manual execution works fine, but we still get errors with the remote test execution. The error System.IO.PathTooLongException isn't popping up anymore, but we still have the following errors:

    [07-18 10:07:45,Telerik.TestStudio.Scheduling.Client.exe(3784:18),Execution] RemoteExecutorViewModel.GetProcessData() : EXCEPTION! (see below)
         Situation: Unable to retrieve test history
         Outer Exception Type: System.Net.Http.HttpRequestException
         Message: Response status code does not indicate success: 500 (Internal Server Error).
         HRESULT: 0x80131500 (Official ID (if app.) = COR_E_EXCEPTION, Error Bit = FAILED, Facility = FACILITY_URT, Code = 5376)
         Call Stack:
              at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
              at Telerik.TestStudio.Shared.Communication.BaseCommunicationLayer.<HandleResponse>d__33.MoveNext()
              --- End of stack trace from previous location where exception was thrown ---
              at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
              at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
              at Telerik.TestStudio.Shared.Communication.BaseCommunicationLayer.<HandleResponse>d__34`1.MoveNext()
              --- End of stack trace from previous location where exception was thrown ---
              at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
              at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
              at Telerik.TestStudio.Shared.Communication.BaseCommunicationLayer.<Get>d__26`1.MoveNext()
              --- End of stack trace from previous location where exception was thrown ---
              at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
              at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
              at ArtOfTest.WebAii.Design.Execution.Communication.RemoteExecutorCommunicationLayer.<GetTestHistory>d__3.MoveNext()
              --- End of stack trace from previous location where exception was thrown ---
              at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
              at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
              at Telerik.TestStudio.Scheduling.ClientMachine.ViewModels.RemoteExecutorViewModel.<GetProcessData>d__8.MoveNext()

    And:

    [07-18 10:07:35,Telerik.TestStudio.Scheduling.Client.exe(3784:24),Framework] FireFoxInstallation.EnumFireFoxInstallations() : Valid Firefox 60.0.0.1 (x64) installation found at "C:\Program Files\Mozilla Firefox\firefox.exe".

    We have installed FireFox and the browser works fine with manual tests. We re-calibrated and restored FireFox in the program.

    Thank you for your response.

     

     

  4. Elena Tsvetkova
    Admin
    Elena Tsvetkova avatar
    938 posts

    Posted 19 Jul Link to this post

    Hi,

    Thank you for the feedback. I am glad to hear one of the issues no longer persist. 

    Though to find out what prevents the communication between the local machine and the remote one I would like to place few more questions about the setup. What I guess is that you have configured a remote machine as a Scheduling server as described in the article you referred. This machine should be also configured as an Execution server. Please correct me if I am wrong in these assumptions. 

    I suspect that there is no firewall or AV software active on any of the machines as you are able to execute remotely on the local machine. Therefore would like to kindly ask you to reconfigure the Scheduler and Execution client to use IP address instead of computer name. Once this is done please refresh the whole setup as described below: 
    1. Exit Test Studio and the Test Runner (Execution client) on both machines. 
    2. Restart the Telerik Services
    3. Drop the database - I guess there are still no results which will be necessary to be kept so you could drop the whole database. 

    Then start Test Studio on the local machine and the Execution client on the remote one, clear both logs (you could access these from the Status view) and try to run a test list remotely. Please if this is still not successful, collect the log files both for the remote and local machines and send these zipped again. 

    Thanks in advance for your cooperation! 

    Regards,
    Elena Tsvetkova
    Progress Telerik
     
    The New Release of Telerik Test Studio Is Here! Download, install,
    and send us your feedback!
Back to Top