FAQ

How to change the engine version on a test case?

  • Right click on the Test Case Project in the Solution Explorer

  • Select the TestResults.io context menu

  • Select the Change Engine version option

  • Select the desired engine version and press OK

How to upload multiple containers at the same time?

  • Right click on the Solution in the Solution Explorer

  • Select the TestResults.io context menu

  • Select the Publish all test containers option

I am unsure what to record as the image of an element, what is the best practise?

  • Make sure to only record the static part of an element. For example only the label of a textbox and not the box itself, because the content of the box itself can change.

  • Also test what happens if you change the size of your application window, for example a button could get smaller and smaller, so only capture the static text inside the button and not the border.

  • If there are multiple variants of an element make sure to record an image for all variants (like a button gets bigger on mouseover, or a link is blue first and purple if you already clicked it)

I want to verify if a teststep was successful, by searching for an Image not recorded in the model

  • For example if you want to verify the content of the confirmation PDF you get at the end of your teststep. You do not want to add images of the PDF to the model, as they are very specific to the teststep.

  • Follow the guide on how to capture single images for testcases

How do I access files on the system under test?

How do I invite my coworkers to my project?

  • First invite your coworkers by creating a new User in the User Management

  • To share your test automation progress we recommend using the Visual Studio Version Control which supports the git provider of your choice, such as GitHub, Azure DevOps, Bitbucket etc.

My test execution just stopped in the middle of a testrun, what happend?

  • If an execution just stops it usually means an expected element or a screen was not found in which case the test engine aborts. Our debug log will tell you precisely at which point during the execution which element was not found.

  • If you executed the test case in the portal platform use the Detailed Report Tab to see where the execution stopped and download the linked Debug Log.

  • To access the Debug Log in a Visual Studio test run, make sure to open the Output window (in View --> Output) and switch the "Show output from" dropdown to "TestResults.io Public" or "TestResults.io Debug" for even more details.

  • Use the following FAQ chapters to help you how to fix if an element was not found or found in the wrong location.

An element is not found during the test execution, how do I fix it?

  • First make sure the element is visible on the test environment and for example your navigation to the screen was correctly executed.

  • Compare your captured image with what is actually displayed on the test environment. Depending on your applications elements may look different if they were already clicked once, or on mouseover, or if the focus is somewhere else.

  • In case you require multiple different images of an element you can capture these by editing your Screen (double click in the Screen Explorer on it), editing the Element and click the camera icon again. In the displayed folder structure you can right click on the folder or image to add, modify and delete images.

An element is found in the wrong location, how do I fix it?

  • Our image search engine allows some deviation while comparing your captured image to the test environment. Usually this is very helpful as the visual rendering on the test environment is not always the same if you compare each pixel by pixel.

  • In case some elements look very similar (e.g. some icons look almost the same) this allowed deviation can lead to mismatches.

  • But you can edit the affected Image by using the Image Explorer to adjust the precision of the image search. In most cases of a mismatch we recommend switching the Engine from "Default" to "Precise", and below in "Precison" enter a value of "0.9". A value of 1.0 would require a pixel perfect match, 0.9 still allows a slight deviation.

I have multiple Elements which look exactly the same, how can I make sure the correct one is used?

  • First make sure you use the correct element type. For example if you have multiple Yes / No questions use the "LabelWithButton" instead of "Button" Element. With this element type you can record the question as the Label, the answers as the Buttons and define the relative position of the buttons to the label including a grid width and height if required. The same options exist for Checkbox and LabelWithCheckbox

  • If this does not work in your scenario you can limit the screenspace where the element is searched on. For this create a Select and apply it to the Element with the SetSelectFilter method. You can apply a Select filter on a single Element or on the containing Screen itself.

Example for setting a Select depending on another ReferenceElement

        ReferenceElement.WaitFor();
        Select buttonSelect = Select.FromXY(
                ReferenceElement.Position.Boundary.Right,
                ReferenceElement.Position.Boundary.Top - 30, 
                600, 
                85);
        EnabledButton.SetSelectFilter(buttonSelect);

Example for using a Select with a ColorFill on an Image:

        Select rightSideSelect = t.SelectFromColorAtPoint(Images.Common.RightSideOrigin);
        rightList.SetSelectFilter(rightSideSelect);

None of the existing Screen Elements work for my case, what can I do?

  • First check out all the possible settings we have for each screen Element (for example Buttons) and how to configure them (see the next FAQ).

  • It is also possible to create all custom Screen Elements, find an example of a Dropdown with a Searchbox in our Demo Project on Github.

How do I change the settings for an Element?

  • In our documentation you can find all the settings (called Properties) we support for the different kind of elements (for example Textbox Properties)

  • To change these Properties right click the Screen in the Screen Explorer and select "Open Screen Class". If it does not exist yet add the Method "ConfigureElementProperties" as displayed below inside the class of your screen (or check out our complete example on Github)

public partial class HomeScreen
{
    partial void ConfigureElementProperties()
    {
        SearchTextbox.TextBoxType = TextBoxType.OCR;
    }
}
  • In this example we change the TextBoxType of the Textbox called "SearchTextbox" on the Screen "HomeScreen". With this change the clipboard is no longer used to verify the content of the textbox, but instead it is read using OCR.

  • Some settings use the keyword "static", these are applied to all elements of e.g. Type Textbox. We recommend to configure these inside the constructor of your App Class (you can find it inside your Model Project in the File App.cs, the constructor is the Method with the same name as your class)

TextBox.DefaultType = TextBoxType.OCR;

OCR is reading the text on the screen wrong, what can I do to fix it?

  • We try to give you the best out of the box OCR experience possible, but depending on the used font, text size, text and background color furter configuration may be required. We support multiple OCR engines and give access to a lot of configuration possiblities

  • Overwhelmed with all the possibilities? Check out our collection of best practise OCR configurations.

I wrote some functions on my Screens, why are they not accessible in the Test Case Designer?

  • To have some kind of filter the Test Case Designer only has access to functions which are marked as "Model Capabilities".

  • Add the [ModelCapability] Attribute to your Function like this (complete example on Github):

    [ModelCapability("Open Menu")]
    public void OpenMenu()
    {
        if (MenuButton.IsActive())                        //the "active"   image of the Button is where it is closed
            MenuButton.Click(MenuButton.WaitForInactive); //the "inactive" image of the Button is where it is open
    }

You can also change the DisplayName of each Parameter (complete example on Github):

    [ModelCapability("Select Value With different Search")]
    public void SelectValueWithSearch(
        [DisplayName("Textbox search Value")] string textboxValue, 
        [DisplayName("Select Value in Dropdown")] string dropdownValue
    )
    {
        ...
    }

The Test Case Designer needs to load new functions before you can select them. Click the Link to refresh. If the notification is not showing you can always reload the functionalities and screens with the green marked Icon.

Still require help?

Join our Slack Channel and feel free to ask questions in #community-support

Last updated