How to Run a Mobile Test within a Web Test

A common testing scenario is to have a web based application that could interact both with web and mobile users. There is a way to develop and execute a web test that at certain step runs a mobile test. To complete that the following initial conditions are needed:

  • web test,
  • mobile test,
  • Mobile Testing Desktop Application running - it will run the Message Server.

Next step is to create a coded step in the web test that will start a system process. The following code will run the Telerik.MobileTesting.Runner.exe with arguments:

  • Message Server's url and port
  • mobile project path
  • the relative path to and name of the mobile test

    The code will wait for the end of the mobile test execution. After the process ends - the exit code is placed in assert statement to check if this step passed or failed depending on the mobile test status.

      // Have to include the references:
      using System.IO;
      using System.Diagnostics;
      [CodedStep(@"Run Mobile Test")]
      public void Run_Mobile_Test_CodedStep()
          // initialize new system process
          Process runMobileTest = new Process();
          // define the process name to be started
          runMobileTest.StartInfo.FileName = @"[PathToExecutable]\Telerik.MobileTesting.Runner.exe";
          // set the arguments
          runMobileTest.StartInfo.Arguments = @"/C " +  " /msgServer=\"ws://localhost:8084\" /project=\"[PathToTheProject]\\DemoMobileProject\" /test=\"Web Tests\"\\Login.mttest";
          // run the process
          // wait until the test return an exit code
          // get the exit code from the executed process 
          int exitCode = runMobileTest.ExitCode;
          // check if this test step pass or fail. If return 0 - process complete normally, else - process fould.
          Assert.AreEqual(exitCode, 0);
      Imports System.IO
      Imports System.Diagnostics
      <CodedStep("Run Mobile Test")> _
      Public Sub Run_Mobile_Test_CodedStep()
          Dim runMobileTest As New Process()
          runMobileTest.StartInfo.FileName = "[PathToExecutable]\Telerik.MobileTesting.Runner.exe"
          runMobileTest.StartInfo.Arguments = "/C " +  " /msgServer=\"ws://localhost:8084\" /project=\"[PathToTheProject]\\DemoMobileProject\" /test=\"Web Tests\"\\Login.mttest";
          Dim exitCode As Integer = runMobileTest.ExitCode        
          Assert.AreEqual(exitCode, 0)
      End Sub