{"id":1162,"date":"2024-09-18T11:51:54","date_gmt":"2024-09-18T09:51:54","guid":{"rendered":"https:\/\/sii.ua\/blog\/?p=1162"},"modified":"2024-09-18T11:51:56","modified_gmt":"2024-09-18T09:51:56","slug":"when-the-going-gets-tough-the-tough-get-going-with-vision-ai","status":"publish","type":"post","link":"https:\/\/sii.ua\/blog\/en\/when-the-going-gets-tough-the-tough-get-going-with-vision-ai\/","title":{"rendered":"When the going gets tough, the tough get going with Vision AI"},"content":{"rendered":"\n<p><em>&#8216;<\/em><em>Is it possible for test automation tools to learn the UI of an application in the same way a real-life user learns it<\/em><em>?&#8217; <\/em>\u2013 that was the question the Tricentis Team asked themselves when they started working on Vision AI.<\/p>\n\n\n\n<p>Vision AI can be defined as an &#8220;intelligent&#8221; user interface (UI) test automation engine that allows automation of test scripts without the use of code. Among the application of its functionalities, one may point to situations in which defining selectors for automation purposes is impossible due to the early phase of development (when only mock-ups are available) or verification of complex structures and graphic elements on the website (e.g., maps, diagrams) is required. This tool will also provide an opportunity to involve non-technical users with crucial domain and test process knowledge.<\/p>\n\n\n\n<p>During Vision AI development, Tricentis used machine learning as a data analysis method, thanks to which the tool&#8217;s engine, like the end user, can interpret various screens and objects available in the application. Moreover, in the event of changes to the application resulting in a test failure, the &#8220;Vision AI Self-Healing&#8221; module will allow Vision AI to &#8220;self-repair&#8221; the script based on its learned &#8220;intelligence.&#8221;<\/p>\n\n\n\n<p>Vision AI\u2019s engine is integrated with Tricentis Tosca tool. If you are interested in Tosca, check out the blog post (PL) on SII\u2019s page: <a aria-label=\" (opens in a new tab)\" href=\"https:\/\/sii.pl\/blog\/czy-tosca-i-podobne-rozwiazania-codeless-sa-przyszloscia-testowania\/\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"ek-link\">Czy Tosca i podobne rozwi\u0105zania codeless s\u0105 przysz\u0142o\u015bci\u0105 testowania?<\/a><\/p>\n\n\n\n<p>In this article, we will discuss in more detail the use cases of Vision AI in IT projects mentioned at the beginning, focusing on the aspects that distinguish this tool from &#8220;classic&#8221; test automation frameworks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Configuration<\/strong><\/h2>\n\n\n\n<p>We must start with the configuration to prepare our environment for work with Vision AI. Preparations may be divided into a few stages:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Registration,<\/li>\n\n\n\n<li>Login,<\/li>\n\n\n\n<li>Installation,<\/li>\n\n\n\n<li>Connection Configuration.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Registration<\/strong><\/h3>\n\n\n\n<p>Each company\/institution\/project should prepare a new <a href=\"https:\/\/vision-ai.app.tricentis.com\/documentation\/visionscript\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >environment on Nexus Server<\/a>. The administrator should grant access at the user&#8217;s request. After the user receives information that access has been granted \u2013 it is possible to log in to the environment.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Log<\/strong> in process<\/h3>\n\n\n\n<p>To log in, we will use the address: <a href=\"https:\/\/authentication.app.tricentis.com\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >https:\/\/authentication.app.tricentis.com\/<\/a><\/p>\n\n\n\n<p>As a first step, we need to enter the Account Name \u2013 the name of our company \u2013 e. g. SII, and after that, we can click the &#8220;Continue\u201d button.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_1.png\"><img decoding=\"async\" width=\"498\" height=\"410\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_1.png\" alt=\"\" class=\"wp-image-1163\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_1.png 498w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_1-300x247.png 300w\" sizes=\"(max-width: 498px) 100vw, 498px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 1 Login page view \u2013 field &#8220;Enter your company name&#8221;<\/figcaption><\/figure>\n\n\n\n<p>In the next step, we need to enter our e-mail and password. Additionally, we can check the option &#8220;Remember me&#8221;, and finally, we are ready to click &#8220;Login&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_2.png\"><img decoding=\"async\" width=\"587\" height=\"555\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_2.png\" alt=\"\" class=\"wp-image-1165\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_2.png 587w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_2-300x284.png 300w\" sizes=\"(max-width: 587px) 100vw, 587px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 2 Login page view for user<\/figcaption><\/figure>\n\n\n\n<p>After login, it is worth preparing a Token \u2013 it will be needed to connect with the Vision AI agent. Creating a token is more convenient than entering credentials with every run and allows better stability during module creation with Vision AI and test execution. To generate a Token, click the &#8220;Add new&#8221; button.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_3.png\"><img decoding=\"async\" width=\"1024\" height=\"663\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_3-1024x663.png\" alt=\"\" class=\"wp-image-1167\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_3-1024x663.png 1024w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_3-300x194.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_3-768x498.png 768w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_3.png 1062w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 3 Account view with Token section<\/figcaption><\/figure>\n\n\n\n<p>Please remember that the Token&#8217;s data is visible only during Token generation \u2013 it is essential to save this data in Notepad for future usage. If we do not do that \u2013 the Token will not be possible to use, and there will be a need to create another one (and save that Token&#8217;s data in Notepad). Please note that the token has an expiration date; after its expiration, we need to create a new one and then connect it to our services again. Still, it is a better option than entering credentials for the Vision AI agent every day \ud83d\ude09 <\/p>\n\n\n\n<p>Below, you can find the screen with an example token &#8220;test&#8221; with all information about the generated data \u2013 this data should be copied and saved to Notepad for future use (next to each value, you may find the &#8220;copy&#8221; icon).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_4.png\"><img decoding=\"async\" width=\"809\" height=\"467\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_4.png\" alt=\"\" class=\"wp-image-1169\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_4.png 809w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_4-300x173.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_4-768x443.png 768w\" sizes=\"(max-width: 809px) 100vw, 809px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 4 Token &#8220;test&#8221; example<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Installation<\/strong><\/h3>\n\n\n\n<p>During our previous work with Tosca Commander, we decided not to install Vision AI components for Tosca during Tosca Commander installation \u2013 we need to download the Tosca Commander installation file again (according to the used version) and run the installation file. Next, click the &#8220;Modify\u201d button &gt; &#8220;Custom Installation&#8221; button and &#8220;Next\u201d button. On the next screen, we need to set the checkbox as &#8220;True\u201d for Vision AI:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_5.png\"><img decoding=\"async\" width=\"900\" height=\"600\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_5.png\" alt=\"\" class=\"wp-image-1171\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_5.png 900w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_5-300x200.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_5-768x512.png 768w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 5 Tricentis Tosca Setup \u2013 Vision AI installation<\/figcaption><\/figure>\n\n\n\n<p>Then, we need to click on another &#8220;Next&#8221; button and confirm changes with the &#8220;Modify&#8221; button. After the installation process is finished, we should get confirmation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong>Connection configuration<\/strong><\/strong><\/h3>\n\n\n\n<p>We need to run the Vision AI agent (it was added to Tosca Commander during installation). It is also a standalone application that will run during the Vision AI engine&#8217;s module scan and test execution, using steps prepared by the Vision AI engine.<\/p>\n\n\n\n<p>Vision AI agent is available from the system tray \u2013 to create a stable connection using the Token, we need to right-click on the Vision AI agents&#8217; icon and choose &#8220;Settings&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_6.png\"><img decoding=\"async\" width=\"348\" height=\"319\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_6.png\" alt=\"\" class=\"wp-image-1173\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_6.png 348w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_6-300x275.png 300w\" sizes=\"(max-width: 348px) 100vw, 348px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 6 Vision AI agent system tray menu<\/figcaption><\/figure>\n\n\n\n<p>We set the correct Nexus Server Endpoint for our environment and set the connection with the previously prepared Token. We can do that using the &#8220;Set Token&#8221; button. The following stages are intuitive, and requests are displayed on the screen. If the Token was prepared before and data was saved in Notepad, we only need to paste the correct values into the fields.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_7.png\"><img decoding=\"async\" width=\"660\" height=\"440\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_7.png\" alt=\"\" class=\"wp-image-1175\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_7.png 660w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_7-300x200.png 300w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 7 Vision AI agent settings view with Token<\/figcaption><\/figure>\n\n\n\n<p>When the Token is connected with the Vision AI agent, we should close and restart it, and new settings should be loaded into the application.<\/p>\n\n\n\n<p>If we plan to run our tests on DEX, we should ask the administrator to create an account on the Vision AI platform for the user who should log into the system during the test (e.g., a bot user). We should also generate a Token for this user, install the Vision AI agent on the VM, and connect the Vision AI agent with the Token. Adding the task of running Vision AI on the VM after Windows runs is crucial.<\/p>\n\n\n\n<p><strong>Important information \u2013 Vision AI will work only when connected to the Internet.<\/strong> <\/p>\n\n\n\n<p>If you would like to know more about configuration, feel free to find a link to the Tricentis document and read more about <a href=\"https:\/\/vision-ai.app.tricentis.com\/documentation\/tosca\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Vision AI documentation<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Vision AI \u2013 use cases<\/strong><\/h2>\n\n\n\n<p>There are 3 main ways to use Vision AI:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Building steps via the Run Vision Script module.<\/li>\n\n\n\n<li>UI Mockup Scanning \u2013 to prepare preliminary tests before the application code is written but when the UI design is ready.<\/li>\n\n\n\n<li>Scanning images, graphs, and applications is challenging for classic automation. Vision AI is useful wherever standard methods of verifying data are not stable (e.g., reading data from charts saved in JPG\/PNG format).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Run Vision Script module<\/strong><\/h3>\n\n\n\n<p>The &#8220;Run VisionScript&#8221; module, which can be found in Standard Modules in Tosca, allows you to control the application using keywords and structures similar to &#8220;natural language&#8221;.<\/p>\n\n\n\n<p>The example below (populate the contact form on the Sii website to verify the correctness of the validation) illustrates a simple case of using the &#8220;Run VisionScript&#8221; module in Tosca.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_8.png\"><img decoding=\"async\" width=\"1024\" height=\"720\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_8-1024x720.png\" alt=\"\" class=\"wp-image-1177\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_8-1024x720.png 1024w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_8-300x211.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_8-768x540.png 768w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_8.png 1100w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 8 Example test using the &#8220;Run VisionScript&#8221; module<\/figcaption><\/figure>\n\n\n\n<p>After running the script, the indicated form fields will be filled in, a category selected from the list will be clicked, and the send message button will be clicked. Finally, the script will verify the content and color of the message about incorrect form completion.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_9.png\"><img decoding=\"async\" width=\"1024\" height=\"611\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_9-1024x611.png\" alt=\"\" class=\"wp-image-1179\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_9-1024x611.png 1024w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_9-300x179.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_9-768x458.png 768w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_9.png 1213w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 9 Tested contact form<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>The structure of the &#8220;Run VisionScript&#8221; module<\/strong><\/h3>\n\n\n\n<p>Let&#8217;s take a closer look at the structure of the &#8220;Run VisionScript&#8221; module. We must indicate the name of the tested application each time in the module. Then, using keywords, we perform specific testing steps on the page. Let&#8217;s analyze some examples:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&#8220;TYPE &#8220;Daria&#8221; IN the &#8216;First name&#8217; input&#8221; \u2013 enter the phrase &#8220;Daria&#8221; into the input field labeled &#8220;First name.&#8221;<\/li>\n\n\n\n<li>&#8220;CLICK IN the &#8216;Subject&#8217; dropdown&#8221; \u2013 click (in this case, expand) the dropdown item named &#8216;Subject.&#8217;<\/li>\n\n\n\n<li>&#8220;CLICK the &#8216;Send message&#8217; button&#8221; \u2013 click the &#8216;Send message&#8217; button.<\/li>\n\n\n\n<li>&#8220;VERIFY color&gt; 25% &#8220;red&#8221; FOR the &#8216;The field is required&#8217; text&#8221; \u2013 the &#8220;VERIFY&#8221; keyword enables verification. In this example, we verify whether more than 25% of the pixels in the displayed text are red.<\/li>\n<\/ul>\n\n\n\n<p>A detailed description of all keywords can be found in the <a href=\"https:\/\/vision-ai.app.tricentis.com\/documentation\/visionscript\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Vision AI documentation<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Mock-up scanning<\/strong><\/h3>\n\n\n\n<p>In the IT world, the &#8220;Shift Left&#8221; concept is gaining more and more popularity; it involves shifting tasks related to quality assurance to the initial stages of the software development process. Thanks to this action, we can detect and solve problems earlier (e.g., inconsistency of requirements). And as we know, the sooner the problem is found, the cheaper it is to repair it.<\/p>\n\n\n\n<p>The engine of the Vision AI tool can interpret graphic objects, which allows us to create tests even before the real application and its code are ready. We only need mock-ups to create the first tests.<\/p>\n\n\n\n<p>Graphics from freepik.com (&#8220;Gradient UI\/UX elements collection&#8221;) were used to demonstrate the operation of the Vision AI engine.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_10.png\"><img decoding=\"async\" width=\"1024\" height=\"537\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_10-1024x537.png\" alt=\"\" class=\"wp-image-1181\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_10-1024x537.png 1024w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_10-300x157.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_10-768x403.png 768w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_10-1536x806.png 1536w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_10.png 1917w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 10 <a href=\"https:\/\/www.freepik.com\/free-vector\/gradient-ui-ux-elements-collection_16627360.htm\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >XScan view when scanning a mockup using the Vision AI engine<\/a><\/figcaption><\/figure>\n\n\n\n<p>The screenshot above shows how effectively Vision AI coped with the mockup, which was based only on a JPG file. Let&#8217;s consider the presented example, XScan in Tosca correctly recognized elements such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>the &#8220;button&#8221; element visible in the upper left corner,<\/li>\n\n\n\n<li>section heading &#8220;highlight update&#8221;<\/li>\n\n\n\n<li>&#8220;user profile&#8221; section header,<\/li>\n\n\n\n<li>graphics: photo of &#8220;Rossy&#8221; in the &#8220;highlight update&#8221; container and &#8220;Adam Suley&#8221; visible in the &#8220;user profile&#8221;<\/li>\n\n\n\n<li>input field &#8220;search something&#8221;<\/li>\n\n\n\n<li>&#8220;message&#8221; button to send a message to Adam Suley<\/li>\n<\/ul>\n\n\n\n<p>An example &#8220;user profile&#8221; section was scanned using the Vision AI engine, and a module was created in Tosca. Then, a test step was prepared using the module.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_11.png\"><img decoding=\"async\" width=\"856\" height=\"429\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_11.png\" alt=\"\" class=\"wp-image-1183\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_11.png 856w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_11-300x150.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_11-768x385.png 768w\" sizes=\"(max-width: 856px) 100vw, 856px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 11 Example test step \u2013 verification of the User Profile section<\/figcaption><\/figure>\n\n\n\n<p>The visibility of all graphic elements and texts was verified. It was also checked whether it is possible to click the buttons &#8220;follow&#8221; and &#8220;message.&#8221; The screenshot below shows the test execution results summarized in the Execution List in Tosca.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_12.png\"><img decoding=\"async\" width=\"856\" height=\"583\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_12.png\" alt=\"\" class=\"wp-image-1185\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_12.png 856w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_12-300x204.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_12-768x523.png 768w\" sizes=\"(max-width: 856px) 100vw, 856px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 12 View of an example test step from the Execution List level<\/figcaption><\/figure>\n\n\n\n<p>Pre-tests prepared in this way can significantly facilitate communication with analysts and businesses and significantly speed up the process of building target tests in the subsequent stages of application development.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Scanning graphic elements<\/strong><\/h2>\n\n\n\n<p>Vision AI can help with test automation of non-standard elements \u2013 like gathering data from a map or a graph with data.<\/p>\n\n\n\n<p>There is only one condition \u2013 the image\/graph\/map should be visible clearly, with good image sharpness and resolution. Vision AI utilizes the same rules as humans to read data from those artifacts. If the object on the image is blurred, it is risky that the correct modules and tests will not be possible. In this situation, we cannot handle automation even when supported by the newest technologies.<\/p>\n\n\n\n<p>Vision AI is also a good option for applications with a nice UI but low-quality code and many non-standardized solutions, which makes it difficult to create automation scripts with standard tools.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Example of a test case performing data verification by Vision AI<\/strong><\/h2>\n\n\n\n<p>Below is an example of a test case performing data verification by Vision AI:<\/p>\n\n\n\n<p><strong>Environment:<\/strong><\/p>\n\n\n\n<p>Chrome (version 124.0.6367.62), incognito mode.<\/p>\n\n\n\n<p><strong>Test Data:<\/strong><\/p>\n\n\n\n<p>Article Category: Development na mi\u0119kko (Eng: Development \u2013 the soft way)<\/p>\n\n\n\n<p>Article Subcategory: Salesforce<\/p>\n\n\n\n<p>Title: Odkrywanie potencja\u0142u Salesforce Maps \u2013 przegl\u0105d narz\u0119dzia (Eng: Discovering the potential of Salesforce Maps)<\/p>\n\n\n\n<p>Author of article: Micha\u0142 Najdora<\/p>\n\n\n\n<p>Publication date: February 23, 2024<\/p>\n\n\n\n<p>Image Description: Ryc. 2 Salesforce Maps \u2013 klienci z r\u00f3\u017cnych region\u00f3w ze zr\u00f3\u017cnicowanym sposobem wy\u015bwietlania (znaczniki, heatmapa, klastry) (Eng: Image 2 Salesforce Maps \u2013 clients from different regions with diverse displaying settings (tags, heatmap, clusters).<\/p>\n\n\n\n<p>City: Gda\u0144sk (Gdansk on map)<\/p>\n\n\n\n<p><strong>Steps:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open page <a href=\"https:\/\/sii.pl\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">https:\/\/sii.pl\/<\/a> in Chrome browser.<\/li>\n\n\n\n<li>Accept all cookies on the page.<\/li>\n\n\n\n<li>Verify if the link to the Blog is visible.<\/li>\n\n\n\n<li>Click on the link to the Blog.<\/li>\n\n\n\n<li>Select the correct category for the article.<\/li>\n\n\n\n<li>Click &#8220;See more&#8221; for article\u2019s subcategory section.<\/li>\n\n\n\n<li>Select the correct subcategory for the article.<\/li>\n\n\n\n<li>Verify if the correct article is visible on the list (verify title, author, category, publication date).<\/li>\n\n\n\n<li>Click the article&#8217;s link.<\/li>\n\n\n\n<li>In the article, search for an image with a description that matches test data.<\/li>\n\n\n\n<li>Verify if the image is visible.<\/li>\n\n\n\n<li>Verify image elements: The &#8220;Layers\u201d icon and the &#8220;Save Changes&#8221; icon are visible. Move the mouse pointer to the City name buffered from test data.<\/li>\n\n\n\n<li>Close browser.<\/li>\n\n\n\n<li>Delete all used buffers.<\/li>\n<\/ol>\n\n\n\n<p>Step 12 will be executed with the module prepared with the Vision AI engine.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_13.png\"><img decoding=\"async\" width=\"1024\" height=\"449\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_13-1024x449.png\" alt=\"\" class=\"wp-image-1187\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_13-1024x449.png 1024w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_13-300x132.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_13-768x337.png 768w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_13-1536x674.png 1536w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_13-370x162.png 370w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_13.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 13 Module prepared with Vision AI engine<\/figcaption><\/figure>\n\n\n\n<p>During scanning images by the Vision AI engine, we can recognize standard elements like the buttons mentioned before and objects on the map, such as cities and river names. From our image, we can read a few city names \u2013 so for the Reusable Test Step Block, we added the Business Parameter &#8220;City\u201d and connected it with a buffer with the same name \u2013 so we can set different city names than from Test Data (e. g. &#8220;Wroclaw\u201d). Also, they will be found on the map.<\/p>\n\n\n\n<p>Below, you can find the test execution recording.<\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"When the going gets tough, the tough get going with Vision AI\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/DhfTaAa3scA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Test Case with Vision AI steps \u2013 execution (video)<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Vision AI Self-Healing functionality<\/strong><\/h2>\n\n\n\n<p>Because Vision AI uses machine learning as a data analysis method and can interpret UI elements like a &#8220;real&#8221; application user, it was possible to introduce &#8220;self-healing&#8221; functionality into the tests.<\/p>\n\n\n\n<p>To enable the Vision AI Self-Healing mechanism, you must allow the application to store test history in the cloud. This will allow Vision AI to analyze images from test runs, &#8220;learn&#8221; the interface, and create several stable alternatives to find application elements used in the test.<\/p>\n\n\n\n<p>The next step is to search for the &#8220;Vision AI Self-Healing&#8221; module and add it as a Test Step in the Recovery Scenario in Tosca, as illustrated in the screenshot below.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_15.png\"><img decoding=\"async\" width=\"745\" height=\"160\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_15.png\" alt=\"\" class=\"wp-image-1189\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_15.png 745w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_15-300x64.png 300w\" sizes=\"(max-width: 745px) 100vw, 745px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 15 Adding the &#8220;Vision AI Self-Healing&#8221; step to the Recovery Scenario<\/figcaption><\/figure>\n\n\n\n<p>Using the form submit button example presented earlier in the article, let&#8217;s consider a situation in which the &#8220;self-repair&#8221; test mechanism may work. If this button changes color or position, Vision AI will still be able to recognize the item correctly. Dynamic IDs or changing class names will also not prevent the tool from correctly identifying the button.<\/p>\n\n\n\n<p>To demonstrate the &#8220;self-healing&#8221; mechanism, we have changed the appearance of the button at the bottom of the form, as shown in the screenshot below.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_16.png\"><img decoding=\"async\" width=\"1024\" height=\"242\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_16-1024x242.png\" alt=\"\" class=\"wp-image-1191\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_16-1024x242.png 1024w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_16-300x71.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_16-768x181.png 768w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_16-1536x363.png 1536w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_16.png 1845w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 16 Changes to the HTML code of the contact form<\/figcaption><\/figure>\n\n\n\n<p>The following have changed: id, name, classes responsible for the size and color of the element, and the button label. Tosca could not find the button in the first iteration, so the &#8220;self-healing&#8221; mechanism was triggered. The &#8220;Vision AI Self-Healing&#8221; module worked correctly, and despite the changes introduced, Tosca managed to click the button in the second iteration.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_17.png\"><img decoding=\"async\" width=\"1024\" height=\"396\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_17-1024x396.png\" alt=\"\" class=\"wp-image-1193\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_17-1024x396.png 1024w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_17-300x116.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_17-768x297.png 768w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_17.png 1122w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 17 Execution List \u2013 an example of the test self-healing mechanism<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Sandbox (VisionAI assistant)<\/strong><\/h2>\n\n\n\n<p>If you are unfamiliar with Vision AI possibilities \u2013 do not worry \u2013 Tricentis gives us Sandbox \u2013 a Vision AI assistant that allows us to check many Vision AI options and solutions. The environment is available in the same way as for other components of Vision AI \u2013 the administrator should create an account for us (<a href=\"https:\/\/vision-ai.app.tricentis.com\/documentation\/visionscript\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >link to the environment<\/a>).<\/p>\n\n\n\n<p>Aafter opening the page, please click &#8220;Start Assistant&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_18.png\"><img decoding=\"async\" width=\"1024\" height=\"486\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_18-1024x486.png\" alt=\"\" class=\"wp-image-1197\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_18-1024x486.png 1024w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_18-300x142.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_18-768x364.png 768w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_18-1536x729.png 1536w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_18.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>After that, select the Vision AI agent from the list (its name will be correlated with our computer&#8217;s).<\/p>\n\n\n\n<p>After running the correct Vision AI agent, all windows with applications are loaded into the list of &#8220;visible\u201d elements for Vision AI. We can choose one from the list and start to build our script based on visible elements.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_19.png\"><img decoding=\"async\" width=\"1024\" height=\"486\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_19-1024x486.png\" alt=\"\" class=\"wp-image-1199\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_19-1024x486.png 1024w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_19-300x142.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_19-768x364.png 768w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_19-1536x729.png 1536w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_19.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 19 Vision AI agent \u2013 example of visible applications for Vision AI engine<\/figcaption><\/figure>\n\n\n\n<p>If we select one of the elements, we can edit its loaded values and add steps before and after it. Our options are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>select window,<\/li>\n\n\n\n<li>reload view,<\/li>\n\n\n\n<li>scan image,<\/li>\n\n\n\n<li>import script,<\/li>\n\n\n\n<li>set an interactive mode for the element (click, enter, save),<\/li>\n\n\n\n<li>verify,<\/li>\n\n\n\n<li>run the script,<\/li>\n\n\n\n<li>save the script, and more.<\/li>\n<\/ul>\n\n\n\n<p>We can return at any time to our Sandbox (Vision AI assistant), and prepared steps will be saved and available.<\/p>\n\n\n\n<p>Every added step can be:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>edited,<\/li>\n\n\n\n<li>deleted,<\/li>\n\n\n\n<li>copied,<\/li>\n\n\n\n<li>cut,<\/li>\n\n\n\n<li>moved up\/down, and more.<\/li>\n<\/ul>\n\n\n\n<p>We can add various steps like loops:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>IF,<\/li>\n\n\n\n<li>WHILE,<\/li>\n\n\n\n<li>REPEAT UNTIL,<\/li>\n\n\n\n<li>WAIT UNTIL,<\/li>\n\n\n\n<li>TRY FAILURE,<\/li>\n\n\n\n<li>WITH.<\/li>\n<\/ul>\n\n\n\n<p>We can also import the script in &#8220;.vs\u201d format as a step. There are plenty of possibilities, and it is worth individually exploring more to understand Vision AI&#8217;s purpose of use.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_20.png\"><img decoding=\"async\" width=\"1024\" height=\"486\" src=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_20-1024x486.png\" alt=\"\" class=\"wp-image-1201\" srcset=\"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_20-1024x486.png 1024w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_20-300x142.png 300w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_20-768x364.png 768w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_20-1536x729.png 1536w, https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/VisionAI_20.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 20 Example of element recognition on the page by Vision AI<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Vision AI limitations<\/strong><\/h2>\n\n\n\n<p>As with all tools \u2013 Vision AI also has its limitations \u2013 Tricentis pointed out a few of them:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Text recognition cooperates with the English alphabet, so Non-English letters\/signs may not be correctly interpreted \u2013 examples: polish language: \u0105, \u0119, \u0142, \u00f3, \u015b, \u0107, \u017c, \u017a, d\u017a, d\u017c. Other than Latin, alphabets will not be operated at all (e.g., Arabic, Cyrillic, Kanji, Hanji).<\/li>\n\n\n\n<li>With Vision AI&#8217;s help, we cannot steer windows reserved for Windows Operating System administrators.<\/li>\n\n\n\n<li>Elements invisible on the UI will not be available for Vision AI. First, we need to scroll the page down (use a non-Vision AI module) or move to the correct view to allow Vision AI to verify the elements. Typical modules\/steps may be used to achieve this.<\/li>\n\n\n\n<li>Vision AI may struggle with table steering \u2013 especially if not all rows\/columns are visible on one page\/area\/view.<\/li>\n\n\n\n<li>Vision AI learns from provided data, so at the beginning of using this tool, it is possible that objects will not be recognized correctly \u2013 this time, it should be calculated in the testing process. The more executions, the more correct recognitions.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Summary<\/strong><\/h2>\n\n\n\n<p>Vision AI is a promising tool that helps build tests where using standard tools is difficult. Of course, it will not be the best option for all projects and will not replace test developers because the test steps need to be built with an understanding of business processes. Vision AI unblocks areas where only manual testing was available until now. Other automation engines available in Tosca Commander are faster and more reliable for &#8220;standard&#8221; scenarios.<\/p>\n\n\n\n<p>Using Vision AI allows us to create the first draft of steps in situations where&nbsp;development is not finished yet \u2013 like when only UI mock-ups are available. True, modules created using mock-ups may need updates in the future, but a lot of time will be saved. For a few types of projects, this solution will be an advantage and a game-changer for test developers.<\/p>\n\n\n\n<p>It is worth checking Vision AI&#8217;s possibilities on your own and becoming a &#8220;friend&#8221; with this tool will help you with your daily work.<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;1162&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;2&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;0\\\/5&quot;,&quot;size&quot;:&quot;30&quot;,&quot;title&quot;:&quot;When the going gets tough, the tough get going with Vision AI&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/5&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 24px;\">\n            <span class=\"kksr-muted\"><\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>&#8216;Is it possible for test automation tools to learn the UI of an application in the same way a real-life &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.ua\/blog\/en\/when-the-going-gets-tough-the-tough-get-going-with-vision-ai\/\">Continued<\/a><\/p>\n","protected":false},"author":55,"featured_media":1204,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[45,81,79,2154,2153],"class_list":["post-1162","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hard-development","tag-ai","tag-tools","tag-tosca","tag-vision","tag-vision-ai"],"acf":[],"aioseo_notices":[],"featured_media_url":"https:\/\/sii.ua\/blog\/wp-content\/uploads\/2024\/09\/Gdzie-tester-poradzic-nie-moze-tam-Vision-AI-posle.jpg","category_names":["Hard development"],"_links":{"self":[{"href":"https:\/\/sii.ua\/blog\/en\/wp-json\/wp\/v2\/posts\/1162"}],"collection":[{"href":"https:\/\/sii.ua\/blog\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.ua\/blog\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.ua\/blog\/en\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.ua\/blog\/en\/wp-json\/wp\/v2\/comments?post=1162"}],"version-history":[{"count":2,"href":"https:\/\/sii.ua\/blog\/en\/wp-json\/wp\/v2\/posts\/1162\/revisions"}],"predecessor-version":[{"id":1238,"href":"https:\/\/sii.ua\/blog\/en\/wp-json\/wp\/v2\/posts\/1162\/revisions\/1238"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.ua\/blog\/en\/wp-json\/wp\/v2\/media\/1204"}],"wp:attachment":[{"href":"https:\/\/sii.ua\/blog\/en\/wp-json\/wp\/v2\/media?parent=1162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.ua\/blog\/en\/wp-json\/wp\/v2\/categories?post=1162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.ua\/blog\/en\/wp-json\/wp\/v2\/tags?post=1162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}