Page tree
Skip to end of metadata
Go to start of metadata

Last updated: Dec 18, 2018 15:07

Digital Zoom can be an enormous help to understand the big picture- one part of it is to see how certain tests have performed on different devices.
In specific cases however, tests that were to be run with a specific test name and attributes (tags, project name, CI information) cannot be found in DigitalZoom when searching for those.

In those cases, the test is likely found under a generic name- when using Appium or Selenium, the name will be RemoteWebDriver.

When grouping by test name, you might see something like this:

Explanation

There are essentially two reasons why a test with name RemoteWebDriver is found in DigitalZoom. 

  1. The test was not given a name.

    More specifically, it was either never initialized with any reporting context, or possibly no logical test (with a test name) was started using reportiumclient.testStart(...).
    At the beginning of a logical test, the testStart should be called passing a test name as well as any test-specific tags. 
    This is only possible, if an execution context has been established. See Implementing Reporting for further details.

    		//** Below step creates the general context of the execution. Reports of all tests run with this driver will share this metadata
    PerfectoExecutionContext perfectoExecutionContext = new PerfectoExecutionContext.PerfectoExecutionContextBuilder()
    		.withProject(new Project("My Project", "1.0"))
    		.withJob(new Job("My Job", 45))
    		.withContextTags("tag1")
    		.withWebDriver(driver)
    		.build();
    
    
    		//** Below step is vital to name the actual test
            ReportiumClient reportiumClient = new ReportiumClientFactory().createPerfectoReportiumClient(perfectoExecutionContext);
    		try {
    
                reportiumClient.testStart("My test name", new TestContext("tag2", "tag3"));
    
    
    		...
  2. The driver instantiation failed

    For the DigitalZoom report to be initialized, a connection with the device needs to be established first.
    Common reasons for the driver creation failing are:
    1. Device busy/not connected/reserved/could not be found and similar
      If the device is unavailable to the user executing the test, driver creation will fail. 
    2. App cannot be installed/started/found and similar
      If the app is started or installed by using an Appium capability- failure to do so will result in the driver creation throwing an error.
    3. Incorrect driver Capabilities
      Any capabilities that fail to take effect upon driver creation, will cause it to fail. Wrong browser, wrong ActivityName, app not installed yet, missing capability


Once the reason for tests being created outside of the expected naming, eg. as RemoteWebDriver, the cause can be remediated- be it by adding reporting context, or taking more care in orchestration- ensuring that the devices and settings applied upon them are correct.