Share this page

# AI-based testing code samples (.NET SDK)

This topic shows code samples for using AI-based testing in OpenText Functional Testing for Developers .NET tests:

In this topic:

## Enable or disable AI Verify Identification

The examples below demonstrate how to enable or disable the Verify Identification feature and how it affects the recognition of AI-based test objects.

Enable Verify Identification

Copy code

    [TestMethod]
            public void VerifyIdentification_Enabled_TestPasses()
            {
                // Enable AI Verify Identification.
                AIRunSettings.VerifyIdentificationEnabled = true;

                // Launch Chrome and navigate to the test web page.
                IBrowser browser = BrowserFactory.Launch(BrowserType.Chrome);
                browser.Navigate("https://advantageonlineshopping.com");

                // Describe the profile AI test object.
                IAIObject profile = browser.Describe<IAIObject>(new AIObjectDescription
                {
                    AIClass = AITypes.PROFILE
                });

                // Perfom a click operation. Because AI Verify Identification is enabled,
                // the click is performed only when the profile icon is visible and detected.
                profile.Click();

                // Describe a test object contained in the pop-up window that is
                // displayed after clicking the profile icon above. Highlight it
                // to check that the clicked was performed successfully.
                IAIObject profilePopupWindowText = browser.Describe<IAIObject>(new AIObjectDescription
                {
                    AIClass = AITypes.TEXT_BLOCK,
                    Text = "SIGN IN WITH FACEBOOK"
                });
                profilePopupWindowText.Highlight();

                // The VerifyIdentificationEnabled property can be used to check if AI Verify Identification is enabled.
                Verify.IsTrue(AIRunSettings.VerifyIdentificationEnabled);
            }

Disable Verify Identification

Copy code

    [TestMethod]
            public void VerifyIdentification_Disabled_TestFails()
            {
                // Disable AI Verify Identification.
                AIRunSettings.VerifyIdentificationEnabled = false;

                // Launch Chrome and navigate to the test web page.
                IBrowser browser = BrowserFactory.Launch(BrowserType.Chrome);
                browser.Navigate("https://advantageonlineshopping.com");

                // Describe the profile AI test object.
                IAIObject profile = browser.Describe<IAIObject>(new AIObjectDescription
                {
                    AIClass = AITypes.PROFILE
                });

                // Perfom a click operation. Because AI Verify Identification is disabled,
                // the click is performed when the control flow reaches this line, with
                // the possibility that the page is not fully loaded yet, so the profile test
                // object might not exist yet.
                profile.Click();

                // Describe a test object contained in the pop-up window that is
                // displayed after clicking the profile icon above. Highlight it
                // to check that the clicked was performed successfully. This
                // fails because the click action above was not performed.
                IAIObject profilePopupWindowText = browser.Describe<IAIObject>(new AIObjectDescription
                {
                    AIClass = AITypes.TEXT_BLOCK,
                    Text = "SIGN IN WITH FACEBOOK"
                });
                profilePopupWindowText.Highlight();

                // The VerifyIdentificationEnabled property can be used to check if AI Verify Identification is enabled.
                Verify.IsFalse(AIRunSettings.VerifyIdentificationEnabled);
            }

Back to top

## Enhance identification text recognition

The examples in this section demonstrate ways you can fine tune the text recognition of an object's identification text to achieve an accurate identification:

- Exact text matching for a web object

- AI text matching for a mobile object

Exact text matching for a web object

This example shows how to identify an object in a web application by its text using exact text matching instead of AI matching.

Copy code

    [TestMethod]
    public void WebIdentifyByTextWithTextMatchMethod()
    {
        // Launch a new browser instance and navigate to the relevant web page.
        IBrowser browser = BrowserFactory.Launch(BrowserType.Chrome);
        browser.Navigate("https://advantageonlineshopping.com/#/");
        browser.Sync();

        // Describe the AiObject by passing a TextWithMatchOptions property that includes the exact match method.
        var obj = browser.Describe<IAIObject>(new AIObjectDescription
        {
            AIClass = AITypes.TEXT_BLOCK,
            TextWithMatchOptions = new TextWithMatchOptions("dvantageDemo", MatchMethod.IGNORE_CASE)
        });

        // Verify that the object was identified successfully.
        Verify.IsTrue(obj.Exists());
    }

AI text matching for a mobile object

This example shows how to identify an object in a mobile application by its text using AI text matching.

Copy code

    [TestMethod]
    public void MobileIdentifyByTextWithTextMatchMethod()
    {
        // Lock device by its name.
        IDevice device = MobileLab.LockDeviceByName("MyDevice");

        // Describe the AiObject by passing a TextWithMatchOptions property that includes the AI text match method.
        var obj = device.Describe<IAIObject>(new AIObjectDescription
        {
            AIClass = AITypes.TEXT_BLOCK,
            TextWithMatchOptions = new TextWithMatchOptions("Gallery", MatchMethod.AI)
        });

        // Verify that the object was identified successfully.
        Verify.IsTrue(obj.Exists());
    }

Back to top

## Use a regular expression to identify text

This example shows how to identify a text object that varies in the application by using a regular expression.

Copy code

    [TestMethod]
    public void WebIdentifyByTextWithRegulareExpression()
    {
        // Launch a new browser instance and navigate to the relevant web page.
        IBrowser browser = BrowserFactory.Launch(BrowserType.Chrome);
        browser.Navigate("<amazon shopping cart url>");
        browser.Sync();

        //Describe the AiObject by passing a TextWithMatchOptions property that uses a regular expression to identify the object's text.
        // The object we want to identify is the shopping cart's title, that looks like this: Subtotal (5 items): $233.57
        var aiObject = browser.Describe<IAIObject>(new AIObjectDescription
        {
            AIClass = AITypes.TEXT_BLOCK,
            TextWithMatchOptions = new TextWithMatchOptions(new RegExpProperty("Subtotal \(\d item\): \$[\d.]+"), MatchMethod.AI)
        });

        // Verify that the object was identified successfully.
        Verify.IsTrue(aiObject.Exists());

        // Print the text value.
        Console.WriteLine(aiObject.Value);
    }

Back to top

https://admhelp.microfocus.com Functional Testing for Developers 8942
Tips to improve your search results... OpenText™ Functional Testing for Developers Help Center OpenText™ Functional Testing for Developers Help 25.2 All View Local Help Center View Online Help Center Version: