{"id":78785,"date":"2026-07-12T02:52:59","date_gmt":"2026-07-12T02:52:59","guid":{"rendered":"http:\/\/bangla.sitestree.com\/?p=78785"},"modified":"2026-07-12T02:53:00","modified_gmt":"2026-07-12T02:53:00","slug":"self-healing-tests-automation-adapts-when-locators-change","status":"publish","type":"post","link":"http:\/\/bangla.sitestree.com\/?p=78785","title":{"rendered":"Self-healing tests, Automation adapts when locators change."},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Self-healing tests<\/strong> means:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Automated test scripts can adjust themselves when small changes happen in the application, especially in the UI.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">What does \u201clocator\u201d mean?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In test automation, a <strong>locator<\/strong> is how the test finds an element on the screen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Click the Login button\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The automation tool needs to find the Login button using something like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>id = loginButton\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">or<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>xpath = \/html\/body\/div\/button&#91;1]\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">or<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>text = Login\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">What problem happens?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Suppose the developer changes the button ID:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Old: id = loginButton\nNew: id = signInButton\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A normal automated test may fail because it cannot find <code>loginButton<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But the application may still be working. The test failed because the <strong>locator changed<\/strong>, not because the feature is broken.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Self-healing test example<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A self-healing test may say:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u201cI cannot find <code>loginButton<\/code>, but I see another button with similar text, same location, and same function. It is probably the same Login button.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">So the automation adapts and continues the test.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Simple classroom explanation<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Self-healing tests reduce false failures caused by small UI changes.<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">They are useful when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>button IDs change,<\/li>\n\n\n\n<li>page layout changes slightly,<\/li>\n\n\n\n<li>CSS class names change,<\/li>\n\n\n\n<li>element location changes,<\/li>\n\n\n\n<li>text changes slightly from \u201cLogin\u201d to \u201cSign in.\u201d<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Important warning<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Self-healing does <strong>not<\/strong> mean tests are always correct.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can tell students:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u201cSelf-healing tests are helpful, but humans still need to review important changes. If the test heals itself incorrectly, it may hide a real defect.\u201d<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Easy teaching line<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Self-healing test automation means the test can still find the right UI element even when the technical locator changes.<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">REF: AI Tools as is<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Self-healing tests means: Automated test scripts can adjust themselves when small changes happen in the application, especially in the UI. What does \u201clocator\u201d mean? In test automation, a locator is how the test finds an element on the screen. Example: The automation tool needs to find the Login button using something like: or or What &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"http:\/\/bangla.sitestree.com\/?p=78785\">Continue reading<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1661],"tags":[],"class_list":["post-78785","post","type-post","status-publish","format-standard","hentry","category-agile-","item-wrap"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":75786,"url":"http:\/\/bangla.sitestree.com\/?p=75786","url_meta":{"origin":78785,"position":0},"title":"What to know for Software Automation?","author":"Sayed","date":"May 22, 2023","format":false,"excerpt":"\u2022What is TEST AUTOMATION? \u2022What are the different Types of Software Testing? \u2022Give examples of Manual Testing Tools \u2022Give some overview of Test Automation \u2022What is the Purpose and need of Automation? \u2022Give some Example of Automation tools? \u2022Difference between Automation and Manual Testing? \u2022Def, Reliability, Reuse, Batch, Time Saving,\u2026","rel":"","context":"In &quot;\u09ac\u09cd\u09b2\u0997 \u0964 Blog&quot;","block_context":{"text":"\u09ac\u09cd\u09b2\u0997 \u0964 Blog","link":"http:\/\/bangla.sitestree.com\/?cat=182"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":78789,"url":"http:\/\/bangla.sitestree.com\/?p=78789","url_meta":{"origin":78785,"position":1},"title":"Was quality truly built in???","author":"Sayed","date":"July 12, 2026","format":false,"excerpt":"Answer: Probably no \u2014 quality was not truly built in. The team may have done some testing, but the result shows that quality was not built into the full process. Why? Because: EvidenceWhat it suggestsCheckout crashes 40% of the timeCritical functionality was not properly tested.Password reset failsImportant user flow was\u2026","rel":"","context":"In &quot;Agile | \u098f\u099c\u09be\u0987\u09b2&quot;","block_context":{"text":"Agile | \u098f\u099c\u09be\u0987\u09b2","link":"http:\/\/bangla.sitestree.com\/?cat=1661"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":78779,"url":"http:\/\/bangla.sitestree.com\/?p=78779","url_meta":{"origin":78785,"position":2},"title":"Fishbone","author":"Sayed","date":"July 12, 2026","format":false,"excerpt":"Yes. Fishbone Analysis should usually be shown as a diagram, because it is a visual Root Cause Analysis tool. It is also called an Ishikawa Diagram or Cause-and-Effect Diagram. Your slide defines it as a visual tool for identifying possible causes of a specific problem. Simple Fishbone Diagram Example Problem:\u2026","rel":"","context":"In &quot;Agile | \u098f\u099c\u09be\u0987\u09b2&quot;","block_context":{"text":"Agile | \u098f\u099c\u09be\u0987\u09b2","link":"http:\/\/bangla.sitestree.com\/?cat=1661"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":78516,"url":"http:\/\/bangla.sitestree.com\/?p=78516","url_meta":{"origin":78785,"position":3},"title":"CCIE (Cisco Certified Internetwork Expert)","author":"Author-Check- Article-or-Video","date":"September 22, 2025","format":false,"excerpt":"REF: AI Tools\/OpenAI\/ChatGPT \"\ud83d\ude80 What Does CCIE Involve? \ud83d\ude80 \ud83c\udf10 The CCIE (Cisc\/o Certified Internetwork Expert) is one of Cisco\u2019s most respected certifications. It proves mastery of networking technologies at an expert level. \ud83d\udd11 Topics & Skills Covered 1\ufe0f\u20e3 Advanced routing & switching (enterprise-level networking).2\ufe0f\u20e3 Network design and architecture.3\ufe0f\u20e3 Security\u2026","rel":"","context":"In &quot;Computer Networks&quot;","block_context":{"text":"Computer Networks","link":"http:\/\/bangla.sitestree.com\/?cat=1978"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":67837,"url":"http:\/\/bangla.sitestree.com\/?p=67837","url_meta":{"origin":78785,"position":4},"title":"Kentico CMS &#8211; Online Marketing Features #By Sayed Ahmed #Kentico","author":"Author-Check- Article-or-Video","date":"July 29, 2021","format":false,"excerpt":"On-line marketing A\/B tests Banners Campaigns Contacts Contact groups Conversions Email marketing Marketing automation MVT tests Personas Scoring Web analytics From: http:\/\/sitestree.com\/?p=2211 Categories:By Sayed Ahmed, KenticoTags: Post Data:2015-08-12 14:08:56 Shop Online: https:\/\/www.ShopForSoul.com\/ (Big Data, Cloud, Security, Machine Learning): Courses: http:\/\/Training.SitesTree.com In Bengali: http:\/\/Bangla.SaLearningSchool.com http:\/\/SitesTree.com 8112223 Canada Inc.\/JustEtc: http:\/\/JustEtc.net (Software\/Web\/Mobile\/Big-Data\/Machine Learning)\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":74713,"url":"http:\/\/bangla.sitestree.com\/?p=74713","url_meta":{"origin":78785,"position":5},"title":"VassuTech Services Inc., is hiring for Java Spring Developer. 13 more java jobs in Toronto, ON.","author":"Sayed","date":"May 23, 2022","format":false,"excerpt":"Full Stack Software Engineer (On-Site or Hybrid) YuJa Inc. - North York, ON 6 days ago - Sponsored Programmer Analyst - DevOps Buchanan Technologies - Toronto, ON 4 days ago - Sponsored Full Stack Developer Buchanan Technologies - Toronto, ON 4 days ago - Sponsored Java Spring Developer VassuTech Services\u2026","rel":"","context":"In &quot;\u09ac\u09cd\u09b2\u0997 \u0964 Blog&quot;","block_context":{"text":"\u09ac\u09cd\u09b2\u0997 \u0964 Blog","link":"http:\/\/bangla.sitestree.com\/?cat=182"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/78785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=78785"}],"version-history":[{"count":1,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/78785\/revisions"}],"predecessor-version":[{"id":78786,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/78785\/revisions\/78786"}],"wp:attachment":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=78785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=78785"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=78785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}