<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3378166049229928450</id><updated>2026-10-14T06:22:18.084+05:30</updated><category term="Java Programs for Interview"/><category term="Selenium"/><category term="Salesforce Interview  Questions"/><category term="JAVA"/><category term="Playwright Series"/><category term="Provar Questions and Answers"/><category term="Appium"/><category term="Java Important Topic for Interview"/><category term="AWS"/><category term="Appium Architecture"/><category term="Automation Framework"/><category term="Azure"/><category term="C Programs"/><category term="C# Interview Programs"/><category term="Generic Method to excel read"/><category term="Google Cloud Platform (GCP)"/><category term="Junit"/><category term="Machine Learning"/><category term="Manual Testing Interview Questions"/><category term="OmniStudio Architecture"/><category term="Python Programs"/><category term="SQL Query Interview Questions and Answers"/><category term="Telerik Test Studio"/><category term="TestNG interview Questions"/><category term="Tosca"/><category term="Ultimate Guide to Cucumber Testing"/><category term="Vlocity"/><category term="Xpath"/><title type='text'>AutomationCodes</title><subtitle type='html'>This Blog Demonstrates and  help the user to skilled up in Salesforce And Automation Testing through multiple article on Automation testing , Selenium, Appium, Interview Questions, SQL, Java Programs with output and manual testing also.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.automationcodes.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>140</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-6717384354390130230</id><published>2026-05-27T18:19:07.393+05:30</published><updated>2026-05-27T19:35:08.252+05:30</updated><title type='text'>Complete TypeScript in 30 Minutes</title><content type='html'>&lt;div class=&quot;post-body&quot; style=&quot;background: rgb(254, 254, 254); color: #2d3436; font-family: Georgia, &amp;quot;Times New Roman&amp;quot;, serif; font-size: 1.05em; line-height: 1.9; margin: 0px auto; max-width: 850px; padding: 25px 20px;&quot;&gt;&lt;h1 class=&quot;post-title&quot; style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 2.4em; letter-spacing: -0.5px; line-height: 1.2; margin-bottom: 8px; text-align: center;&quot;&gt;🚀 Learn TypeScript from Scratch&lt;/h1&gt;&lt;p class=&quot;subtitle&quot; style=&quot;color: #636e72; font-family: Georgia, serif; font-size: 1.2em; font-style: italic; margin: 18px 0px 30px; text-align: center;&quot;&gt;A complete beginner&#39;s guide — no JavaScript experience needed!&lt;/p&gt;&lt;div class=&quot;welcome-box&quot; style=&quot;background: linear-gradient(135deg, rgb(255, 245, 245) 0%, rgb(255, 249, 219) 100%); border-radius: 16px; border: 2px solid rgb(250, 177, 160); margin: 30px 0px; padding: 25px 30px; position: relative;&quot;&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #d63031; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.4em; margin-bottom: 15px; margin-top: 10px; padding-left: 15px;&quot;&gt;Hey there, future TypeScript developer!&lt;/h3&gt;&lt;p style=&quot;margin: 12px 0px; text-align: justify;&quot;&gt;If you&#39;ve never written a line of code before, &lt;strong&gt;you&#39;re in the right place&lt;/strong&gt;. This guide assumes nothing. We&#39;ll start from the absolute basics and build up to professional-level patterns that companies like Google and Microsoft use every day.&lt;/p&gt;&lt;p style=&quot;margin: 12px 0px; text-align: justify;&quot;&gt;By the end, you&#39;ll understand not just &lt;em&gt;how&lt;/em&gt; to write TypeScript, but &lt;em&gt;why&lt;/em&gt; it makes your life easier. Let&#39;s dive in! 🏊&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;introduction&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;📖&lt;/span&gt;What Is TypeScript, Really?&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Imagine you&#39;re writing a letter to a friend. In regular JavaScript, you can write anything you want — but if you make a spelling mistake or address it to the wrong person, you won&#39;t know until your friend reads it (or doesn&#39;t!).&lt;/p&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;&lt;strong&gt;TypeScript is like having a helpful editor proofread your letter before you send it.&lt;/strong&gt; It catches mistakes &lt;em&gt;while you&#39;re writing&lt;/em&gt;, not after. It makes sure you&#39;re addressing the right person, using the right words, and following the right format.&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🍕 Real-World Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Think of a pizza ordering app. In JavaScript, you could accidentally order &quot;42&quot; pizzas instead of &quot;4&quot; because the app doesn&#39;t check if your input is a number or text. TypeScript would catch this immediately and say: &lt;em&gt;&quot;Hey, that&#39;s not a valid pizza count!&quot;&lt;/em&gt; — saving you from a very expensive (and weird) dinner.&lt;/p&gt;&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;TypeScript is built &lt;em&gt;on top of&lt;/em&gt; JavaScript. This means &lt;strong&gt;every valid JavaScript program is also a valid TypeScript program&lt;/strong&gt;. TypeScript just adds a layer of safety checks. When you&#39;re done writing, TypeScript removes those checks and outputs plain JavaScript that runs everywhere — browsers, servers, even your phone.&lt;/p&gt;&lt;div class=&quot;remember-box&quot; style=&quot;background: rgb(231, 243, 255); border-radius: 12px; border: 2px solid rgb(0, 102, 204); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;remember-label&quot; style=&quot;align-items: center; color: #004494; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🧠 Remember This&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;TypeScript is &lt;strong&gt;JavaScript with a safety net&lt;/strong&gt;. It checks your code for mistakes &lt;em&gt;before&lt;/em&gt; you run it. The checks disappear when your code runs, so there&#39;s no speed penalty. It&#39;s like having a spell-checker for your code!&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;prerequisites&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🎯&lt;/span&gt;What You Need to Start&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Good news: you don&#39;t need much!&lt;/p&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiZ4qLh215f6oG7LfnN7I-jR1ngXXABxcMXT3MFg1wsJOW6EjTHjj3_4HjHoxS2mI0OJ-zkQxvyKrVxZAOcMso_J9fIHTXybWAox-v4HwVbrcXAWG2TM4X-JTNUkooNEikRCfFG2-6bPkvkgm_8DfdeFVn6o8Ta2lm0hAZCG_ztbIgLpGKttwY8yLO3XELt&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;306&quot; data-original-width=&quot;636&quot; height=&quot;248&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiZ4qLh215f6oG7LfnN7I-jR1ngXXABxcMXT3MFg1wsJOW6EjTHjj3_4HjHoxS2mI0OJ-zkQxvyKrVxZAOcMso_J9fIHTXybWAox-v4HwVbrcXAWG2TM4X-JTNUkooNEikRCfFG2-6bPkvkgm_8DfdeFVn6o8Ta2lm0hAZCG_ztbIgLpGKttwY8yLO3XELt=w488-h248&quot; width=&quot;488&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;try-box&quot; style=&quot;background: rgb(212, 237, 218); border-radius: 12px; border: 2px solid rgb(40, 167, 69); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;try-label&quot; style=&quot;align-items: center; color: #155724; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;✋ Let&#39;s Check If Node Is Installed&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Open your terminal (Command Prompt on Windows, Terminal on Mac) and type:&lt;/p&gt;&lt;div class=&quot;terminal&quot; style=&quot;background: rgb(30, 30, 30); border-radius: 10px; color: #4ade80; font-family: Consolas, monospace; font-size: 0.9em; margin: 15px 0px; padding: 15px 20px;&quot;&gt;node --version&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;If you see something like &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;v20.12.0&lt;/code&gt;, you&#39;re good to go! If not, download Node.js from the official website first.&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;section-divider&quot; style=&quot;background: linear-gradient(90deg, rgb(116, 185, 255), rgb(162, 155, 254), rgb(253, 121, 168)); border-radius: 2px; height: 3px; margin: 45px 0px; opacity: 0.5;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;part-banner&quot; style=&quot;background: linear-gradient(135deg, rgb(102, 126, 234) 0%, rgb(118, 75, 162) 100%); border-radius: 14px; box-shadow: rgba(102, 126, 234, 0.4) 0px 8px 20px -5px; color: white; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.15em; font-weight: 700; margin: 35px 0px; padding: 18px 25px; text-align: center;&quot;&gt;📚 Part 1: Your First Steps in TypeScript&lt;/div&gt;&lt;h2 id=&quot;setup&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;⚙️&lt;/span&gt;Setting Up Your First TypeScript Project&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Before we write any code, we need to tell TypeScript &lt;em&gt;how&lt;/em&gt; to check our code. We do this with a special file called &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;tsconfig.json&lt;/code&gt; — think of it as the &lt;strong&gt;rulebook&lt;/strong&gt; for your project.&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🏠 House Building Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Imagine &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;tsconfig.json&lt;/code&gt; as the blueprint for a house. It tells the builders (TypeScript compiler) what materials to use, how strict the building codes should be, and where to put the finished house. Without a blueprint, everyone guesses — and that&#39;s how bugs happen!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Step 1: Create Your Project Folder&lt;/h3&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Open your terminal and create a new folder for your project:&lt;/p&gt;&lt;div class=&quot;terminal&quot; style=&quot;background: rgb(30, 30, 30); border-radius: 10px; color: #4ade80; font-family: Consolas, monospace; font-size: 0.9em; margin: 15px 0px; padding: 15px 20px;&quot;&gt;mkdir my-first-typescript&lt;/div&gt;&lt;div class=&quot;terminal&quot; style=&quot;background: rgb(30, 30, 30); border-radius: 10px; color: #4ade80; font-family: Consolas, monospace; font-size: 0.9em; margin: 15px 0px; padding: 15px 20px;&quot;&gt;cd my-first-typescript&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Step 2: Initialize TypeScript&lt;/h3&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Type this command to create your rulebook:&lt;/p&gt;&lt;div class=&quot;terminal&quot; style=&quot;background: rgb(30, 30, 30); border-radius: 10px; color: #4ade80; font-family: Consolas, monospace; font-size: 0.9em; margin: 15px 0px; padding: 15px 20px;&quot;&gt;npx tsc --init&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;This creates a &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;tsconfig.json&lt;/code&gt; file. Now let&#39;s make it strict (so it catches more bugs):&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;{
  &quot;compilerOptions&quot;: {
    &quot;target&quot;: &quot;ES2022&quot;,
    &quot;module&quot;: &quot;ESNext&quot;,
    &quot;strict&quot;: true,
    &quot;esModuleInterop&quot;: true,
    &quot;skipLibCheck&quot;: true,
    &quot;outDir&quot;: &quot;./dist&quot;,
    &quot;rootDir&quot;: &quot;./src&quot;
  },
  &quot;include&quot;: [&quot;src/**/*&quot;]
}&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;think-box&quot; style=&quot;background: rgb(255, 249, 219); border-radius: 12px; border: 2px dashed rgb(252, 196, 25); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;think-label&quot; style=&quot;color: #e67700; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; margin-bottom: 10px;&quot;&gt;🤔 What Does This Mean?&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Don&#39;t worry about every line right now. Here&#39;s what matters:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;&quot;strict&quot;: true&lt;/code&gt; — TypeScript will be extra careful checking your code. This is good!&lt;/li&gt;&lt;li&gt;&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;&quot;outDir&quot;: &quot;./dist&quot;&lt;/code&gt; — Compiled JavaScript goes here&lt;/li&gt;&lt;li&gt;&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;&quot;rootDir&quot;: &quot;./src&quot;&lt;/code&gt; — Your TypeScript files live here&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Step 3: Create Your Folders&lt;/h3&gt;&lt;div class=&quot;terminal&quot; style=&quot;background: rgb(30, 30, 30); border-radius: 10px; color: #4ade80; font-family: Consolas, monospace; font-size: 0.9em; margin: 15px 0px; padding: 15px 20px;&quot;&gt;mkdir src&lt;/div&gt;&lt;div class=&quot;terminal&quot; style=&quot;background: rgb(30, 30, 30); border-radius: 10px; color: #4ade80; font-family: Consolas, monospace; font-size: 0.9em; margin: 15px 0px; padding: 15px 20px;&quot;&gt;mkdir dist&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Your project now looks like this:&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;my-first-typescript/
├── src/          ← Your TypeScript code goes here
├── dist/         ← Compiled JavaScript appears here
└── tsconfig.json ← Your rulebook&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;remember-box&quot; style=&quot;background: rgb(231, 243, 255); border-radius: 12px; border: 2px solid rgb(0, 102, 204); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;remember-label&quot; style=&quot;align-items: center; color: #004494; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🧠 Remember This&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;You write code in &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;src/&lt;/code&gt; (TypeScript files ending in &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;.ts&lt;/code&gt;), and TypeScript automatically creates the matching JavaScript in &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;dist/&lt;/code&gt;. You never touch &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;dist/&lt;/code&gt; manually!&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;hello&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;👋&lt;/span&gt;Your First Program: Hello World&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Every programmer&#39;s journey starts with saying &quot;hello&quot; to the computer. Let&#39;s do that now!&lt;/p&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Step 1: Create Your First File&lt;/h3&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Create a file called &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;hello.ts&lt;/code&gt; inside your &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;src/&lt;/code&gt; folder. Open it in VS Code and type:&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;const greeting: string = &quot;Hello World&quot;;

console.log(greeting);&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;think-box&quot; style=&quot;background: rgb(255, 249, 219); border-radius: 12px; border: 2px dashed rgb(252, 196, 25); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;think-label&quot; style=&quot;color: #e67700; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; margin-bottom: 10px;&quot;&gt;🤔 Let&#39;s Break This Down&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Line by line:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;const&lt;/code&gt; means &quot;this value won&#39;t change&quot; (like writing in permanent marker)&lt;/li&gt;&lt;li&gt;&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;greeting&lt;/code&gt; is the &lt;strong&gt;name&lt;/strong&gt; we give to our value (like labeling a box)&lt;/li&gt;&lt;li&gt;&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;: string&lt;/code&gt; tells TypeScript &quot;this box contains text, not numbers&quot;&lt;/li&gt;&lt;li&gt;&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;= &quot;Hello World&quot;&lt;/code&gt; puts the actual text inside the box&lt;/li&gt;&lt;li&gt;&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;console.log(greeting)&lt;/code&gt; prints the contents of the box to the screen&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Step 2: Compile and Run&lt;/h3&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;In your terminal, type:&lt;/p&gt;&lt;div class=&quot;terminal&quot; style=&quot;background: rgb(30, 30, 30); border-radius: 10px; color: #4ade80; font-family: Consolas, monospace; font-size: 0.9em; margin: 15px 0px; padding: 15px 20px;&quot;&gt;npx tsc&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;TypeScript reads your &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;.ts&lt;/code&gt; file and creates a &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;.js&lt;/code&gt; file in &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;dist/&lt;/code&gt;. Now run it:&lt;/p&gt;&lt;div class=&quot;terminal&quot; style=&quot;background: rgb(30, 30, 30); border-radius: 10px; color: #4ade80; font-family: Consolas, monospace; font-size: 0.9em; margin: 15px 0px; padding: 15px 20px;&quot;&gt;node dist/hello.js&lt;/div&gt;&lt;div class=&quot;output-box&quot; style=&quot;background: rgb(30, 30, 30); border-radius: 10px; color: #74b9ff; font-family: Consolas, monospace; font-size: 0.9em; margin: 15px 0px; padding: 15px 20px;&quot;&gt;Hello World&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;🎉 &lt;strong&gt;You just wrote and ran your first TypeScript program!&lt;/strong&gt;&lt;/p&gt;&lt;div class=&quot;try-box&quot; style=&quot;background: rgb(212, 237, 218); border-radius: 12px; border: 2px solid rgb(40, 167, 69); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;try-label&quot; style=&quot;align-items: center; color: #155724; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🎮 Try It Yourself!&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Change &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;&quot;Hello World&quot;&lt;/code&gt; to your name, like &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;&quot;Hello, Maria!&quot;&lt;/code&gt;. Save the file, run &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;npx tsc&lt;/code&gt; again, then &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;node dist/hello.js&lt;/code&gt;. What do you see?&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Type Inference: TypeScript Is Smart!&lt;/h3&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;TypeScript can often figure out the type without you saying it explicitly. Watch:&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;const greeting = &quot;Hello World&quot;; 
// TypeScript KNOWS this is a string — no need to say :string!&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Both versions work, but as you write bigger programs, being explicit helps prevent confusion. It&#39;s like labeling boxes when you move — tedious now, lifesaver later!&lt;/p&gt;&lt;h2 id=&quot;comments&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;💬&lt;/span&gt;Writing Comments (Notes to Yourself)&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Comments are notes you write for yourself and other humans. The computer completely ignores them. They&#39;re like sticky notes on your code!&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// This is a single-line comment
// The computer ignores everything after //

/*
 * This is a multi-line comment
 * Use it for longer explanations
 * Or to temporarily disable code
 */

/**
 * This is a special JSDoc comment
 * It describes what a function does
 * And shows up in IDE tooltips!
 */
function add(a: number, b: number): number {
    return a + b;
}&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;📝 Why Comments Matter&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Imagine coming back to your code in 6 months. Will you remember why you wrote &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;return a + b&lt;/code&gt;? Comments are love letters to your future self. Write them generously!&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;types&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🧩&lt;/span&gt;Understanding the Type System&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;At its heart, TypeScript is about &lt;strong&gt;shapes&lt;/strong&gt;. Not geometric shapes — data shapes. It checks if the shape of your data matches what you promised.&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🧩 The Puzzle Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Imagine you have a puzzle piece shaped like a square hole. TypeScript makes sure you only try to put square pieces in that hole. If you try to jam a triangle piece in, TypeScript says: &lt;em&gt;&quot;That doesn&#39;t fit!&quot;&lt;/em&gt; before you even try.&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Two Ways to Describe Shapes: interface vs type&lt;/h3&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;TypeScript gives you two tools to describe data shapes. They&#39;re similar but have different strengths:&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// interface — best for object shapes
interface User {
    id: string;
    name: string;
    email: string;
}

// type — best for combinations and transformations
type UserStatus = &#39;active&#39; | &#39;inactive&#39; | &#39;suspended&#39;;
type UserOrNull = User | null;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;think-box&quot; style=&quot;background: rgb(255, 249, 219); border-radius: 12px; border: 2px dashed rgb(252, 196, 25); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;think-label&quot; style=&quot;color: #e67700; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; margin-bottom: 10px;&quot;&gt;🤔 When to Use What?&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Don&#39;t overthink this as a beginner. Here&#39;s a simple rule:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Use &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;interface&lt;/code&gt; when describing the shape of an object (like a User, Product, or Order)&lt;/li&gt;&lt;li&gt;Use &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;type&lt;/code&gt; when you need &quot;either/or&quot; (like &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;string | number&lt;/code&gt;) or complex combinations&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;As you gain experience, the differences will become clearer. For now, both work!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Declaration Merging: interface Superpower&lt;/h3&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Here&#39;s something cool &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;interface&lt;/code&gt; can do that &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;type&lt;/code&gt; can&#39;t:&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;interface User {
    id: string;
    name: string;
}

// Later in your code...
interface User {
    email: string;  // This ADDS to the User interface!
}

// Now User has: id, name, AND email
const user: User = {
    id: &quot;123&quot;,
    name: &quot;Alice&quot;,
    email: &quot;alice@example.com&quot;
};&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;This is called &lt;strong&gt;declaration merging&lt;/strong&gt;. It&#39;s like adding a new room to a house after it&#39;s built — only &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;interface&lt;/code&gt; lets you do this!&lt;/p&gt;&lt;h2 id=&quot;variables&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;📦&lt;/span&gt;Storing Data: Variables&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;A &lt;strong&gt;variable&lt;/strong&gt; is like a labeled box where you store a value. You put something in, give it a name, and use that name later to get your value back.&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;📦 The Box Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Imagine three boxes:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;A &lt;strong&gt;cardboard box&lt;/strong&gt; (&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;var&lt;/code&gt;) — anyone can open it, relabel it, or throw it away. Messy and unpredictable.&lt;/li&gt;&lt;li&gt;A &lt;strong&gt;plastic storage bin&lt;/strong&gt; (&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;let&lt;/code&gt;) — you can change what&#39;s inside, but you can&#39;t have two bins with the same label in the same room.&lt;/li&gt;&lt;li&gt;A &lt;strong&gt;sealed glass case&lt;/strong&gt; (&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;const&lt;/code&gt;) — once you put something in, it stays forever. Safe and predictable.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;The Three Ways to Declare Variables&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// const — use this by default (sealed box)
const name: string = &quot;Alice&quot;;
// name = &quot;Bob&quot;;  // ❌ ERROR! Can&#39;t change a const

// let — use when you NEED to change the value
let score: number = 0;
score = 10;  // ✅ This is fine
score = 20;  // ✅ Still fine

// var — old way, DON&#39;T USE (cardboard box)
var oldWay: string = &quot;avoid this&quot;;
var oldWay: string = &quot;seriously, don&#39;t&quot;;  // Allowed but confusing!&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;ouch-box&quot; style=&quot;background: rgb(248, 215, 218); border-left: 5px solid rgb(220, 53, 69); border-radius: 0px 12px 12px 0px; margin: 20px 0px; padding: 18px 22px;&quot;&gt;&lt;div class=&quot;ouch-label&quot; style=&quot;color: #721c24; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; margin-bottom: 8px;&quot;&gt;⚠️ Why var Is Dangerous&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;var&lt;/code&gt; has weird behavior. It ignores block boundaries (the curly braces &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;{}&lt;/code&gt;), can be redeclared, and causes hard-to-find bugs. It exists only for historical reasons. &lt;strong&gt;Always use &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;const&lt;/code&gt; or &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;let&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;remember-box&quot; style=&quot;background: rgb(231, 243, 255); border-radius: 12px; border: 2px solid rgb(0, 102, 204); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;remember-label&quot; style=&quot;align-items: center; color: #004494; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🧠 The Golden Rule&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;&lt;strong&gt;Default to &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;const&lt;/code&gt;.&lt;/strong&gt; Use &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;let&lt;/code&gt; only when you genuinely need to change the value later. Never use &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;var&lt;/code&gt;. This simple habit prevents 80% of variable-related bugs!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Type Annotations: Being Explicit&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Explicit: you tell TypeScript the type
const age: number = 25;
const name: string = &quot;John&quot;;
const isStudent: boolean = true;

// Implicit: TypeScript figures it out
const age = 25;        // TypeScript sees 25, knows it&#39;s a number
const name = &quot;John&quot;;   // TypeScript sees quotes, knows it&#39;s a string&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Both work, but explicit annotations act as &lt;strong&gt;documentation&lt;/strong&gt;. When another developer (or future you!) reads this code, they immediately know what each variable holds.&lt;/p&gt;&lt;h2 id=&quot;primitive&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🔢&lt;/span&gt;The Building Blocks: Primitive Types&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;TypeScript has several basic types — the LEGO bricks of your programs. Here they are:&lt;/p&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;background: white; border-collapse: collapse; mso-yfti-tbllook: 1184; width: 0px;&quot;&gt;
 &lt;tbody&gt;&lt;tr&gt;
  &lt;td style=&quot;background: #0984E3; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #0984E3; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;What It Holds&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #0984E3; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Example&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Text&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;&quot;Hello&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;&#39;World&#39;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;number&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Numbers (integers and decimals)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;42&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;3.14&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;boolean&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;True or false&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Intentionally empty&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;undefined&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Not yet assigned&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;undefined&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;symbol&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Unique identifier&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;Symbol(&#39;id&#39;)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;bigint&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Huge numbers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;9007199254740991n&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;The Dangerous any Type&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// ❌ BAD: &#39;any&#39; disables ALL type checking
let mysteryBox: any = &quot;hello&quot;;
mysteryBox = 42;        // No error
mysteryBox = true;      // No error
mysteryBox.doAnything(); // No error — CRASH at runtime!

// ✅ GOOD: &#39;unknown&#39; for truly dynamic data
let safeBox: unknown = fetchDataFromAPI();

// Must prove what it is before using
if (typeof safeBox === &#39;string&#39;) {
    console.log(safeBox.toUpperCase()); // Safe!
}&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;ouch-box&quot; style=&quot;background: rgb(248, 215, 218); border-left: 5px solid rgb(220, 53, 69); border-radius: 0px 12px 12px 0px; margin: 20px 0px; padding: 18px 22px;&quot;&gt;&lt;div class=&quot;ouch-label&quot; style=&quot;color: #721c24; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; margin-bottom: 8px;&quot;&gt;⚠️ Never Use any!&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Using &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;any&lt;/code&gt; is like turning off your smoke detector because it beeps too much. Sure, it&#39;s quieter — but your house might burn down! Use &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;unknown&lt;/code&gt; instead when you genuinely don&#39;t know the type yet.&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Type Predicates: Reusable Type Checks&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// A function that PROVES data is a string array
function isStringArray(data: unknown): data is string[] {
    return Array.isArray(data) &amp;amp;&amp;amp; 
           data.every(item =&amp;gt; typeof item === &#39;string&#39;);
}

// Usage
const myData: unknown = [&quot;apple&quot;, &quot;banana&quot;];

if (isStringArray(myData)) {
    myData.forEach(item =&amp;gt; console.log(item));
    // TypeScript TRUSTS you — it knows myData is string[] here
}&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🕵️ The Detective Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;A type predicate is like a detective&#39;s badge. When you show it, TypeScript says: &lt;em&gt;&quot;Okay, I trust your investigation — this data IS what you claim.&quot;&lt;/em&gt; Without the badge, TypeScript stays skeptical.&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;boolean&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🔀&lt;/span&gt;Making Decisions: Booleans and Logic&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Computers make decisions based on &lt;strong&gt;true&lt;/strong&gt; or &lt;strong&gt;false&lt;/strong&gt; — there&#39;s no &quot;maybe&quot; in code! TypeScript helps you write these decisions safely.&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;let isRaining: boolean = true;

if (isRaining) {
    console.log(&quot;Take an umbrella!&quot;);
} else {
    console.log(&quot;Enjoy the sunshine!&quot;);
}

// Logical operators
console.log(!isRaining);        // false (NOT true)
console.log(true &amp;amp;&amp;amp; false);     // false (both must be true)
console.log(true || false);    // true  (at least one is true)&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Type Narrowing: TypeScript Gets Smarter&lt;/h3&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Here&#39;s where TypeScript really shines. Watch how it &lt;strong&gt;narrows&lt;/strong&gt; types based on your checks:&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;function processValue(value: string | number | boolean): void {
    if (typeof value === &#39;string&#39;) {
        // Inside here, TypeScript KNOWS value is a string
        console.log(value.toUpperCase());  // ✅ Allowed!
    } else if (typeof value === &#39;number&#39;) {
        // Inside here, TypeScript KNOWS value is a number
        console.log(value.toFixed(2));     // ✅ Allowed!
    } else {
        // Must be boolean — only option left!
        console.log(value ? &#39;Yes&#39; : &#39;No&#39;); // ✅ Allowed!
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;remember-box&quot; style=&quot;background: rgb(231, 243, 255); border-radius: 12px; border: 2px solid rgb(0, 102, 204); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;remember-label&quot; style=&quot;align-items: center; color: #004494; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🧠 Remember This&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;TypeScript &lt;strong&gt;narrows&lt;/strong&gt; types as you check them. It&#39;s like peeling an onion — each check removes a layer of possibility until TypeScript knows exactly what you&#39;re working with. No guesswork needed!&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;inference&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🤔&lt;/span&gt;When Should You Write Types Explicitly?&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;TypeScript is smart, but you&#39;re smarter. Here&#39;s when to be explicit and when to let TypeScript handle it:&lt;/p&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;background: white; border-collapse: collapse; mso-yfti-tbllook: 1184; width: 0px;&quot;&gt;
 &lt;tbody&gt;&lt;tr style=&quot;height: 45.75pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;
  &lt;td style=&quot;background: #0984E3; height: 45.75pt; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Situation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #0984E3; height: 45.75pt; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Write It Out?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #0984E3; height: 45.75pt; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Why?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 44.15pt; mso-yfti-irow: 1;&quot;&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.15pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Function parameters&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.15pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Always yes&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.15pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Others need to know what to pass in&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 44.15pt; mso-yfti-irow: 2;&quot;&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.15pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Function return values&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.15pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Always yes&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.15pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Others need to know what they&#39;ll get
  back&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 44.15pt; mso-yfti-irow: 3;&quot;&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.15pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Public API interfaces&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.15pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Always yes&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.15pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;These are contracts with other
  developers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 44.9pt; mso-yfti-irow: 4;&quot;&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.9pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Simple local variables&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.9pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Optional&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.9pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;TypeScript usually figures it out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 44.15pt; mso-yfti-irow: 5; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.15pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Complex objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.15pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Yes&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 44.15pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Georgia&amp;quot;,serif; font-size: 11.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Prevents confusion about structure&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// ✅ Good: explicit function signature
function calculateTotal(price: number, quantity: number): number {
    return price * quantity;
}

// ✅ Good: explicit interface
interface Product {
    id: string;
    name: string;
    price: number;
}

// Optional: inference works fine here
const total = calculateTotal(10, 5);  // TypeScript knows it&#39;s number&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;📝 The Restaurant Menu Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Think of explicit types as a restaurant menu. When you order, you want to know what ingredients are in the dish and what you&#39;ll get. Function signatures are your menu — they tell callers exactly what to provide and what to expect. No surprises!&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;loops&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🔄&lt;/span&gt;Repeating Actions: Loops&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Computers excel at doing the same thing over and over. &lt;strong&gt;Loops&lt;/strong&gt; let you repeat code without copy-pasting it a hundred times.&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🏃 The Treadmill Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;A loop is like a treadmill. You keep running (executing code) while a condition is true. When the condition becomes false (you&#39;re tired!), you stop. Just make sure you don&#39;t create an infinite treadmill — that&#39;s an infinite loop, and it&#39;ll crash your program!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;While Loop: &quot;Do This While Something Is True&quot;&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;let count: number = 0;

while (count &amp;lt; 5) {
    console.log(&quot;Count is: &quot; + count);
    count++;  // Add 1 to count — VERY IMPORTANT!
}

// Output:
// Count is: 0
// Count is: 1
// Count is: 2
// Count is: 3
// Count is: 4&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;ouch-box&quot; style=&quot;background: rgb(248, 215, 218); border-left: 5px solid rgb(220, 53, 69); border-radius: 0px 12px 12px 0px; margin: 20px 0px; padding: 18px 22px;&quot;&gt;&lt;div class=&quot;ouch-label&quot; style=&quot;color: #721c24; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; margin-bottom: 8px;&quot;&gt;⚠️ Infinite Loop Warning!&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;If you forget &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;count++&lt;/code&gt;, the loop runs forever because &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;count&lt;/code&gt; never reaches 5. Always make sure your loop condition will eventually become &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;false&lt;/code&gt;!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Do-While Loop: &quot;Do This At Least Once, Then Check&quot;&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;let number: number = 10;

do {
    console.log(number);  // Prints FIRST, checks AFTER
    number++;
} while (number &amp;lt; 10);

// Output: 10
// Even though 10 is NOT less than 10, it prints once!&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;For Loop: &quot;Count From X to Y&quot;&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// for (start; condition; after-each-iteration)
for (let i: number = 0; i &amp;lt;= 5; i++) {
    console.log(i);
}

// Output: 0, 1, 2, 3, 4, 5

// Breaking out early
for (let i: number = 1; i &amp;lt;= 100; i++) {
    if (i % 2 === 0 &amp;amp;&amp;amp; i % 5 === 0) {
        console.log(i);  // Prints multiples of 10
        if (i === 30) {
            break;  // STOP! Don&#39;t check anymore
        }
    }
}
// Output: 10, 20, 30&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;For...Of: The Modern Way (Best for Arrays)&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;const fruits: string[] = [&quot;apple&quot;, &quot;banana&quot;, &quot;cherry&quot;];

for (const fruit of fruits) {
    console.log(fruit);
    // TypeScript knows &#39;fruit&#39; is a string — no guessing!
}

// Output:
// apple
// banana
// cherry&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;try-box&quot; style=&quot;background: rgb(212, 237, 218); border-radius: 12px; border: 2px solid rgb(40, 167, 69); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;try-label&quot; style=&quot;align-items: center; color: #155724; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🎮 Try It Yourself!&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Write a loop that counts from 1 to 20 and prints only the even numbers. Hint: use &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;if (i % 2 === 0)&lt;/code&gt; to check if a number is even!&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;section-divider&quot; style=&quot;background: linear-gradient(90deg, rgb(116, 185, 255), rgb(162, 155, 254), rgb(253, 121, 168)); border-radius: 2px; height: 3px; margin: 45px 0px; opacity: 0.5;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;part-banner&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: linear-gradient(135deg, rgb(102, 126, 234) 0%, rgb(118, 75, 162) 100%); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 14px; box-shadow: rgba(102, 126, 234, 0.4) 0px 8px 20px -5px; color: white; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.15em; font-weight: 700; margin: 35px 0px; padding: 18px 25px; text-align: center;&quot;&gt;📚 Part 2: Working with Data &amp;amp; Functions&lt;/div&gt;&lt;h2 id=&quot;arrays&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;📊&lt;/span&gt;Lists of Data: Arrays&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;So far, we&#39;ve stored single values. But what if you need a &lt;strong&gt;list&lt;/strong&gt; — like a shopping list, a class roster, or test scores? That&#39;s where &lt;strong&gt;arrays&lt;/strong&gt; come in.&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🎒 The Backpack Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;An array is like a backpack with numbered pockets. Each pocket holds one item, and they&#39;re numbered starting from 0 (not 1 — programmers start counting at 0!). You can look inside any pocket, replace items, add new pockets, or remove them.&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Creating and Using Arrays&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// A list of test scores
let scores: number[] = [85, 92, 78, 96, 88];

// Accessing items (remember: counting starts at 0!)
console.log(scores[0]);  // 85 (first item)
console.log(scores[2]);  // 78 (third item)
console.log(scores[4]);  // 88 (fifth item)

// How many items?
console.log(scores.length);  // 5

// Changing an item
scores[1] = 95;  // Changed 92 to 95
console.log(scores);  // [85, 95, 78, 96, 88]&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;think-box&quot; style=&quot;background: rgb(255, 249, 219); border-radius: 12px; border: 2px dashed rgb(252, 196, 25); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;think-label&quot; style=&quot;color: #e67700; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; margin-bottom: 10px;&quot;&gt;🤔 Why Start at 0?&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;This confuses everyone at first! Think of it as &lt;strong&gt;offsets&lt;/strong&gt; rather than positions. The first item is 0 steps away from the start, the second is 1 step away, and so on. It&#39;s weird, but you&#39;ll get used to it. Promise!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Adding and Removing Items&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;const fruits: string[] = [&quot;apple&quot;, &quot;banana&quot;];

fruits.push(&quot;cherry&quot;);      // Add to the END
console.log(fruits);        // [&quot;apple&quot;, &quot;banana&quot;, &quot;cherry&quot;]

fruits.unshift(&quot;avocado&quot;);  // Add to the BEGINNING
console.log(fruits);        // [&quot;avocado&quot;, &quot;apple&quot;, &quot;banana&quot;, &quot;cherry&quot;]

fruits.pop();               // Remove from the END
console.log(fruits);        // [&quot;avocado&quot;, &quot;apple&quot;, &quot;banana&quot;]

fruits.shift();             // Remove from the BEGINNING
console.log(fruits);        // [&quot;apple&quot;, &quot;banana&quot;]&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;remember-box&quot; style=&quot;background: rgb(231, 243, 255); border-radius: 12px; border: 2px solid rgb(0, 102, 204); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;remember-label&quot; style=&quot;align-items: center; color: #004494; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🧠 Memory Trick&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;&lt;strong&gt;Shift&lt;/strong&gt; and &lt;strong&gt;Unshift&lt;/strong&gt; work on the &lt;strong&gt;Start&lt;/strong&gt; (both start with &quot;sh-&quot;). &lt;strong&gt;Push&lt;/strong&gt; and &lt;strong&gt;Pop&lt;/strong&gt; work on the &lt;strong&gt;end&lt;/strong&gt; (both start with &quot;p-&quot;). Silly, but it works!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Finding Items&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;const numbers: number[] = [10, 20, 30, 40, 50];

console.log(numbers.indexOf(30));    // 2 (found at position 2)
console.log(numbers.indexOf(99));    // -1 (not found)
console.log(numbers.includes(20));   // true
console.log(numbers.includes(99));   // false

// Get a slice (subset)
const subset: number[] = numbers.slice(1, 4);  // Positions 1 to 3
console.log(subset);  // [20, 30, 40]&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Tuples: Arrays with Fixed Structure&lt;/h3&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Sometimes you need an array where each position has a specific meaning — like a GPS coordinate (latitude, longitude) or a date (year, month, day). TypeScript calls these &lt;strong&gt;tuples&lt;/strong&gt;.&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// A coordinate: [latitude, longitude]
let coordinates: [number, number] = [40.7128, -74.0060];

// A person record: [name, age, isStudent]
let person: [string, number, boolean] = [&quot;Alice&quot;, 25, true];

// Named tuples (more readable)
type RGB = [red: number, green: number, blue: number];
let purple: RGB = [128, 0, 128];&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Readonly Arrays: Don&#39;t Touch!&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;const daysOfWeek: readonly string[] = [
    &quot;Monday&quot;, &quot;Tuesday&quot;, &quot;Wednesday&quot;, &quot;Thursday&quot;, 
    &quot;Friday&quot;, &quot;Saturday&quot;, &quot;Sunday&quot;
];

// daysOfWeek.push(&quot;Funday&quot;);  
// ❌ ERROR! Can&#39;t modify a readonly array

// daysOfWeek[0] = &quot;Mon&quot;;
// ❌ ERROR! Can&#39;t change items either&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🔒 The Museum Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;A &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;readonly&lt;/code&gt; array is like a museum exhibit behind glass. You can look all you want, but you can&#39;t touch or change anything. Perfect for data that should never change, like days of the week or mathematical constants.&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;array-methods&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;⚡&lt;/span&gt;Powerful Array Methods&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Modern TypeScript encourages a &lt;strong&gt;functional&lt;/strong&gt; style — describing WHAT you want rather than HOW to get it. These methods are like hiring specialists: each does one job perfectly.&lt;/p&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;forEach: &quot;Do Something to Each Item&quot;&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;const names: string[] = [&quot;Alice&quot;, &quot;Bob&quot;, &quot;Charlie&quot;];

names.forEach((name: string) =&amp;gt; {
    console.log(&quot;Hello, &quot; + name + &quot;!&quot;);
});

// Output:
// Hello, Alice!
// Hello, Bob!
// Hello, Charlie!&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;map: &quot;Transform Each Item&quot;&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;const numbers: number[] = [1, 2, 3, 4, 5];

const doubled: number[] = numbers.map((num: number) =&amp;gt; {
    return num * 2;
});

console.log(doubled);  // [2, 4, 6, 8, 10]

// Shorter version (when the logic is simple)
const tripled: number[] = numbers.map(num =&amp;gt; num * 3);
console.log(tripled);  // [3, 6, 9, 12, 15]&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🎨 The Factory Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;map&lt;/code&gt; is like an assembly line. Every item goes through the same machine and comes out transformed. The original items stay untouched — you get a brand new array!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;filter: &quot;Keep Only What Matches&quot;&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;const scores: number[] = [65, 82, 45, 91, 73, 58, 88];

// Keep only passing scores (70 or above)
const passing: number[] = scores.filter((score: number) =&amp;gt; {
    return score &amp;gt;= 70;
});

console.log(passing);  // [82, 91, 73, 88]

// Keep only even numbers
const even: number[] = scores.filter(score =&amp;gt; score % 2 === 0);
console.log(even);  // [82, 58, 88]&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;reduce: &quot;Combine Everything Into One&quot;&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;const prices: number[] = [10, 20, 30, 40];

// Add them all up
const total: number = prices.reduce((sum: number, price: number) =&amp;gt; {
    return sum + price;
}, 0);  // 0 is the starting value

console.log(total);  // 100

// Find the highest score
const scores: number[] = [65, 82, 91, 73, 88];
const highest: number = scores.reduce((max: number, score: number) =&amp;gt; {
    return score &amp;gt; max ? score : max;
}, 0);

console.log(highest);  // 91&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Chaining: The Pipeline Pattern&lt;/h3&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;The real power comes from chaining methods together:&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;const students = [
    { name: &quot;Alice&quot;, score: 85 },
    { name: &quot;Bob&quot;, score: 62 },
    { name: &quot;Charlie&quot;, score: 91 },
    { name: &quot;Diana&quot;, score: 78 }
];

// Get names of students who passed, in uppercase
const passingNames: string[] = students
    .filter(student =&amp;gt; student.score &amp;gt;= 70)     // Keep only passing
    .map(student =&amp;gt; student.name.toUpperCase());  // Get uppercase names

console.log(passingNames);  // [&quot;ALICE&quot;, &quot;CHARLIE&quot;, &quot;DIANA&quot;]&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;try-box&quot; style=&quot;background: rgb(212, 237, 218); border-radius: 12px; border: 2px solid rgb(40, 167, 69); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;try-label&quot; style=&quot;align-items: center; color: #155724; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🎮 Try It Yourself!&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Given &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;[&quot;apple&quot;, &quot;banana&quot;, &quot;cherry&quot;, &quot;date&quot;]&lt;/code&gt;, write a chain that:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Filters to keep only fruits with 6+ letters&lt;/li&gt;&lt;li&gt;Maps to uppercase&lt;/li&gt;&lt;li&gt;Reduces to a single comma-separated string&lt;/li&gt;&lt;/ol&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Expected result: &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;&quot;BANANA,CHERRY&quot;&lt;/code&gt;&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Sorting&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Sorting strings — works automatically
const fruits: string[] = [&#39;Banana&#39;, &#39;Mango&#39;, &#39;Apple&#39;];
fruits.sort();
console.log(fruits);  // [&#39;Apple&#39;, &#39;Banana&#39;, &#39;Mango&#39;]

// Sorting numbers — NEEDS a helper!
const numbers: number[] = [12, 3, 19, 16, 14];

// Ascending (small to large)
numbers.sort((a: number, b: number) =&amp;gt; a - b);
console.log(numbers);  // [3, 12, 14, 16, 19]

// Descending (large to small)
numbers.sort((a: number, b: number) =&amp;gt; b - a);
console.log(numbers);  // [19, 16, 14, 12, 3]&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;ouch-box&quot; style=&quot;background: rgb(248, 215, 218); border-left: 5px solid rgb(220, 53, 69); border-radius: 0px 12px 12px 0px; margin: 20px 0px; padding: 18px 22px;&quot;&gt;&lt;div class=&quot;ouch-label&quot; style=&quot;color: #721c24; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; margin-bottom: 8px;&quot;&gt;⚠️ The Number Sort Trap&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Without a comparator, JavaScript converts numbers to strings first! So &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;[10, 2].sort()&lt;/code&gt; becomes &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;[&quot;10&quot;, &quot;2&quot;]&lt;/code&gt; alphabetically — which is wrong! &lt;strong&gt;Always provide a comparator for number sorting.&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;functions&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🔧&lt;/span&gt;Reusable Code: Functions&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;A &lt;strong&gt;function&lt;/strong&gt; is a reusable recipe. You write it once, give it a name, and use it whenever you need that recipe. Functions are the building blocks of every program.&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🍳 The Recipe Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Think of a function as a recipe card. The &lt;strong&gt;parameters&lt;/strong&gt; are the ingredients list (what you need to provide), the &lt;strong&gt;body&lt;/strong&gt; is the cooking instructions (what happens inside), and the &lt;strong&gt;return value&lt;/strong&gt; is the finished dish (what you get back).&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Named Function&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Recipe: Add two numbers
function add(a: number, b: number): number {
    const result: number = a + b;
    return result;
}

// Using the recipe
const sum1: number = add(5, 3);   // 8
const sum2: number = add(10, 20); // 30

console.log(sum1);  // 8
console.log(sum2);  // 30&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Arrow Functions: The Modern Way&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Short arrow function (one line, implicit return)
const multiply = (a: number, b: number): number =&amp;gt; a * b;

// Multi-line arrow function (explicit return)
const calculateArea = (width: number, height: number): number =&amp;gt; {
    const area: number = width * height;
    return area;
};

console.log(multiply(4, 5));        // 20
console.log(calculateArea(3, 4));   // 12&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;think-box&quot; style=&quot;background: rgb(255, 249, 219); border-radius: 12px; border: 2px dashed rgb(252, 196, 25); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;think-label&quot; style=&quot;color: #e67700; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; margin-bottom: 10px;&quot;&gt;🤔 Arrow vs Regular Functions?&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;For beginners, the difference doesn&#39;t matter much. Arrow functions are shorter and have some advanced behaviors, but either works. Use whichever you find more readable. As you grow, you&#39;ll learn when one is better than the other.&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Optional Parameters&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// greeting has a default value
function greet(name: string, greeting: string = &quot;Hello&quot;): string {
    return greeting + &quot;, &quot; + name + &quot;!&quot;;
}

console.log(greet(&quot;Alice&quot;));           // &quot;Hello, Alice!&quot;
console.log(greet(&quot;Bob&quot;, &quot;Hi&quot;));       // &quot;Hi, Bob!&quot;
console.log(greet(&quot;Carol&quot;, &quot;Goodbye&quot;)); // &quot;Goodbye, Carol!&quot;&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Rest Parameters: Variable Arguments&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Accept ANY number of arguments
function sumAll(...numbers: number[]): number {
    return numbers.reduce((total, num) =&amp;gt; total + num, 0);
}

console.log(sumAll(1, 2, 3));      // 6
console.log(sumAll(10, 20));      // 30
console.log(sumAll());             // 0
console.log(sumAll(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));  // 55&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;remember-box&quot; style=&quot;background: rgb(231, 243, 255); border-radius: 12px; border: 2px solid rgb(0, 102, 204); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;remember-label&quot; style=&quot;align-items: center; color: #004494; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🧠 The ... Spread&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;The &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;...&lt;/code&gt; (spread operator) says &quot;gather all remaining arguments into an array.&quot; It&#39;s like a vacuum cleaner that sucks up all the loose numbers and puts them in a neat list!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Function Overloads: Multiple Personalities&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Two ways to call this function:
function format(input: string): string;      // If given a string
function format(input: number): string;       // If given a number

// The actual implementation handles both
function format(input: string | number): string {
    if (typeof input === &#39;string&#39;) {
        return input.toUpperCase();
    }
    return input.toFixed(2);  // Format number with 2 decimals
}

console.log(format(&quot;hello&quot;));  // &quot;HELLO&quot;
console.log(format(3.14159));  // &quot;3.14&quot;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;scope&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🔭&lt;/span&gt;Where Variables Live: Scope&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;&lt;strong&gt;Scope&lt;/strong&gt; determines where a variable is visible and usable. It&#39;s like the rooms in a house — a variable declared in the kitchen isn&#39;t automatically available in the bedroom.&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🏠 The House Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Imagine your code as a house:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;var&lt;/code&gt; = A note on the fridge — visible from EVERY room (function scope)&lt;/li&gt;&lt;li&gt;&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;let&lt;/code&gt;/&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;const&lt;/code&gt; = A note in a specific room — only visible there (block scope)&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Block scope is safer because you can&#39;t accidentally use a variable where it shouldn&#39;t be used!&lt;/p&gt;&lt;/div&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;background: white; border-collapse: collapse; mso-yfti-tbllook: 1184; width: 0px;&quot;&gt;
 &lt;tbody&gt;&lt;tr&gt;
  &lt;td style=&quot;background: #0984E3; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Keyword&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #0984E3; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Where It Works&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #0984E3; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Can Redeclare?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #0984E3; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Can Change?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #0984E3; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Use It?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Entire function&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Yes (dangerous!)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI Symbol&amp;quot;, sans-serif; font-size: 11.5pt;&quot;&gt;❌&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt; Never&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;let&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Inside &lt;/span&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;{}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt; block&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Yes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI Symbol&amp;quot;, sans-serif; font-size: 11.5pt;&quot;&gt;✅&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt; When needed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Inside &lt;/span&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;{}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt; block&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI Symbol&amp;quot;, sans-serif; font-size: 11.5pt;&quot;&gt;✅&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt; Default choice&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;const API_URL: string = &quot;https://api.example.com&quot;;  // Never changes
let retryCount: number = 0;                          // Will change

retryCount++;  // ✅ Fine, we used let
// API_URL = &quot;other&quot;;  // ❌ ERROR! const can&#39;t change&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;strings&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;📝&lt;/span&gt;Working with Text: Strings&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Strings are sequences of characters — text! TypeScript gives you powerful tools to manipulate them.&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;const message: string = &quot;Hello, TypeScript!&quot;;

// How long is it?
console.log(message.length);        // 18

// Get a piece of it
console.log(message.slice(0, 5));   // &quot;Hello&quot;
console.log(message[7]);            // &quot;T&quot; (8th character)

// Split into parts
const words: string[] = message.split(&quot; &quot;);
console.log(words);  // [&quot;Hello,&quot;, &quot;TypeScript!&quot;]

// Remove extra spaces
const messy: string = &quot;  hello  &quot;;
console.log(messery.trim());  // &quot;hello&quot;

// Find and replace
const greeting: string = &quot;Hello world&quot;;
console.log(greeting.replace(&quot;world&quot;, &quot;TypeScript&quot;));  // &quot;Hello TypeScript&quot;&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Template Literal Types: Type-Safe Strings&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Only allow specific button class names
type Size = &#39;sm&#39; | &#39;md&#39; | &#39;lg&#39; | &#39;xl&#39;;
type Color = &#39;primary&#39; | &#39;secondary&#39; | &#39;danger&#39;;
type ButtonClass = `btn-${Size}-${Color}`;

const goodButton: ButtonClass = &#39;btn-md-primary&#39;;     // ✅
// const badButton: ButtonClass = &#39;btn-xs-purple&#39;;    
// ❌ ERROR! &#39;xs&#39; and &#39;purple&#39; aren&#39;t allowed&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🎨 The Paint-by-Numbers Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Template literal types are like paint-by-numbers kits. The outline is fixed (&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;btn-&lt;/code&gt;), but you can only use the provided colors (Size and Color). Try to use a color not in the kit, and TypeScript says &lt;em&gt;&quot;That color isn&#39;t in the box!&quot;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Converting Between Strings and Numbers&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// String to number
const str: string = &quot;42&quot;;
const num: number = parseInt(str, 10);  // Always use base 10!

console.log(num + 8);  // 50

// Number to string
const price: number = 99.99;
console.log(price.toString());   // &quot;99.99&quot;
console.log(price.toFixed(2));   // &quot;99.99&quot; (always 2 decimals)

// Safe parsing
function parseNumberSafe(value: string): number | null {
    const parsed: number = parseInt(value, 10);
    return isNaN(parsed) ? null : parsed;
}

console.log(parseNumberSafe(&quot;42&quot;));   // 42
console.log(parseNumberSafe(&quot;abc&quot;));  // null (not a crash!)&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;ouch-box&quot; style=&quot;background: rgb(248, 215, 218); border-left: 5px solid rgb(220, 53, 69); border-radius: 0px 12px 12px 0px; margin: 20px 0px; padding: 18px 22px;&quot;&gt;&lt;div class=&quot;ouch-label&quot; style=&quot;color: #721c24; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; margin-bottom: 8px;&quot;&gt;⚠️ The parseInt Trap&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Always pass &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;10&lt;/code&gt; as the second argument to &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;parseInt&lt;/code&gt;! Without it, &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;parseInt(&quot;08&quot;)&lt;/code&gt; might be interpreted as octal (base 8) in older environments, giving you &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;0&lt;/code&gt; instead of &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;8&lt;/code&gt;. Weird but true!&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;objects&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;📦&lt;/span&gt;Grouping Data: Objects&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;An &lt;strong&gt;object&lt;/strong&gt; groups related data together. Think of it as a form with labeled fields — name, age, email, etc.&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;📋 The Form Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;An object is like a patient form at a doctor&#39;s office. It has labeled fields (name, age, symptoms) and you fill in each one. The form ensures you provide all required information and don&#39;t add random fields that don&#39;t belong.&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Creating Typed Objects&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Define the shape first
interface Person {
    firstName: string;
    lastName: string;
    age?: number;        // Optional (might not be provided)
}

// Create an object matching that shape
const person: Person = {
    firstName: &quot;Alice&quot;,
    lastName: &quot;Johnson&quot;,
    age: 28
};

// Access properties
console.log(person.firstName);     // &quot;Alice&quot;
console.log(person[&quot;lastName&quot;]);   // &quot;Johnson&quot; (alternative syntax)

// Update properties
person.firstName = &quot;Alicia&quot;;

// Add optional property later
person.age = 29;&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Methods in Objects&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;interface PersonWithGreeting {
    firstName: string;
    lastName: string;
    greet(): string;  // This object can greet people!
}

const friendlyPerson: PersonWithGreeting = {
    firstName: &quot;Bob&quot;,
    lastName: &quot;Smith&quot;,
    greet(): string {
        return &quot;Hi, I&#39;m &quot; + this.firstName + &quot; &quot; + this.lastName + &quot;!&quot;;
    }
};

console.log(friendlyPerson.greet());  // &quot;Hi, I&#39;m Bob Smith!&quot;&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Dynamic Properties&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;interface FlexiblePerson {
    name: string;
    [key: string]: unknown;  // Allows ANY extra properties
}

const person: FlexiblePerson = {
    name: &quot;Charlie&quot;
};

// Add properties dynamically
person.age = 25;
person.hobby = &quot;painting&quot;;
person[&quot;favorite-color&quot;] = &quot;blue&quot;;

console.log(person);
// { name: &quot;Charlie&quot;, age: 25, hobby: &quot;painting&quot;, &quot;favorite-color&quot;: &quot;blue&quot; }&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Enterprise Pattern: Separate API from Domain&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// What the API sends (snake_case, strings)
interface UserFromAPI {
    id: string;
    created_at: string;
    is_active: boolean;
}

// What our app uses (camelCase, proper types)
interface User {
    id: string;
    createdAt: Date;
    isActive: boolean;
}

// Bridge between them
function convertUser(apiUser: UserFromAPI): User {
    return {
        id: apiUser.id,
        createdAt: new Date(apiUser.created_at),
        isActive: apiUser.is_active
    };
}&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;remember-box&quot; style=&quot;background: rgb(231, 243, 255); border-radius: 12px; border: 2px solid rgb(0, 102, 204); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;remember-label&quot; style=&quot;align-items: center; color: #004494; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🧠 Why Separate Them?&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;If the API changes (e.g., renames &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;created_at&lt;/code&gt; to &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;createdDate&lt;/code&gt;), you only update the &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;convertUser&lt;/code&gt; function — not every place that uses &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;User&lt;/code&gt;. Your app stays stable even when external services change!&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;classes&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🏗️&lt;/span&gt;Blueprints for Objects: Classes&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;A &lt;strong&gt;class&lt;/strong&gt; is a blueprint for creating objects. It&#39;s like a cookie cutter — one shape, many cookies. Each cookie (object) is independent but follows the same pattern.&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🏭 The Factory Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;A class is like a car factory blueprint. It defines what every car should have (engine, wheels, color) and what it can do (drive, honk, brake). But each car produced is a separate object with its own state — one might be red and fast, another blue and slow.&lt;/p&gt;&lt;/div&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;class Person {
    // Properties (what each person has)
    firstName: string;
    lastName: string;

    // Private property (hidden from outside)
    #ssn: string;

    // Constructor (how to create a new person)
    constructor(firstName: string, lastName: string, ssn: string) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.#ssn = ssn;
    }

    // Method (what a person can do)
    fullName(): string {
        return this.firstName + &quot; &quot; + this.lastName;
    }

    // Getter (access like a property)
    get location(): string {
        return &quot;Earth&quot;;
    }
}

// Create instances (actual people)
const alice = new Person(&quot;Alice&quot;, &quot;Smith&quot;, &quot;123-45-6789&quot;);
const bob = new Person(&quot;Bob&quot;, &quot;Jones&quot;, &quot;987-65-4321&quot;);

console.log(alice.fullName());  // &quot;Alice Smith&quot;
console.log(bob.fullName());    // &quot;Bob Jones&quot;
console.log(alice.location);    // &quot;Earth&quot;&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Shorter Syntax: Parameter Properties&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Instead of manually assigning each property...
class Employee {
    constructor(
        public readonly id: string,       // Can&#39;t change after creation
        public name: string,               // Public, can change
        private department: string,        // Hidden from outside
        protected salary: number           // Visible to subclasses
    ) {}

    getDepartment(): string {
        return this.department;  // Can access private inside the class
    }
}

const emp = new Employee(&quot;E001&quot;, &quot;Alice&quot;, &quot;Engineering&quot;, 75000);
console.log(emp.id);              // &quot;E001&quot;
console.log(emp.getDepartment());  // &quot;Engineering&quot;
// console.log(emp.department);    
// ❌ ERROR! Private property — can&#39;t access from outside&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;try-box&quot; style=&quot;background: rgb(212, 237, 218); border-radius: 12px; border: 2px solid rgb(40, 167, 69); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;try-label&quot; style=&quot;align-items: center; color: #155724; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🎮 Try It Yourself!&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Create a &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;Book&lt;/code&gt; class with:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Properties: &lt;code style=&quot;background: rgb(241, 243, 244); border-radius: 5px; border: 1px solid rgb(223, 230, 233); color: #d63031; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;title&lt;/code&gt; (string), &lt;code style=&quot;background: rgb(241, 243, 244); border-radius: 5px; border: 1px solid rgb(223, 230, 233); color: #d63031; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;author&lt;/code&gt; (string), &lt;code style=&quot;background: rgb(241, 243, 244); border-radius: 5px; border: 1px solid rgb(223, 230, 233); color: #d63031; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;pages&lt;/code&gt; (number)&lt;/li&gt;&lt;li&gt;A method &lt;code style=&quot;background: rgb(241, 243, 244); border-radius: 5px; border: 1px solid rgb(223, 230, 233); color: #d63031; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;getSummary()&lt;/code&gt; that returns &lt;code style=&quot;background: rgb(241, 243, 244); border-radius: 5px; border: 1px solid rgb(223, 230, 233); color: #d63031; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;&quot;Title by Author (X pages)&quot;&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Create two book instances and print their summaries!&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;modifiers&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🔒&lt;/span&gt;Controlling Access: Public, Private, Protected&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Not everything should be visible to everyone. &lt;strong&gt;Access modifiers&lt;/strong&gt; control who can see and touch what — like security clearance levels..&lt;/p&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgzuX5zEmbn1IwYLsjRuYv7cDJhIzHAm3FxTUcet_kR5LGGeK7OuaD6sqxo4OS3xSBSkRdrv8l-qq1-3Wzj1SovUI2S4reORRt7cASmGcJWHbPzF3cvpnJhmWGSg4wbMJ4whMBYhUhwAA0bmknPqSkmfFm3rDiZczCC2zMukVrs0W4S0HS_28e5gLUIDeHK&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;265&quot; data-original-width=&quot;466&quot; height=&quot;227&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgzuX5zEmbn1IwYLsjRuYv7cDJhIzHAm3FxTUcet_kR5LGGeK7OuaD6sqxo4OS3xSBSkRdrv8l-qq1-3Wzj1SovUI2S4reORRt7cASmGcJWHbPzF3cvpnJhmWGSg4wbMJ4whMBYhUhwAA0bmknPqSkmfFm3rDiZczCC2zMukVrs0W4S0HS_28e5gLUIDeHK=w535-h227&quot; width=&quot;535&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;    private balance: number = 0;           // Only the account knows
    protected accountType: string = &#39;checking&#39;;  // Subclasses can see
    public readonly accountNumber: string;  // Everyone can see, can&#39;t change

    constructor(accountNumber: string, initialBalance: number = 0) {
        this.accountNumber = accountNumber;
        this.balance = initialBalance;
    }

    public deposit(amount: number): void {
        if (amount &amp;lt;= 0) {
            throw new Error(&quot;Deposit must be positive!&quot;);
        }
        this.balance += amount;
    }

    public withdraw(amount: number): boolean {
        if (amount &amp;gt; this.balance) {
            return false;  // Not enough money
        }
        this.balance -= amount;
        return true;
    }

    public getBalance(): number {
        return this.balance;
    }
}

const account = new BankAccount(&quot;ACC-123&quot;, 1000);
account.deposit(500);
console.log(account.getBalance());  // 1500

// console.log(account.balance);     
// ❌ ERROR! Private — can&#39;t peek inside!
// account.balance = 999999;        
// ❌ ERROR! Can&#39;t cheat the system!&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🏦 The Bank Vault Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;A &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;private&lt;/code&gt; property is like money in a bank vault. You can&#39;t just walk in and grab it — you must use the proper channels (methods like &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;deposit&lt;/code&gt; and &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;withdraw&lt;/code&gt;). This prevents accidental (or malicious) manipulation of sensitive data.&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;inheritance&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🧬&lt;/span&gt;Building on Blueprints: Inheritance&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;&lt;strong&gt;Inheritance&lt;/strong&gt; lets a new class reuse and extend an existing class. It&#39;s like a child inheriting traits from a parent but developing their own personality too.&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🐕 The Dog Family Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;All dogs share common traits (four legs, tail, bark). But a Golden Retriever has specific traits (friendly, golden fur) while a German Shepherd has others (protective, black and tan). Inheritance lets you define &quot;Dog&quot; once and then specialize for each breed.&lt;/p&gt;&lt;/div&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Parent class (the general blueprint)
class Animal {
    constructor(protected name: string) {}

    move(): void {
        console.log(this.name + &quot; is moving&quot;);
    }

    makeSound(): string {
        return &quot;Some generic sound&quot;;
    }
}

// Child class (specialized blueprint)
class Dog extends Animal {
    constructor(name: string, private breed: string) {
        super(name);  // Call parent&#39;s constructor
    }

    // Override parent&#39;s method
    override makeSound(): string {
        return &quot;Woof! Woof!&quot;;
    }

    // New method only dogs have
    fetch(): string {
        return this.name + &quot; fetched the ball!&quot;;
    }

    getBreed(): string {
        return this.breed;
    }
}

const genericAnimal = new Animal(&quot;Creature&quot;);
const myDog = new Dog(&quot;Buddy&quot;, &quot;Golden Retriever&quot;);

genericAnimal.move();        // &quot;Creature is moving&quot;
console.log(genericAnimal.makeSound());  // &quot;Some generic sound&quot;

myDog.move();                // &quot;Buddy is moving&quot; (inherited!)
console.log(myDog.makeSound());  // &quot;Woof! Woof!&quot; (overridden!)
console.log(myDog.fetch());      // &quot;Buddy fetched the ball!&quot; (new!)
console.log(myDog.getBreed());   // &quot;Golden Retriever&quot;&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Abstract Classes: Forcing Implementation&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Abstract = &quot;You can&#39;t create me directly, only my children&quot;
abstract class Shape {
    abstract getArea(): number;  // Every shape MUST implement this
    abstract getPerimeter(): number;

    describe(): string {
        return &quot;I am a shape with area &quot; + this.getArea();
    }
}

class Rectangle extends Shape {
    constructor(
        private width: number,
        private height: number
    ) {
        super();
    }

    override getArea(): number {
        return this.width * this.height;
    }

    override getPerimeter(): number {
        return 2 * (this.width + this.height);
    }
}

class Circle extends Shape {
    constructor(private radius: number) {
        super();
    }

    override getArea(): number {
        return Math.PI * this.radius * this.radius;
    }

    override getPerimeter(): number {
        return 2 * Math.PI * this.radius;
    }
}

const rect = new Rectangle(5, 3);
const circle = new Circle(4);

console.log(rect.getArea());     // 15
console.log(circle.getArea());   // ~50.27

// const shape = new Shape();  
// ❌ ERROR! Can&#39;t create abstract class directly&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;remember-box&quot; style=&quot;background: rgb(231, 243, 255); border-radius: 12px; border: 2px solid rgb(0, 102, 204); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;remember-label&quot; style=&quot;align-items: center; color: #004494; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🧠 When to Use Abstract Classes&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Use abstract classes when you want to provide a &lt;strong&gt;common foundation&lt;/strong&gt; but force every child to implement specific methods. It&#39;s like saying: &lt;em&gt;&quot;Every employee must have a job title and a salary, but HOW they calculate their salary depends on their role.&quot;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;section-divider&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: linear-gradient(90deg, rgb(116, 185, 255), rgb(162, 155, 254), rgb(253, 121, 168)); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 2px; height: 3px; margin: 45px 0px; opacity: 0.5;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;part-banner&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: linear-gradient(135deg, rgb(102, 126, 234) 0%, rgb(118, 75, 162) 100%); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 14px; box-shadow: rgba(102, 126, 234, 0.4) 0px 8px 20px -5px; color: white; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.15em; font-weight: 700; margin: 35px 0px; padding: 18px 25px; text-align: center;&quot;&gt;📚 Part 3: Advanced Patterns &amp;amp; Real-World Tools&lt;/div&gt;&lt;div class=&quot;progress-tracker&quot;&gt;&lt;div class=&quot;progress-label&quot;&gt;🎓 You&#39;re in the home stretch! Advanced concepts ahead!&lt;/div&gt;&lt;div class=&quot;progress-bar&quot;&gt;&lt;div class=&quot;progress-fill&quot; style=&quot;width: 756px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 id=&quot;modules&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;📦&lt;/span&gt;Organizing Code: Modules&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;As your programs grow, putting everything in one file becomes messy — like stuffing your entire wardrobe into a single drawer. &lt;strong&gt;Modules&lt;/strong&gt; let you split code into separate files and share only what you want to share.&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;📚 The Library Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Imagine a library where every book is a module. The math book exports formulas, the history book exports dates, and the science book exports experiments. Your main program is like a student who checks out only the books they need. No clutter, no confusion!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Exporting: Making Things Available&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// === math-utils.ts ===

// Named export — specific, clear
export function add(a: number, b: number): number {
    return a + b;
}

export function multiply(a: number, b: number): number {
    return a * b;
}

export const PI: number = 3.14159;

// Default export — one per file, use sparingly
export default class Calculator {
    add(a: number, b: number): number { return a + b; }
}&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Importing: Bringing Things In&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// === main.ts ===

// Import specific things by name
import { add, multiply, PI } from &#39;./math-utils&#39;;

// Import with a nickname (alias)
import { add as sum } from &#39;./math-utils&#39;;

// Import the default export
import Calculator from &#39;./math-utils&#39;;

// Import types only (disappears at runtime)
import type { SomeType } from &#39;./math-utils&#39;;

// Use them!
console.log(add(2, 3));        // 5
console.log(multiply(4, 5));   // 20
console.log(PI);               // 3.14159

const calc = new Calculator();
console.log(calc.add(10, 20)); // 30&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Barrel Exports: One Door for Everything&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// === models/index.ts ===
// This file gathers exports from many files

export { User } from &#39;./User&#39;;
export { Product } from &#39;./Product&#39;;
export { Order } from &#39;./Order&#39;;
export type { UserData, ProductData } from &#39;./types&#39;;

// === main.ts ===
// Now import everything from one place!
import { User, Product, type UserData } from &#39;./models&#39;;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;remember-box&quot; style=&quot;background: rgb(231, 243, 255); border-radius: 12px; border: 2px solid rgb(0, 102, 204); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;remember-label&quot; style=&quot;align-items: center; color: #004494; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🧠 Best Practice&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Prefer &lt;strong&gt;named exports&lt;/strong&gt; over default exports. Named exports are easier to refactor (IDE can rename them everywhere), better for tree-shaking (removing unused code), and clearer about what you&#39;re importing. Default exports hide the name and make code harder to understand.&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;generics&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🔷&lt;/span&gt;Writing Flexible Code: Generics&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Imagine you need a function that finds an item in a list. You could write one for users, one for products, one for orders... or you could write &lt;strong&gt;one generic function&lt;/strong&gt; that works with ANY type. That&#39;s generics!&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🔧 The Universal Wrench Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;A generic function is like an adjustable wrench. Instead of carrying 20 wrenches for different bolt sizes, you carry one that adapts to any size. The &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;&amp;lt;T&amp;gt;&lt;/code&gt; is the adjustment mechanism — it changes based on what you need!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Generic Function&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// T is a placeholder for ANY type
function findById&lt;t extends=&quot;&quot; id:=&quot;&quot; string=&quot;&quot;&gt;(
    items: T[],
    id: string
): T | undefined {
    return items.find(item =&amp;gt; item.id === id);
}

// Works with Users!
interface User {
    id: string;
    name: string;
}

const users: User[] = [
    { id: &#39;1&#39;, name: &#39;Alice&#39; },
    { id: &#39;2&#39;, name: &#39;Bob&#39; }
];

const user = findById(users, &#39;1&#39;);
// TypeScript KNOWS this is User | undefined

// Works with Products too!
interface Product {
    id: string;
    price: number;
}

const products: Product[] = [
    { id: &#39;p1&#39;, price: 99 },
    { id: &#39;p2&#39;, price: 49 }
];

const product = findById(products, &#39;p1&#39;);
// TypeScript KNOWS this is Product | undefined&lt;/t&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Generic Class: Reusable Storage&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// A storage box that works with ANY type
class StorageBox&lt;titem extends=&quot;&quot; id:=&quot;&quot; string=&quot;&quot;&gt; {
    private items: TItem[] = [];

    add(item: TItem): void {
        this.items.push(item);
    }

    findById(id: string): TItem | undefined {
        return this.items.find(item =&amp;gt; item.id === id);
    }

    getAll(): readonly TItem[] {
        return this.items;
    }
}

// Use with Users
const userBox = new StorageBox&lt;user&gt;();
userBox.add({ id: &#39;1&#39;, name: &#39;Alice&#39; });

// Use with Products
const productBox = new StorageBox&lt;product&gt;();
productBox.add({ id: &#39;p1&#39;, price: 99 });

// TypeScript prevents mixing them up!
// userBox.add({ id: &#39;p1&#39;, price: 99 });  
// ❌ ERROR! This box only accepts Users!&lt;/product&gt;&lt;/user&gt;&lt;/titem&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Multiple Generics&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Combine two objects into one
function merge&lt;tfirst tsecond=&quot;&quot;&gt;(
    first: TFirst,
    second: TSecond
): TFirst &amp;amp; TSecond {
    return { ...first, ...second };
}

const person = { name: &#39;Alice&#39; };
const details = { age: 30, city: &#39;NYC&#39; };

const combined = merge(person, details);
// TypeScript knows combined has: name, age, AND city!&lt;/tfirst&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;try-box&quot; style=&quot;background: rgb(212, 237, 218); border-radius: 12px; border: 2px solid rgb(40, 167, 69); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;try-label&quot; style=&quot;align-items: center; color: #155724; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🎮 Try It Yourself!&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Write a generic function &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;getLast&amp;lt;T&amp;gt;(items: T[]): T | undefined&lt;/code&gt; that returns the last item in an array. Test it with both &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;number[]&lt;/code&gt; and &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;string[]&lt;/code&gt;!&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;union&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🔗&lt;/span&gt;Combining Types: Unions &amp;amp; Intersections&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Sometimes a value can be one of several types, or needs to combine multiple types. TypeScript has tools for both scenarios.&lt;/p&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Union Types: &quot;This OR That&quot;&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// A status can only be one of these three values
type Status = &#39;active&#39; | &#39;inactive&#39; | &#39;suspended&#39;;

let userStatus: Status = &#39;active&#39;;    // ✅
userStatus = &#39;inactive&#39;;               // ✅
// userStatus = &#39;deleted&#39;;             
// ❌ ERROR! &#39;deleted&#39; is not allowed

// An ID can be a string OR a number
type ID = string | number;

let userId: ID = 101;      // ✅ Number is fine
userId = &quot;user-101&quot;;       // ✅ String is fine too
// userId = true;          
// ❌ ERROR! Boolean is not allowed&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Discriminated Unions: Tagged Objects&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Each object has a &quot;kind&quot; tag that tells us what it is
type Shape =
    | { kind: &#39;circle&#39;; radius: number }
    | { kind: &#39;rectangle&#39;; width: number; height: number }
    | { kind: &#39;square&#39;; side: number };

function getArea(shape: Shape): number {
    switch (shape.kind) {
        case &#39;circle&#39;:
            return Math.PI * shape.radius * shape.radius;
        case &#39;rectangle&#39;:
            return shape.width * shape.height;
        case &#39;square&#39;:
            return shape.side * shape.side;
        default:
            // If we add a new Shape type, TypeScript
            // will ERROR here until we handle it!
            const _exhaustive: never = shape;
            return _exhaustive;
    }
}

const myCircle: Shape = { kind: &#39;circle&#39;, radius: 5 };
console.log(getArea(myCircle));  // ~78.54&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🏷️ The Name Tag Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;A discriminated union is like a conference where everyone wears a name tag saying their role (&quot;Speaker&quot;, &quot;Attendee&quot;, &quot;Staff&quot;). Instead of guessing who someone is, you just read their tag. TypeScript does the same — it reads the &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;kind&lt;/code&gt; tag and instantly knows what properties are available!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Intersection Types: &quot;This AND That&quot;&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;interface HasName {
    name: string;
}

interface HasAge {
    age: number;
}

// Person must have BOTH name AND age
type Person = HasName &amp;amp; HasAge;

const person: Person = {
    name: &quot;Alice&quot;,
    age: 30
};

// Missing either property = ERROR!
// const badPerson: Person = { name: &quot;Bob&quot; };  
// ❌ ERROR! Missing &#39;age&#39;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;guards&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🛡️&lt;/span&gt;Proving Types at Runtime: Type Guards&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;TypeScript types exist only during development — they vanish when your code runs. But sometimes you need to &lt;strong&gt;prove&lt;/strong&gt; what type something is while the program is running. Type guards are your proof!&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🕵️ The Detective Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;A type guard is like a detective proving someone&#39;s identity. TypeScript says: &lt;em&gt;&quot;You claim this is a string? Show me your evidence!&quot;&lt;/em&gt; Once you provide proof (like &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;typeof x === &#39;string&#39;&lt;/code&gt;), TypeScript believes you and lets you use string methods.&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Built-in Type Guards&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;function process(value: string | number | boolean): string {
    // typeof guard
    if (typeof value === &#39;string&#39;) {
        return value.toUpperCase();  // ✅ TypeScript knows it&#39;s a string
    }

    // instanceof guard (for classes)
    if (value instanceof Date) {
        return value.toISOString();  // ✅ TypeScript knows it&#39;s a Date
    }

    // Must be number (only option left)
    return value.toFixed(2);
}

// instanceof with custom classes
class Cat {
    meow(): string { return &#39;Meow!&#39;; }
}

class Dog {
    bark(): string { return &#39;Woof!&#39;; }
}

function makeSound(animal: Cat | Dog): string {
    if (animal instanceof Cat) {
        return animal.meow();  // ✅ TypeScript knows it&#39;s a Cat
    }
    return animal.bark();      // ✅ TypeScript knows it&#39;s a Dog
}&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Custom Type Predicate&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;interface Admin {
    role: &#39;admin&#39;;
    permissions: string[];
}

interface User {
    role: &#39;user&#39;;
    username: string;
}

type Account = Admin | User;

// Type predicate: &quot;This account IS an Admin&quot;
function isAdmin(account: Account): account is Admin {
    return account.role === &#39;admin&#39;;
}

function getPermissions(account: Account): string[] {
    if (isAdmin(account)) {
        return account.permissions;  // ✅ TypeScript trusts us!
    }
    return [&#39;read-only&#39;];  // Must be User
}&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;remember-box&quot; style=&quot;background: rgb(231, 243, 255); border-radius: 12px; border: 2px solid rgb(0, 102, 204); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;remember-label&quot; style=&quot;align-items: center; color: #004494; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🧠 The Power of never&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;The &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;never&lt;/code&gt; type means &quot;this should be impossible to reach.&quot; If TypeScript complains that your &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;never&lt;/code&gt; variable isn&#39;t actually &lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;never&lt;/code&gt;, it means you forgot to handle a case! It&#39;s like a safety alarm that goes off when you miss a step.&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;utility&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🛠️&lt;/span&gt;TypeScript&#39;s Built-in Tools: Utility Types&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;TypeScript comes with a toolbox of ready-made type transformations. Instead of rewriting types from scratch, you can modify existing ones!&lt;/p&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;interface User {
    id: string;
    name: string;
    email: string;
    age: number;
    password: string;  // Secret! Don&#39;t expose!
}

// Partial — all properties become optional
type UserUpdate = Partial&lt;user&gt;;
// { id?: string; name?: string; email?: string; ... }
// Perfect for PATCH requests where you only send changed fields!

// Pick — keep only what you need
type UserPreview = Pick&lt;user id=&quot;&quot; name=&quot;&quot;&gt;;
// { id: string; name: string }
// Perfect for list views where you don&#39;t need everything!

// Omit — remove what you don&#39;t want
type PublicUser = Omit&lt;user password=&quot;&quot;&gt;;
// { id, name, email, age } — password safely removed!
// Perfect for API responses!

// Readonly — prevent changes
type ImmutableUser = Readonly&lt;user&gt;;
// Can&#39;t modify any property after creation!

// Required — remove optionality
type RequiredUser = Required&lt;partial user=&quot;&quot;&gt;&amp;gt;;
// All properties must be provided!

// Record — create a dictionary
type UserMap = Record&lt;string user=&quot;&quot;&gt;;
// { [key: string]: User }
// Perfect for lookups by ID!&lt;/string&gt;&lt;/partial&gt;&lt;/user&gt;&lt;/user&gt;&lt;/user&gt;&lt;/user&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🛠️ The Power Tool Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Utility types are like power tools. Sure, you could saw wood by hand (&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;Omit&lt;/code&gt; manually listing every property), but why would you when a circular saw (&lt;code style=&quot;background: rgb(255, 243, 205); border-radius: 5px; border: 1px solid rgb(255, 234, 167); color: #856404; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;Omit&amp;lt;User, &#39;password&#39;&amp;gt;&lt;/code&gt;) does it instantly and perfectly? Work smarter, not harder!&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;errors&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🚨&lt;/span&gt;Handling Mistakes: Error Handling&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Programs will encounter problems — networks fail, files go missing, users type nonsense. Good error handling makes your program &lt;strong&gt;graceful&lt;/strong&gt; instead of &lt;strong&gt;fragile&lt;/strong&gt;.&lt;/p&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Custom Error Classes&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;class ValidationError extends Error {
    constructor(
        message: string, 
        public field: string  // Extra info about what failed
    ) {
        super(message);
        this.name = &#39;ValidationError&#39;;
    }
}

class NotFoundError extends Error {
    constructor(
        public resource: string,
        public id: string
    ) {
        super(resource + &quot; with id &#39;&quot; + id + &quot;&#39; not found&quot;);
        this.name = &#39;NotFoundError&#39;;
    }
}

// Usage
function validateAge(age: number): void {
    if (age &amp;lt; 0 || age &amp;gt; 150) {
        throw new ValidationError(
            &quot;Age must be between 0 and 150&quot;, 
            &quot;age&quot;
        );
    }
}

try {
    validateAge(200);
} catch (error) {
    if (error instanceof ValidationError) {
        console.log(&quot;Field:&quot;, error.field);        // &quot;age&quot;
        console.log(&quot;Message:&quot;, error.message);    // &quot;Age must be...&quot;
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;The Result Pattern: Predictable Failures&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Instead of throwing, return a result object
type Result&lt;t e=&quot;Error&quot;&gt; =
    | { success: true; data: T }
    | { success: false; error: E };

function divide(a: number, b: number): Result&lt;number validationerror=&quot;&quot;&gt; {
    if (b === 0) {
        return {
            success: false,
            error: new ValidationError(
                &quot;Cannot divide by zero&quot;, 
                &quot;denominator&quot;
            )
        };
    }
    return { success: true, data: a / b };
}

// Usage — no try/catch needed!
const result = divide(10, 0);

if (!result.success) {
    console.log(&quot;Oops:&quot;, result.error.message);
} else {
    console.log(&quot;Answer:&quot;, result.data);
}&lt;/number&gt;&lt;/t&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;📦 The Package Delivery Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;A Result type is like a package tracking system. Instead of wondering if your package arrived (and catching it if it didn&#39;t), you get a clear status: &lt;em&gt;&quot;Delivered successfully&quot;&lt;/em&gt; or &lt;em&gt;&quot;Failed: address not found.&quot;&lt;/em&gt; No surprises, no lost packages!&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;zod&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;✅&lt;/span&gt;Trust But Verify: Runtime Validation with Zod&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Here&#39;s a crucial truth: &lt;strong&gt;TypeScript types disappear when your code runs.&lt;/strong&gt; They check your code during development, but at runtime, they&#39;re gone. So how do you validate data from APIs, forms, or files?&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🛡️ The Border Control Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;TypeScript is like a pre-flight security check — it makes sure your luggage is packed correctly before you leave. But Zod is like border control at your destination — it checks AGAIN that everything is valid when you arrive. Both are necessary for safety!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Installing Zod&lt;/h3&gt;&lt;div class=&quot;terminal&quot; style=&quot;background: rgb(30, 30, 30); border-radius: 10px; color: #4ade80; font-family: Consolas, monospace; font-size: 0.9em; margin: 15px 0px; padding: 15px 20px;&quot;&gt;npm install zod&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Defining a Schema&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;import { z } from &#39;zod&#39;;

// Define what a valid user looks like
const UserSchema = z.object({
    id: z.string().uuid(),           // Must be a valid UUID
    email: z.string().email(),        // Must look like an email
    name: z.string().min(1).max(100), // 1-100 characters
    age: z.number().int().min(0).max(150).optional(),
    isActive: z.boolean().default(true)  // Defaults to true
});

// Derive TypeScript type AUTOMATICALLY from the schema!
type User = z.infer&lt;typeof userschema=&quot;&quot;&gt;;
// TypeScript now knows User has: id, email, name, age?, isActive&lt;/typeof&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Validating Data&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// parse() — validates and returns typed data
// Throws an error if data is invalid
function parseUser(data: unknown): User {
    return UserSchema.parse(data);
}

// safeParse() — returns result without throwing
function safeParseUser(data: unknown) {
    const result = UserSchema.safeParse(data);

    if (!result.success) {
        console.log(&quot;Validation failed:&quot;);
        result.error.errors.forEach(err =&amp;gt; {
            console.log(&quot;- &quot; + err.path + &quot;: &quot; + err.message);
        });
        return null;
    }

    return result.data;  // Validated and typed!
}

// Test it
const rawData = {
    id: &#39;550e8400-e29b-41d4-a716-446655440000&#39;,
    email: &#39;john@example.com&#39;,
    name: &#39;John Doe&#39;,
    age: 30
};

const user = parseUser(rawData);
console.log(user.email);  // &#39;john@example.com&#39; — TypeScript knows it&#39;s a string!

// Bad data gets caught!
const badData = {
    id: &#39;not-a-uuid&#39;,
    email: &#39;not-an-email&#39;,
    name: &#39;&#39;  // Too short!
};

// parseUser(badData);  
// ❌ Throws error with DETAILED messages about what&#39;s wrong!&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;remember-box&quot; style=&quot;background: rgb(231, 243, 255); border-radius: 12px; border: 2px solid rgb(0, 102, 204); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;remember-label&quot; style=&quot;align-items: center; color: #004494; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🧠 Why Zod + TypeScript Is Powerful&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Change your Zod schema, and your TypeScript types update automatically. One source of truth, zero drift between validation and types. When the API changes, update the Zod schema — TypeScript will immediately show you every place that needs updating!&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;playwright&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🎭&lt;/span&gt;Real-World Example: Testing with Playwright&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Let&#39;s put everything together with a practical example: writing type-safe browser tests using Playwright, a popular testing framework.&lt;/p&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🎭 The Stage Analogy&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Playwright is like a theater director. It opens a browser (the stage), navigates to a website (sets the scene), interacts with elements (directs the actors), and checks that everything looks right (reviews the performance). TypeScript makes sure your directions make sense before the show starts!&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Typed Page Object Model&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;import { test, expect, type Page, type Locator } from &#39;@playwright/test&#39;;

// A Page Object represents one page of your app
class LoginPage {
    // Locators — &quot;pointers&quot; to elements on the page
    readonly usernameInput: Locator;
    readonly passwordInput: Locator;
    readonly submitButton: Locator;
    readonly errorMessage: Locator;

    constructor(private page: Page) {
        // Find elements by test IDs (best practice!)
        this.usernameInput = page.locator(&#39;[data-testid=&quot;username&quot;]&#39;);
        this.passwordInput = page.locator(&#39;[data-testid=&quot;password&quot;]&#39;);
        this.submitButton = page.locator(&#39;[data-testid=&quot;login-button&quot;]&#39;);
        this.errorMessage = page.locator(&#39;[data-testid=&quot;error-message&quot;]&#39;);
    }

    // Actions — what a user can do
    async goto(): Promise&lt;void&gt; {
        await this.page.goto(&#39;/login&#39;);
    }

    async login(username: string, password: string): Promise&lt;void&gt; {
        await this.usernameInput.fill(username);
        await this.passwordInput.fill(password);
        await this.submitButton.click();
    }

    // Queries — checking the state
    async getErrorMessage(): Promise&lt;string null=&quot;&quot;&gt; {
        return this.errorMessage.textContent();
    }
}&lt;/string&gt;&lt;/void&gt;&lt;/void&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Typed Test Data&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Discriminated union for test scenarios
interface ValidLogin {
    kind: &#39;valid&#39;;
    username: string;
    password: string;
    expectedUrl: string;
}

interface InvalidLogin {
    kind: &#39;invalid&#39;;
    username: string;
    password: string;
    expectedError: string;
}

type LoginScenario = ValidLogin | InvalidLogin;&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Writing Tests&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;test.describe(&#39;Login Flow&#39;, () =&amp;gt; {
    test(&#39;successful login redirects to dashboard&#39;, async ({ page }) =&amp;gt; {
        const loginPage = new LoginPage(page);

        const scenario: ValidLogin = {
            kind: &#39;valid&#39;,
            username: &#39;admin&#39;,
            password: &#39;secret123&#39;,
            expectedUrl: &#39;/dashboard&#39;
        };

        await loginPage.goto();
        await loginPage.login(scenario.username, scenario.password);

        // Assert: we landed on the right page
        await expect(page).toHaveURL(scenario.expectedUrl);
    });

    test(&#39;invalid login shows error message&#39;, async ({ page }) =&amp;gt; {
        const loginPage = new LoginPage(page);

        const scenario: InvalidLogin = {
            kind: &#39;invalid&#39;,
            username: &#39;hacker&#39;,
            password: &#39;wrong&#39;,
            expectedError: &#39;Invalid credentials&#39;
        };

        await loginPage.goto();
        await loginPage.login(scenario.username, scenario.password);

        const error = await loginPage.getErrorMessage();
        expect(error).toContain(scenario.expectedError);
    });
});&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;border-left: 4px solid rgb(116, 185, 255); color: #0984e3; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.3em; margin-bottom: 15px; margin-top: 35px; padding-left: 15px;&quot;&gt;Generic API Helper&lt;/h3&gt;&lt;pre style=&quot;background: rgb(45, 52, 54); border-radius: 12px; border: 1px solid rgb(99, 110, 114); box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 20px -5px; color: #dfe6e9; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.88em; line-height: 1.7; margin: 22px 0px; overflow-x: auto; padding: 22px 25px;&quot;&gt;&lt;code style=&quot;background: transparent; border-color: currentcolor; border-image: initial; border-radius: 5px; border-style: none; border-width: medium; color: inherit; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0px;&quot;&gt;// Reusable helper for API calls
async function apiRequest&lt;tresponse&gt;(
    page: Page,
    url: string,
    options?: { 
        method?: &#39;GET&#39; | &#39;POST&#39; | &#39;PUT&#39; | &#39;DELETE&#39;; 
        body?: unknown 
    }
): Promise&lt;tresponse&gt; {
    const response = await page.request.fetch(url, {
        method: options?.method ?? &#39;GET&#39;,
        data: options?.body
    });

    if (!response.ok()) {
        throw new Error(&#39;API failed: &#39; + response.status());
    }

    return response.json() as Promise&lt;tresponse&gt;;
}

// Usage: TypeScript knows the shape of User!
const user = await apiRequest&lt;user&gt;(page, &#39;/api/users/1&#39;);
console.log(user.name);  // TypeScript knows .name exists!&lt;/user&gt;&lt;/tresponse&gt;&lt;/tresponse&gt;&lt;/tresponse&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;try-box&quot; style=&quot;background: rgb(212, 237, 218); border-radius: 12px; border: 2px solid rgb(40, 167, 69); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;try-label&quot; style=&quot;align-items: center; color: #155724; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🎮 Try It Yourself!&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Install Playwright and create a test for your favorite website:&lt;/p&gt;&lt;div class=&quot;terminal&quot; style=&quot;background: rgb(30, 30, 30); border-radius: 10px; color: #4ade80; font-family: Consolas, monospace; font-size: 0.9em; margin: 15px 0px; padding: 15px 20px;&quot;&gt;npm init playwright@latest&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Then write a test that navigates to the site, clicks a button, and checks that something changed on the page!&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;section-divider&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: linear-gradient(90deg, rgb(116, 185, 255), rgb(162, 155, 254), rgb(253, 121, 168)); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 2px; height: 3px; margin: 45px 0px; opacity: 0.5;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;summary&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;📋&lt;/span&gt;What You&#39;ve Learned&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Let&#39;s look at how far you&#39;ve come. You started with zero knowledge and now understand concepts that professional developers use daily!&lt;/p&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;background: white; border-collapse: collapse; mso-yfti-tbllook: 1184; width: 0px;&quot;&gt;
 &lt;tbody&gt;&lt;tr style=&quot;height: 51.7pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;
  &lt;td style=&quot;background: #0984E3; height: 51.7pt; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Concept&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #0984E3; height: 51.7pt; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;What It Does&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #0984E3; height: 51.7pt; padding: 10.5pt 12.0pt 10.5pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 11.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Why It Matters&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 55.4pt; mso-yfti-irow: 1;&quot;&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 55.4pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;strict&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt; mode&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 55.4pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Catches bugs before running&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 55.4pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Saves hours of debugging&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 49.85pt; mso-yfti-irow: 2;&quot;&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Types&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Describes data shapes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Prevents wrong data from spreading&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 55.4pt; mso-yfti-irow: 3;&quot;&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 55.4pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;background: #F1F3F4; border: solid #DFE6E9 1.0pt; color: #d63031; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-border-alt: solid #DFE6E9 .75pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; padding: 2.0pt;&quot;&gt;interface&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 55.4pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Defines object structure&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 55.4pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Living documentation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 49.85pt; mso-yfti-irow: 4;&quot;&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Generics&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Reusable type-safe code&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Write once, use everywhere&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 49.85pt; mso-yfti-irow: 5;&quot;&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Unions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;&quot;This OR that&quot; types&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Models real-world flexibility&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 49.85pt; mso-yfti-irow: 6;&quot;&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Type Guards&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Proves types at runtime&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Safety when types disappear&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 51.7pt; mso-yfti-irow: 7;&quot;&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 51.7pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Utility Types&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 51.7pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Transform existing types&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;background: #F8F9FA; border-bottom: solid #DFE6E9 1.0pt; border: none; height: 51.7pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Less code, more safety&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 49.85pt; mso-yfti-irow: 8; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Zod&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Validates runtime data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #DFE6E9 1.0pt; border: none; height: 49.85pt; mso-border-bottom-alt: solid #DFE6E9 .75pt; padding: 9.0pt 12.0pt 9.0pt 12.0pt;&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 18.75pt; margin-left: 0in; margin-right: 0in; margin-top: 18.75pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 11.5pt;&quot;&gt;Catches API changes instantly&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class=&quot;section-divider&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: linear-gradient(90deg, rgb(116, 185, 255), rgb(162, 155, 254), rgb(253, 121, 168)); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 2px; height: 3px; margin: 45px 0px; opacity: 0.5;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;conclusion&quot; style=&quot;align-items: center; border-bottom: 3px solid rgb(116, 185, 255); color: #2d3436; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.7em; gap: 12px; margin-bottom: 20px; margin-top: 55px; padding-bottom: 12px;&quot;&gt;&lt;span class=&quot;section-emoji&quot; style=&quot;font-size: 1.3em;&quot;&gt;🎓&lt;/span&gt;Your Next Steps&lt;/h2&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;You&#39;ve just completed a journey that many developers take months to travel. Here&#39;s what you should do next:&lt;/p&gt;&lt;div class=&quot;try-box&quot; style=&quot;background: rgb(212, 237, 218); border-radius: 12px; border: 2px solid rgb(40, 167, 69); margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;try-label&quot; style=&quot;align-items: center; color: #155724; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;🚀 Action Plan&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Build something real.&lt;/strong&gt; Convert a simple JavaScript project to TypeScript. Feel the difference!&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Enable strict mode.&lt;/strong&gt; In your &lt;code style=&quot;background: rgb(241, 243, 244); border-radius: 5px; border: 1px solid rgb(223, 230, 233); color: #d63031; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;tsconfig.json&lt;/code&gt;, set &lt;code style=&quot;background: rgb(241, 243, 244); border-radius: 5px; border: 1px solid rgb(223, 230, 233); color: #d63031; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;&quot;strict&quot;: true&lt;/code&gt;. Embrace the errors — they teach you!&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Practice generics.&lt;/strong&gt; Write a &lt;code style=&quot;background: rgb(241, 243, 244); border-radius: 5px; border: 1px solid rgb(223, 230, 233); color: #d63031; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;findById&lt;/code&gt; function that works with any object that has an &lt;code style=&quot;background: rgb(241, 243, 244); border-radius: 5px; border: 1px solid rgb(223, 230, 233); color: #d63031; font-family: Consolas, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.92em; padding: 2px 8px;&quot;&gt;id&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Try Zod.&lt;/strong&gt; Validate data from a public API. Watch it catch malformed responses!&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Join the community.&lt;/strong&gt; Follow TypeScript on Twitter, join Discord servers, and ask questions!&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class=&quot;story-box&quot; style=&quot;background: rgb(240, 249, 255); border-left: 5px solid rgb(51, 154, 240); border-radius: 0px 12px 12px 0px; font-size: 1.02em; margin: 25px 0px; padding: 20px 25px;&quot;&gt;&lt;div class=&quot;story-label&quot; style=&quot;align-items: center; color: #1864ab; display: flex; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-weight: 700; gap: 8px; margin-bottom: 10px;&quot;&gt;💭 Final Thought&lt;/div&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;TypeScript isn&#39;t about adding complexity — it&#39;s about &lt;strong&gt;removing fear&lt;/strong&gt;. Fear of breaking something when you refactor. Fear of passing the wrong data. Fear of the codebase growing unmanageable. With TypeScript, you code with confidence.&lt;/p&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Every expert was once a beginner who refused to give up. Keep building, keep breaking things (safely!), and keep learning. You&#39;ve got this! 💪&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;cta-final&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: linear-gradient(135deg, rgb(102, 126, 234) 0%, rgb(118, 75, 162) 100%); background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 18px; color: white; margin: 45px 0px 30px; padding: 35px 40px; text-align: center;&quot;&gt;&lt;h3 style=&quot;border-left-color: currentcolor; border-left-style: none; border-left-width: medium; font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 1.5em; margin-bottom: 15px; margin-top: 0px; padding-left: 0px;&quot;&gt;🎉 Congratulations, TypeScript Developer!&lt;/h3&gt;&lt;p style=&quot;font-size: 1.1em; margin: 15px 0px;&quot;&gt;You now have the foundation to write professional, type-safe code. The best way to learn is by doing — so open your editor and start building!&lt;/p&gt;&lt;p style=&quot;font-size: 1.2em; margin: 25px 0px 15px;&quot;&gt;&lt;strong&gt;Questions? Stuck on something?&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;font-size: 1.1em; margin: 15px 0px;&quot;&gt;Drop a comment below — I read every single one and love helping fellow learners!&lt;/p&gt;&lt;p style=&quot;font-size: 0.95em; margin: 20px 0px 15px; opacity: 0.9;&quot;&gt;Happy coding! 🚀&lt;/p&gt;&lt;/div&gt;&lt;div style=&quot;color: #b2bec3; font-size: 0.9em; margin-top: 40px; text-align: center;&quot;&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Last updated: May 2026 | TypeScript 5.6+&lt;/p&gt;&lt;p style=&quot;margin: 18px 0px; text-align: justify;&quot;&gt;Found this helpful? Share it with a friend who&#39;s learning to code! 🤝&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/6717384354390130230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2026/05/complete-typescript-in-30-minutes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/6717384354390130230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/6717384354390130230'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2026/05/complete-typescript-in-30-minutes.html' title='Complete TypeScript in 30 Minutes'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiZ4qLh215f6oG7LfnN7I-jR1ngXXABxcMXT3MFg1wsJOW6EjTHjj3_4HjHoxS2mI0OJ-zkQxvyKrVxZAOcMso_J9fIHTXybWAox-v4HwVbrcXAWG2TM4X-JTNUkooNEikRCfFG2-6bPkvkgm_8DfdeFVn6o8Ta2lm0hAZCG_ztbIgLpGKttwY8yLO3XELt=s72-w488-h248-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-6992841822479265759</id><published>2026-04-25T18:40:00.007+05:30</published><updated>2026-04-25T18:45:00.239+05:30</updated><title type='text'>Instruction to mcp</title><content type='html'>&lt;p&gt;Now please create a &lt;strong&gt;TestNG test for the Salesforce end-to-end Login + Create Account flow&lt;/strong&gt; using &lt;strong&gt;2 Page Object classes only&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;LoginPage.java&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AccountPage.java&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Website:&lt;/h3&gt;
&lt;p&gt;Your Salesforce Login URL&lt;/p&gt;
&lt;h3&gt;Test name:&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;SalesforceCreateAccountTest&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Please follow this user journey in the test:&lt;/h2&gt;
&lt;h3&gt;1. Open the Salesforce login page&lt;/h3&gt;
&lt;h3&gt;2. Login using &lt;code&gt;LoginPage.java&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;Use:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Username: &lt;code&gt;your_username&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Password: &lt;code&gt;your_password&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;3. Verify that Salesforce Home page is displayed&lt;/h3&gt;
&lt;h3&gt;4. Navigate to Accounts using &lt;code&gt;AccountPage.java&lt;/code&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Open App Launcher (if needed)&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Accounts&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;5. Wait for Accounts page to load properly&lt;/h3&gt;
&lt;h3&gt;6. Click &lt;strong&gt;New&lt;/strong&gt; button&lt;/h3&gt;
&lt;h3&gt;7. Enter Account details:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Account Name: &lt;code&gt;Test Account Automation&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Phone: &lt;code&gt;9876543210&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Website: &lt;code&gt;https://example.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Type: &lt;code&gt;Customer - Direct&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Industry: &lt;code&gt;Technology&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;8. Click Save&lt;/h3&gt;
&lt;h3&gt;9. Verify Account is created successfully&lt;/h3&gt;
&lt;h3&gt;10. Verify Account Name appears on record page&lt;/h3&gt;
&lt;hr /&gt;
&lt;h1&gt;Required Page Classes&lt;/h1&gt;
&lt;h2&gt;&lt;code&gt;LoginPage.java&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Include methods:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;openLoginPage()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;enterUsername(String username)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;enterPassword(String password)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;clickLogin()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;login(String username, String password)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;isHomePageDisplayed()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;&lt;code&gt;AccountPage.java&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Include methods:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;openAccountsTab()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;waitForAccountsPage()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;clickNewAccount()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;enterAccountName(String name)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;enterPhone(String phone)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;enterWebsite(String website)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;selectType(String type)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;selectIndustry(String industry)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;clickSave()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;isAccountCreated()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;isAccountNameDisplayed(String name)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1&gt;Rules:&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Use only Page Object methods in test class&lt;/li&gt;
&lt;li&gt;No direct WebDriver code inside test&lt;/li&gt;
&lt;li&gt;Use TestNG assertions&lt;/li&gt;
&lt;li&gt;Keep code simple and readable&lt;/li&gt;
&lt;li&gt;Do not use &lt;code&gt;Thread.sleep()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Use WebDriverWait / ExpectedConditions&lt;/li&gt;
&lt;li&gt;Compatible with Angie Jones Selenium MCP style&lt;/li&gt;
&lt;li&gt;Apply changes directly to project&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h1&gt;Final Instruction:&lt;/h1&gt;
&lt;p&gt;Do not execute. Just create:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;LoginPage.java&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AccountPage.java&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SalesforceCreateAccountTest.java&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;and wait for further instructions.&lt;/p&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/6992841822479265759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2026/04/instruction-to-mcp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/6992841822479265759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/6992841822479265759'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2026/04/instruction-to-mcp.html' title='Instruction to mcp'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-1469107154128775818</id><published>2025-12-10T14:36:00.002+05:30</published><updated>2025-12-10T14:41:37.818+05:30</updated><title type='text'>Selenium POM framework</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot; /&gt;
  &lt;title&gt;Production-Ready Selenium POM Framework with ExtentReports&lt;/title&gt;
  &lt;style&gt;
    body {
      background-color: #ffffff;
      font-family: Arial, sans-serif;
      line-height: 1.6;
      color: #222222;
      margin: 0;
      padding: 20px;
    }

    h1, h2, h3, h4 {
      color: #111111;
    }

    h1 {
      margin-bottom: 0.5em;
    }

    .section {
      margin-bottom: 32px;
    }

    textarea.code-block {
      width: 100%;
      min-height: 160px;
      background-color: #f5f5f5;
      border: 1px solid #dddddd;
      border-radius: 4px;
      padding: 10px;
      font-family: Consolas, &quot;Courier New&quot;, monospace;
      font-size: 13px;
      resize: vertical;
      box-sizing: border-box;
      color: #222222;
    }

    .small {
      font-size: 13px;
    }

    ul {
      margin-top: 0;
    }

    code.inline {
      font-family: Consolas, &quot;Courier New&quot;, monospace;
      background-color: #f3f3f3;
      padding: 2px 4px;
      border-radius: 3px;
    }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;h1&gt;Production-Ready Selenium POM Framework (Java + TestNG + ExtentReports)&lt;/h1&gt;

  &lt;div class=&quot;section&quot;&gt;
    &lt;p&gt;
      This article provides a &lt;strong&gt;ready-to-use, production-grade Selenium Page Object Model (POM) framework&lt;/strong&gt;
      you can drop straight into a Java project.
    &lt;/p&gt;
    &lt;p&gt;The stack includes:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;Java 17 + Maven&lt;/li&gt;
      &lt;li&gt;Selenium 4 + WebDriverManager&lt;/li&gt;
      &lt;li&gt;TestNG (parallel-ready)&lt;/li&gt;
      &lt;li&gt;ExtentReports 5 (Spark) with screenshots on failure&lt;/li&gt;
      &lt;li&gt;Log4j2 logging&lt;/li&gt;
      &lt;li&gt;Multi-environment config (dev / qa / prod)&lt;/li&gt;
      &lt;li&gt;Centralized locator repository (&lt;code class=&quot;inline&quot;&gt;ElementRepository&lt;/code&gt;)&lt;/li&gt;
      &lt;li&gt;Thread-safe WebDriver and thread-safe Extent tests&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;
      You can copy this HTML into the Blogspot HTML editor and it will render nicely with a clean, pure white background.
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;div class=&quot;section&quot;&gt;
    &lt;h2&gt;1. Project Structure&lt;/h2&gt;
    &lt;p&gt;Recommended Maven project layout:&lt;/p&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
pom.xml

src
 ├─ main
 │   └─ java
 │       └─ com.automationcodes.automation
 │           ├─ config
 │           │   ├─ ConfigManager.java
 │           │   └─ Environment.java
 │           ├─ core
 │           │   ├─ DriverFactory.java
 │           │   ├─ DriverManager.java
 │           │   ├─ WaitUtils.java
 │           │   └─ TestContext.java
 │           ├─ locators
 │           │   └─ ElementRepository.java
 │           ├─ pages
 │           │   ├─ BasePage.java
 │           │   ├─ LoginPage.java
 │           │   └─ HomePage.java
 │           └─ utils
 │               ├─ LoggerUtil.java
 │               └─ ScreenshotUtil.java
 └─ test
     ├─ java
     │   └─ com.automationcodes.automation.tests
     │       ├─ base
     │       │   └─ BaseTest.java
     │       ├─ listeners
     │       │   └─ TestListener.java
     │       ├─ reporting
     │       │   ├─ ExtentManager.java
     │       │   └─ ExtentTestManager.java
     │       └─ login
     │           └─ LoginTests.java
     └─ resources
         ├─ config
         │   ├─ config-dev.properties
         │   ├─ config-qa.properties
         │   └─ config-prod.properties
         ├─ log4j2.xml
         └─ testng.xml
    &lt;/textarea&gt;
    &lt;p class=&quot;small&quot;&gt;
      You can change the base package &lt;code class=&quot;inline&quot;&gt;com.automationcodes.automation&lt;/code&gt; if needed—just update package
      declarations consistently.
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;div class=&quot;section&quot;&gt;
    &lt;h2&gt;2. Maven &lt;code class=&quot;inline&quot;&gt;pom.xml&lt;/code&gt;&lt;/h2&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
&amp;lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;
         xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
         xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0
         http://maven.apache.org/xsd/maven-4.0.0.xsd&quot;&amp;gt;

    &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;

    &amp;lt;groupId&amp;gt;com.automationcodes&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;ui-automation&amp;lt;/artifactId&amp;gt;
    &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;
    &amp;lt;name&amp;gt;UI Automation Framework&amp;lt;/name&amp;gt;
    &amp;lt;packaging&amp;gt;jar&amp;lt;/packaging&amp;gt;

    &amp;lt;properties&amp;gt;
        &amp;lt;maven.compiler.source&amp;gt;17&amp;lt;/maven.compiler.source&amp;gt;
        &amp;lt;maven.compiler.target&amp;gt;17&amp;lt;/maven.compiler.target&amp;gt;
        &amp;lt;project.build.sourceEncoding&amp;gt;UTF-8&amp;lt;/project.build.sourceEncoding&amp;gt;

        &amp;lt;selenium.version&amp;gt;4.24.0&amp;lt;/selenium.version&amp;gt;
        &amp;lt;testng.version&amp;gt;7.10.2&amp;lt;/testng.version&amp;gt;
        &amp;lt;log4j2.version&amp;gt;2.23.1&amp;lt;/log4j2.version&amp;gt;
        &amp;lt;webdrivermanager.version&amp;gt;5.9.2&amp;lt;/webdrivermanager.version&amp;gt;
        &amp;lt;extentreports.version&amp;gt;5.1.1&amp;lt;/extentreports.version&amp;gt;
        &amp;lt;surefire.version&amp;gt;3.2.5&amp;lt;/surefire.version&amp;gt;
    &amp;lt;/properties&amp;gt;

    &amp;lt;dependencies&amp;gt;
        &amp;lt;!-- Selenium --&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;org.seleniumhq.selenium&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;selenium-java&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;${selenium.version}&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;

        &amp;lt;!-- WebDriverManager --&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;io.github.bonigarcia&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;webdrivermanager&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;${webdrivermanager.version}&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;

        &amp;lt;!-- TestNG --&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;org.testng&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;testng&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;${testng.version}&amp;lt;/version&amp;gt;
            &amp;lt;scope&amp;gt;test&amp;lt;/scope&amp;gt;
        &amp;lt;/dependency&amp;gt;

        &amp;lt;!-- Log4j2 --&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;org.apache.logging.log4j&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;log4j-api&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;${log4j2.version}&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;org.apache.logging.log4j&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;log4j-core&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;${log4j2.version}&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;

        &amp;lt;!-- ExtentReports --&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;com.aventstack&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;extentreports&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;${extentreports.version}&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;

        &amp;lt;!-- Allure (optional) --&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;io.qameta.allure&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;allure-testng&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;2.27.0&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;

        &amp;lt;!-- Commons IO --&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;commons-io&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;commons-io&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;2.16.1&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;
    &amp;lt;/dependencies&amp;gt;

    &amp;lt;build&amp;gt;
        &amp;lt;plugins&amp;gt;
            &amp;lt;!-- Compiler --&amp;gt;
            &amp;lt;plugin&amp;gt;
                &amp;lt;artifactId&amp;gt;maven-compiler-plugin&amp;lt;/artifactId&amp;gt;
                &amp;lt;version&amp;gt;3.13.0&amp;lt;/version&amp;gt;
                &amp;lt;configuration&amp;gt;
                    &amp;lt;source&amp;gt;${maven.compiler.source}&amp;lt;/source&amp;gt;
                    &amp;lt;target&amp;gt;${maven.compiler.target}&amp;lt;/target&amp;gt;
                &amp;lt;/configuration&amp;gt;
            &amp;lt;/plugin&amp;gt;

            &amp;lt;!-- Surefire for TestNG --&amp;gt;
            &amp;lt;plugin&amp;gt;
                &amp;lt;artifactId&amp;gt;maven-surefire-plugin&amp;lt;/artifactId&amp;gt;
                &amp;lt;version&amp;gt;${surefire.version}&amp;lt;/version&amp;gt;
                &amp;lt;configuration&amp;gt;
                    &amp;lt;includes&amp;gt;
                        &amp;lt;include&amp;gt;**/*Test.java&amp;lt;/include&amp;gt;
                        &amp;lt;include&amp;gt;**/*Tests.java&amp;lt;/include&amp;gt;
                    &amp;lt;/includes&amp;gt;
                    &amp;lt;suiteXmlFiles&amp;gt;
                        &amp;lt;suiteXmlFile&amp;gt;src/test/resources/testng.xml&amp;lt;/suiteXmlFile&amp;gt;
                    &amp;lt;/suiteXmlFiles&amp;gt;
                    &amp;lt;systemProperties&amp;gt;
                        &amp;lt;property&amp;gt;
                            &amp;lt;name&amp;gt;env&amp;lt;/name&amp;gt;
                            &amp;lt;value&amp;gt;${env}&amp;lt;/value&amp;gt;
                        &amp;lt;/property&amp;gt;
                    &amp;lt;/systemProperties&amp;gt;
                &amp;lt;/configuration&amp;gt;
            &amp;lt;/plugin&amp;gt;
        &amp;lt;/plugins&amp;gt;
    &amp;lt;/build&amp;gt;

    &amp;lt;profiles&amp;gt;
        &amp;lt;profile&amp;gt;
            &amp;lt;id&amp;gt;dev&amp;lt;/id&amp;gt;
            &amp;lt;activation&amp;gt;
                &amp;lt;activeByDefault&amp;gt;true&amp;lt;/activeByDefault&amp;gt;
            &amp;lt;/activation&amp;gt;
            &amp;lt;properties&amp;gt;
                &amp;lt;env&amp;gt;dev&amp;lt;/env&amp;gt;
            &amp;lt;/properties&amp;gt;
        &amp;lt;/profile&amp;gt;
        &amp;lt;profile&amp;gt;
            &amp;lt;id&amp;gt;qa&amp;lt;/id&amp;gt;
            &amp;lt;properties&amp;gt;
                &amp;lt;env&amp;gt;qa&amp;lt;/env&amp;gt;
            &amp;lt;/properties&amp;gt;
        &amp;lt;/profile&amp;gt;
        &amp;lt;profile&amp;gt;
            &amp;lt;id&amp;gt;prod&amp;lt;/id&amp;gt;
            &amp;lt;properties&amp;gt;
                &amp;lt;env&amp;gt;prod&amp;lt;/env&amp;gt;
            &amp;lt;/properties&amp;gt;
        &amp;lt;/profile&amp;gt;
    &amp;lt;/profiles&amp;gt;
&amp;lt;/project&amp;gt;
    &lt;/textarea&gt;
  &lt;/div&gt;

  &lt;div class=&quot;section&quot;&gt;
    &lt;h2&gt;3. Environment &amp;amp; Configuration&lt;/h2&gt;

    &lt;h3&gt;3.1 &lt;code class=&quot;inline&quot;&gt;Environment.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.config;

public enum Environment {
    DEV(&quot;config-dev.properties&quot;),
    QA(&quot;config-qa.properties&quot;),
    PROD(&quot;config-prod.properties&quot;);

    private final String fileName;

    Environment(String fileName) {
        this.fileName = fileName;
    }

    public String getFileName() {
        return fileName;
    }

    public static Environment fromString(String env) {
        if (env == null) return DEV;
        switch (env.toLowerCase()) {
            case &quot;qa&quot;:
                return QA;
            case &quot;prod&quot;:
                return PROD;
            case &quot;dev&quot;:
            default:
                return DEV;
        }
    }
}
    &lt;/textarea&gt;

    &lt;h3&gt;3.2 &lt;code class=&quot;inline&quot;&gt;ConfigManager.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.config;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class ConfigManager {

    private static Properties properties;
    private static final Object lock = new Object();

    private ConfigManager() {}

    public static Properties getProperties() {
        if (properties == null) {
            synchronized (lock) {
                if (properties == null) {
                    loadProperties();
                }
            }
        }
        return properties;
    }

    private static void loadProperties() {
        String envParam = System.getProperty(&quot;env&quot;, &quot;dev&quot;);
        Environment environment = Environment.fromString(envParam);

        properties = new Properties();
        String path = &quot;config/&quot; + environment.getFileName();

        try (InputStream inputStream =
                     ConfigManager.class.getClassLoader().getResourceAsStream(path)) {
            if (inputStream == null) {
                throw new RuntimeException(&quot;Config file not found: &quot; + path);
            }
            properties.load(inputStream);
        } catch (IOException e) {
            throw new RuntimeException(&quot;Failed to load config file: &quot; + path, e);
        }
    }

    public static String get(String key) {
        return getProperties().getProperty(key);
    }

    public static String get(String key, String defaultValue) {
        return getProperties().getProperty(key, defaultValue);
    }

    public static int getInt(String key, int defaultValue) {
        String value = get(key);
        if (value == null) return defaultValue;
        return Integer.parseInt(value.trim());
    }

    public static boolean getBoolean(String key, boolean defaultValue) {
        String value = get(key);
        if (value == null) return defaultValue;
        return Boolean.parseBoolean(value.trim());
    }
}
    &lt;/textarea&gt;

    &lt;h3&gt;3.3 Sample config file&lt;/h3&gt;
    &lt;p&gt;&lt;code class=&quot;inline&quot;&gt;src/test/resources/config/config-dev.properties&lt;/code&gt;:&lt;/p&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
base.url=https://the-internet.herokuapp.com
browser=chrome
implicit.wait.seconds=0
explicit.wait.seconds=15
page.load.timeout.seconds=30
run.headless=false
screenshots.on.failure=true
    &lt;/textarea&gt;
  &lt;/div&gt;

  &lt;div class=&quot;section&quot;&gt;
    &lt;h2&gt;4. Core WebDriver Layer&lt;/h2&gt;

    &lt;h3&gt;4.1 &lt;code class=&quot;inline&quot;&gt;DriverManager.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.core;

import org.openqa.selenium.WebDriver;

public class DriverManager {

    private static final ThreadLocal&lt;WebDriver&gt; DRIVER = new ThreadLocal&lt;&gt;();

    private DriverManager() {}

    public static WebDriver getDriver() {
        return DRIVER.get();
    }

    public static void setDriver(WebDriver driver) {
        DRIVER.set(driver);
    }

    public static void unload() {
        WebDriver driver = DRIVER.get();
        if (driver != null) {
            driver.quit();
            DRIVER.remove();
        }
    }
}
    &lt;/textarea&gt;

    &lt;h3&gt;4.2 &lt;code class=&quot;inline&quot;&gt;DriverFactory.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.core;

import com.automationcodes.automation.config.ConfigManager;
import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.PageLoadStrategy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;

import java.time.Duration;

public class DriverFactory {

    private DriverFactory() {}

    public static WebDriver createInstance() {
        String browser = ConfigManager.get(&quot;browser&quot;, &quot;chrome&quot;).toLowerCase();
        boolean headless = ConfigManager.getBoolean(&quot;run.headless&quot;, false);

        WebDriver driver;

        switch (browser) {
            case &quot;firefox&quot;:
                WebDriverManager.firefoxdriver().setup();
                FirefoxOptions ffOptions = new FirefoxOptions();
                ffOptions.setHeadless(headless);
                driver = new FirefoxDriver(ffOptions);
                break;

            case &quot;edge&quot;:
                WebDriverManager.edgedriver().setup();
                driver = new EdgeDriver();
                break;

            case &quot;chrome&quot;:
            default:
                WebDriverManager.chromedriver().setup();
                ChromeOptions options = new ChromeOptions();
                options.setPageLoadStrategy(PageLoadStrategy.NORMAL);
                if (headless) {
                    options.addArguments(&quot;--headless=new&quot;);
                    options.addArguments(&quot;--window-size=1920,1080&quot;);
                } else {
                    options.addArguments(&quot;--start-maximized&quot;);
                }
                options.addArguments(&quot;--disable-infobars&quot;);
                options.addArguments(&quot;--disable-gpu&quot;);
                options.addArguments(&quot;--no-sandbox&quot;);
                driver = new ChromeDriver(options);
                break;
        }

        int pageLoadTimeout = ConfigManager.getInt(&quot;page.load.timeout.seconds&quot;, 30);
        int implicitWait = ConfigManager.getInt(&quot;implicit.wait.seconds&quot;, 0);

        driver.manage().timeouts().pageLoadTimeout(Duration.ofSeconds(pageLoadTimeout));
        driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(implicitWait));

        return driver;
    }
}
    &lt;/textarea&gt;

    &lt;h3&gt;4.3 &lt;code class=&quot;inline&quot;&gt;WaitUtils.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.core;

import com.automationcodes.automation.config.ConfigManager;
import org.openqa.selenium.*;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

import java.time.Duration;

public class WaitUtils {

    private WaitUtils() {}

    private static WebDriverWait getWait() {
        int timeout = ConfigManager.getInt(&quot;explicit.wait.seconds&quot;, 15);
        return new WebDriverWait(DriverManager.getDriver(), Duration.ofSeconds(timeout));
    }

    public static WebElement waitForVisible(By locator) {
        return getWait().until(driver -&gt; {
            try {
                WebElement element = driver.findElement(locator);
                return element.isDisplayed() ? element : null;
            } catch (NoSuchElementException | StaleElementReferenceException e) {
                return null;
            }
        });
    }

    public static boolean waitForInvisibility(By locator) {
        return getWait().until(driver -&gt; {
            try {
                WebElement element = driver.findElement(locator);
                return !element.isDisplayed();
            } catch (NoSuchElementException e) {
                return true;
            }
        });
    }

    public static void waitForPageLoadComplete() {
        ExpectedCondition&lt;Boolean&gt; expectation = driver -&gt;
                ((JavascriptExecutor) driver).executeScript(&quot;return document.readyState&quot;)
                        .equals(&quot;complete&quot;);

        getWait().until(expectation);
    }
}
    &lt;/textarea&gt;

    &lt;h3&gt;4.4 &lt;code class=&quot;inline&quot;&gt;TestContext.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.core;

import java.util.HashMap;
import java.util.Map;

public class TestContext {

    private static final ThreadLocal&lt;Map&lt;String, Object&gt;&gt; CONTEXT =
            ThreadLocal.withInitial(HashMap::new);

    private TestContext() {}

    public static void set(String key, Object value) {
        CONTEXT.get().put(key, value);
    }

    @SuppressWarnings(&quot;unchecked&quot;)
    public static &amp;lt;T&amp;gt; T get(String key) {
        return (T) CONTEXT.get().get(key);
    }

    public static void clear() {
        CONTEXT.get().clear();
    }
}
    &lt;/textarea&gt;
  &lt;/div&gt;

  &lt;div class=&quot;section&quot;&gt;
    &lt;h2&gt;5. Utilities: Logging &amp;amp; Screenshots&lt;/h2&gt;

    &lt;h3&gt;5.1 &lt;code class=&quot;inline&quot;&gt;LoggerUtil.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.utils;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class LoggerUtil {

    private LoggerUtil() {}

    public static Logger getLogger(Class&lt;?&gt; clazz) {
        return LogManager.getLogger(clazz);
    }
}
    &lt;/textarea&gt;

    &lt;h3&gt;5.2 &lt;code class=&quot;inline&quot;&gt;ScreenshotUtil.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.utils;

import com.automationcodes.automation.core.DriverManager;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;

import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ScreenshotUtil {

    private static final String SCREENSHOT_DIR = &quot;target/screenshots&quot;;

    private ScreenshotUtil() {}

    public static String takeScreenshot(String namePrefix) {
        File srcFile = ((TakesScreenshot) DriverManager.getDriver())
                .getScreenshotAs(OutputType.FILE);

        String timestamp = new SimpleDateFormat(&quot;yyyyMMdd_HHmmss_SSS&quot;).format(new Date());
        String fileName = namePrefix + &quot;_&quot; + timestamp + &quot;.png&quot;;

        File destFile = Paths.get(SCREENSHOT_DIR, fileName).toFile();
        destFile.getParentFile().mkdirs();

        try {
            FileUtils.copyFile(srcFile, destFile);
        } catch (IOException e) {
            e.printStackTrace();
        }

        return destFile.getAbsolutePath();
    }
}
    &lt;/textarea&gt;

    &lt;h3&gt;5.3 &lt;code class=&quot;inline&quot;&gt;log4j2.xml&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;Configuration status=&quot;WARN&quot;&amp;gt;
    &amp;lt;Appenders&amp;gt;
        &amp;lt;Console name=&quot;Console&quot; target=&quot;SYSTEM_OUT&quot;&amp;gt;
            &amp;lt;PatternLayout pattern=&quot;%d{HH:mm:ss.SSS} %-5level [%t] %c{1} - %msg%n&quot;/&amp;gt;
        &amp;lt;/Console&amp;gt;
        &amp;lt;RollingFile name=&quot;File&quot; fileName=&quot;target/logs/framework.log&quot;
                     filePattern=&quot;target/logs/framework-%d{yyyy-MM-dd}-%i.log.gz&quot;&amp;gt;
            &amp;lt;PatternLayout&amp;gt;
                &amp;lt;pattern&amp;gt;%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %c - %msg%n&amp;lt;/pattern&amp;gt;
            &amp;lt;/PatternLayout&amp;gt;
            &amp;lt;Policies&amp;gt;
                &amp;lt;SizeBasedTriggeringPolicy size=&quot;10MB&quot;/&amp;gt;
            &amp;lt;/Policies&amp;gt;
        &amp;lt;/RollingFile&amp;gt;
    &amp;lt;/Appenders&amp;gt;

    &amp;lt;Loggers&amp;gt;
        &amp;lt;Root level=&quot;info&quot;&amp;gt;
            &amp;lt;AppenderRef ref=&quot;Console&quot;/&amp;gt;
            &amp;lt;AppenderRef ref=&quot;File&quot;/&amp;gt;
        &amp;lt;/Root&amp;gt;
    &amp;lt;/Loggers&amp;gt;
&amp;lt;/Configuration&amp;gt;
    &lt;/textarea&gt;
  &lt;/div&gt;

  &lt;div class=&quot;section&quot;&gt;
    &lt;h2&gt;6. Centralized Element Locators&lt;/h2&gt;
    &lt;p&gt;&lt;code class=&quot;inline&quot;&gt;ElementRepository&lt;/code&gt; groups locators by page.&lt;/p&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.locators;

import org.openqa.selenium.By;

public final class ElementRepository {

    private ElementRepository() {}

    public static final class LoginPage {
        private LoginPage() {}
        public static final By USERNAME_FIELD = By.id(&quot;username&quot;);
        public static final By PASSWORD_FIELD = By.id(&quot;password&quot;);
        public static final By LOGIN_BUTTON   = By.cssSelector(&quot;button[type=&#39;submit&#39;]&quot;);
        public static final By ERROR_MESSAGE  = By.id(&quot;flash&quot;);
    }

    public static final class HomePage {
        private HomePage() {}
        public static final By FLASH_MESSAGE = By.id(&quot;flash&quot;);
    }

    // Add more nested classes for other pages/components
}
    &lt;/textarea&gt;
  &lt;/div&gt;

  &lt;div class=&quot;section&quot;&gt;
    &lt;h2&gt;7. Page Objects&lt;/h2&gt;

    &lt;h3&gt;7.1 &lt;code class=&quot;inline&quot;&gt;BasePage.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.pages;

import com.automationcodes.automation.config.ConfigManager;
import com.automationcodes.automation.core.DriverManager;
import com.automationcodes.automation.core.WaitUtils;
import com.automationcodes.automation.utils.LoggerUtil;
import org.apache.logging.log4j.Logger;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

public abstract class BasePage {

    protected WebDriver driver;
    protected Logger log;
    protected String baseUrl;

    protected BasePage() {
        this.driver = DriverManager.getDriver();
        this.log = LoggerUtil.getLogger(this.getClass());
        this.baseUrl = ConfigManager.get(&quot;base.url&quot;);
    }

    protected void openRelativeUrl(String relativePath) {
        String url = baseUrl + (relativePath.startsWith(&quot;/&quot;) ? relativePath : &quot;/&quot; + relativePath);
        log.info(&quot;Navigating to: {}&quot;, url);
        driver.get(url);
        WaitUtils.waitForPageLoadComplete();
    }

    protected WebElement find(By locator) {
        return driver.findElement(locator);
    }

    protected WebElement findVisible(By locator) {
        return WaitUtils.waitForVisible(locator);
    }

    protected void click(By locator) {
        WebElement element = findVisible(locator);
        element.click();
        log.debug(&quot;Clicked element: {}&quot;, locator);
    }

    protected void type(By locator, String text) {
        WebElement element = findVisible(locator);
        element.clear();
        element.sendKeys(text);
        log.debug(&quot;Typed &#39;{}&#39; into element: {}&quot;, text, locator);
    }

    protected String getText(By locator) {
        String text = findVisible(locator).getText();
        log.debug(&quot;Got text &#39;{}&#39; from element: {}&quot;, text, locator);
        return text;
    }

    protected boolean isDisplayed(By locator) {
        try {
            return findVisible(locator).isDisplayed();
        } catch (Exception e) {
            return false;
        }
    }

    public String getTitle() {
        return driver.getTitle();
    }

    public String getCurrentUrl() {
        return driver.getCurrentUrl();
    }
}
    &lt;/textarea&gt;

    &lt;h3&gt;7.2 &lt;code class=&quot;inline&quot;&gt;LoginPage.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.pages;

import com.automationcodes.automation.locators.ElementRepository.LoginPage;

public class LoginPage extends BasePage {

    public LoginPage open() {
        log.info(&quot;Opening Login Page&quot;);
        openRelativeUrl(&quot;/login&quot;);
        return this;
    }

    public LoginPage typeUsername(String username) {
        type(LoginPage.USERNAME_FIELD, username);
        return this;
    }

    public LoginPage typePassword(String password) {
        type(LoginPage.PASSWORD_FIELD, password);
        return this;
    }

    public HomePage clickLoginSuccess() {
        click(LoginPage.LOGIN_BUTTON);
        log.info(&quot;Clicked login button (success expected)&quot;);
        return new HomePage();
    }

    public LoginPage clickLoginExpectingFailure() {
        click(LoginPage.LOGIN_BUTTON);
        log.info(&quot;Clicked login button (failure expected)&quot;);
        return this;
    }

    public String getErrorMessage() {
        return getText(LoginPage.ERROR_MESSAGE);
    }
}
    &lt;/textarea&gt;

    &lt;h3&gt;7.3 &lt;code class=&quot;inline&quot;&gt;HomePage.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.pages;

import com.automationcodes.automation.locators.ElementRepository.HomePage;

public class HomePage extends BasePage {

    public String getFlashMessage() {
        return getText(HomePage.FLASH_MESSAGE);
    }
}
    &lt;/textarea&gt;
  &lt;/div&gt;

  &lt;div class=&quot;section&quot;&gt;
    &lt;h2&gt;8. ExtentReports Integration&lt;/h2&gt;

    &lt;h3&gt;8.1 &lt;code class=&quot;inline&quot;&gt;ExtentManager.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.tests.reporting;

import com.aventstack.extentreports.ExtentReports;
import com.aventstack.extentreports.reporter.ExtentSparkReporter;

import java.nio.file.Paths;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ExtentManager {

    private static ExtentReports extent;

    private ExtentManager() {}

    public synchronized static ExtentReports getInstance() {
        if (extent == null) {
            extent = createInstance();
        }
        return extent;
    }

    private static ExtentReports createInstance() {
        String timestamp = new SimpleDateFormat(&quot;yyyyMMdd_HHmmss&quot;).format(new Date());
        String reportPath = Paths.get(&quot;target&quot;, &quot;reports&quot;, &quot;ExtentReport_&quot; + timestamp + &quot;.html&quot;).toString();

        ExtentSparkReporter spark = new ExtentSparkReporter(reportPath);
        spark.config().setDocumentTitle(&quot;UI Automation Report&quot;);
        spark.config().setReportName(&quot;UI Regression Suite&quot;);

        ExtentReports ER = new ExtentReports();
        ER.attachReporter(spark);

        ER.setSystemInfo(&quot;Environment&quot;, System.getProperty(&quot;env&quot;, &quot;dev&quot;));
        ER.setSystemInfo(&quot;OS&quot;, System.getProperty(&quot;os.name&quot;));
        ER.setSystemInfo(&quot;Java Version&quot;, System.getProperty(&quot;java.version&quot;));

        return ER;
    }
}
    &lt;/textarea&gt;

    &lt;h3&gt;8.2 &lt;code class=&quot;inline&quot;&gt;ExtentTestManager.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.tests.reporting;

import com.aventstack.extentreports.ExtentTest;

import java.util.HashMap;
import java.util.Map;

public class ExtentTestManager {

    private static final Map&amp;lt;Long, ExtentTest&amp;gt; TEST_MAP = new HashMap&lt;&gt;();

    private ExtentTestManager() {}

    public static synchronized ExtentTest getTest() {
        return TEST_MAP.get(Thread.currentThread().getId());
    }

    public static synchronized void setTest(ExtentTest test) {
        TEST_MAP.put(Thread.currentThread().getId(), test);
    }

    public static synchronized void removeTest() {
        TEST_MAP.remove(Thread.currentThread().getId());
    }
}
    &lt;/textarea&gt;
  &lt;/div&gt;

  &lt;div class=&quot;section&quot;&gt;
    &lt;h2&gt;9. TestNG Listener (Extent + Screenshots + Allure)&lt;/h2&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.tests.listeners;

import com.aventstack.extentreports.ExtentReports;
import com.aventstack.extentreports.Status;
import com.automationcodes.automation.config.ConfigManager;
import com.automationcodes.automation.core.DriverManager;
import com.automationcodes.automation.tests.reporting.ExtentManager;
import com.automationcodes.automation.tests.reporting.ExtentTestManager;
import com.automationcodes.automation.utils.LoggerUtil;
import com.automationcodes.automation.utils.ScreenshotUtil;
import io.qameta.allure.Attachment;
import org.apache.logging.log4j.Logger;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.testng.*;

public class TestListener implements ITestListener, ISuiteListener {

    private final Logger log = LoggerUtil.getLogger(this.getClass());
    private ExtentReports extent;

    @Override
    public void onStart(ISuite suite) {
        log.info(&quot;Initializing ExtentReports for suite: {}&quot;, suite.getName());
        extent = ExtentManager.getInstance();
    }

    @Override
    public void onFinish(ISuite suite) {
        log.info(&quot;Flushing ExtentReports for suite: {}&quot;, suite.getName());
        if (extent != null) {
            extent.flush();
        }
    }

    @Override
    public void onTestStart(ITestResult result) {
        String className = result.getTestClass().getName();
        String methodName = result.getMethod().getMethodName();
        String desc = result.getMethod().getDescription();

        String displayName = className + &quot;.&quot; + methodName;
        if (desc != null &amp;&amp; !desc.isEmpty()) {
            displayName += &quot; - &quot; + desc;
        }

        log.info(&quot;Starting test: {}&quot;, displayName);
        ExtentTestManager.setTest(extent.createTest(displayName));
        ExtentTestManager.getTest().log(Status.INFO, &quot;Test started&quot;);
    }

    @Override
    public void onTestSuccess(ITestResult result) {
        log.info(&quot;Test PASSED: {}.{}&quot;, result.getTestClass().getName(), result.getName());
        if (ExtentTestManager.getTest() != null) {
            ExtentTestManager.getTest().log(Status.PASS, &quot;Test passed&quot;);
        }
        ExtentTestManager.removeTest();
    }

    @Override
    public void onTestFailure(ITestResult result) {
        String testName = result.getTestClass().getName() + &quot;.&quot; + result.getName();
        log.error(&quot;Test FAILED: {}&quot;, testName, result.getThrowable());

        boolean capture = ConfigManager.getBoolean(&quot;screenshots.on.failure&quot;, true);
        String screenshotPath = null;

        if (capture &amp;&amp; DriverManager.getDriver() != null) {
            screenshotPath = ScreenshotUtil.takeScreenshot(result.getName());
            log.info(&quot;Screenshot saved to {}&quot;, screenshotPath);
            saveFailureScreenshotToAllure();
        }

        if (ExtentTestManager.getTest() != null) {
            ExtentTestManager.getTest().log(Status.FAIL,
                    &quot;Test failed: &quot; + result.getThrowable().getMessage());
            if (screenshotPath != null) {
                try {
                    ExtentTestManager.getTest()
                            .addScreenCaptureFromPath(screenshotPath, &quot;Failure Screenshot&quot;);
                } catch (Exception e) {
                    log.warn(&quot;Unable to attach screenshot to Extent: {}&quot;, e.getMessage());
                }
            }
        }

        ExtentTestManager.removeTest();
    }

    @Override
    public void onTestSkipped(ITestResult result) {
        log.warn(&quot;Test SKIPPED: {}.{}&quot;, result.getTestClass().getName(), result.getName());
        if (ExtentTestManager.getTest() != null) {
            ExtentTestManager.getTest().log(Status.SKIP,
                    &quot;Test skipped: &quot; +
                            (result.getThrowable() != null ? result.getThrowable().getMessage() : &quot;&quot;));
        }
        ExtentTestManager.removeTest();
    }

    @Override public void onTestFailedButWithinSuccessPercentage(ITestResult result) {}
    @Override public void onStart(ITestContext context) { log.info(&quot;Starting context: {}&quot;, context.getName()); }
    @Override public void onFinish(ITestContext context) { log.info(&quot;Finishing context: {}&quot;, context.getName()); }

    @Attachment(value = &quot;Failure Screenshot&quot;, type = &quot;image/png&quot;)
    public byte[] saveFailureScreenshotToAllure() {
        if (DriverManager.getDriver() == null) return new byte[0];
        return ((TakesScreenshot) DriverManager.getDriver()).getScreenshotAs(OutputType.BYTES);
    }
}
    &lt;/textarea&gt;
  &lt;/div&gt;

  &lt;div class=&quot;section&quot;&gt;
    &lt;h2&gt;10. Base Test Class &amp;amp; Sample Tests&lt;/h2&gt;

    &lt;h3&gt;10.1 &lt;code class=&quot;inline&quot;&gt;BaseTest.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.tests.base;

import com.automationcodes.automation.config.ConfigManager;
import com.automationcodes.automation.core.DriverFactory;
import com.automationcodes.automation.core.DriverManager;
import com.automationcodes.automation.core.TestContext;
import com.automationcodes.automation.utils.LoggerUtil;
import org.apache.logging.log4j.Logger;
import org.openqa.selenium.WebDriver;
import org.testng.annotations.*;

public abstract class BaseTest {

    protected Logger log = LoggerUtil.getLogger(this.getClass());
    protected String baseUrl;

    @Parameters({&quot;env&quot;})
    @BeforeSuite(alwaysRun = true)
    public void beforeSuite(@Optional String env) {
        if (env != null &amp;&amp; !env.isEmpty()) {
            System.setProperty(&quot;env&quot;, env);
        }
        log.info(&quot;Starting test suite. env={}&quot;, System.getProperty(&quot;env&quot;, &quot;dev&quot;));
    }

    @BeforeMethod(alwaysRun = true)
    public void setUp() {
        WebDriver driver = DriverFactory.createInstance();
        DriverManager.setDriver(driver);
        baseUrl = ConfigManager.get(&quot;base.url&quot;);
        TestContext.set(&quot;baseUrl&quot;, baseUrl);
        log.info(&quot;WebDriver created. Base URL: {}&quot;, baseUrl);
    }

    @AfterMethod(alwaysRun = true)
    public void tearDown() {
        log.info(&quot;Tearing down WebDriver&quot;);
        DriverManager.unload();
        TestContext.clear();
    }
}
    &lt;/textarea&gt;

    &lt;h3&gt;10.2 &lt;code class=&quot;inline&quot;&gt;LoginTests.java&lt;/code&gt;&lt;/h3&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
package com.automationcodes.automation.tests.login;

import com.automationcodes.automation.pages.HomePage;
import com.automationcodes.automation.pages.LoginPage;
import com.automationcodes.automation.tests.base.BaseTest;
import org.testng.Assert;
import org.testng.annotations.Test;

public class LoginTests extends BaseTest {

    @Test(description = &quot;Valid user should be able to login successfully&quot;)
    public void validLoginShouldSucceed() {
        HomePage homePage = new LoginPage()
                .open()
                .typeUsername(&quot;tomsmith&quot;)
                .typePassword(&quot;SuperSecretPassword!&quot;)
                .clickLoginSuccess();

        String message = homePage.getFlashMessage();
        Assert.assertTrue(message.contains(&quot;You logged into a secure area!&quot;),
                &quot;Expected success message not present. Actual: &quot; + message);
    }

    @Test(description = &quot;Invalid login should show error message&quot;)
    public void invalidLoginShouldFail() {
        LoginPage loginPage = new LoginPage()
                .open()
                .typeUsername(&quot;invalid&quot;)
                .typePassword(&quot;invalid&quot;)
                .clickLoginExpectingFailure();

        String error = loginPage.getErrorMessage();
        Assert.assertTrue(error.toLowerCase().contains(&quot;your username is invalid&quot;),
                &quot;Expected error message not present. Actual: &quot; + error);
    }
}
    &lt;/textarea&gt;
  &lt;/div&gt;

  &lt;div class=&quot;section&quot;&gt;
    &lt;h2&gt;11. TestNG Suite&lt;/h2&gt;
    &lt;p&gt;&lt;code class=&quot;inline&quot;&gt;src/test/resources/testng.xml&lt;/code&gt;:&lt;/p&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
&amp;lt;!DOCTYPE suite SYSTEM &quot;https://testng.org/testng-1.0.dtd&quot; &amp;gt;
&amp;lt;suite name=&quot;UI Automation Suite&quot; parallel=&quot;tests&quot; thread-count=&quot;3&quot;&amp;gt;

    &amp;lt;listeners&amp;gt;
        &amp;lt;listener class-name=&quot;com.automationcodes.automation.tests.listeners.TestListener&quot;/&amp;gt;
    &amp;lt;/listeners&amp;gt;

    &amp;lt;test name=&quot;Login Tests - Dev&quot;&amp;gt;
        &amp;lt;parameter name=&quot;env&quot; value=&quot;dev&quot;/&amp;gt;
        &amp;lt;classes&amp;gt;
            &amp;lt;class name=&quot;com.automationcodes.automation.tests.login.LoginTests&quot;/&amp;gt;
        &amp;lt;/classes&amp;gt;
    &amp;lt;/test&amp;gt;

&amp;lt;/suite&amp;gt;
    &lt;/textarea&gt;
  &lt;/div&gt;

  &lt;div class=&quot;section&quot;&gt;
    &lt;h2&gt;12. Running the Framework&lt;/h2&gt;
    &lt;p&gt;From the project root:&lt;/p&gt;

    &lt;h4&gt;Dev (default profile)&lt;/h4&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
mvn clean test
    &lt;/textarea&gt;

    &lt;h4&gt;QA&lt;/h4&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
mvn clean test -Pqa
    &lt;/textarea&gt;

    &lt;h4&gt;Prod&lt;/h4&gt;
    &lt;textarea class=&quot;code-block&quot; readonly&gt;
mvn clean test -Pprod
    &lt;/textarea&gt;

    &lt;p&gt;Generated artifacts:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;Extent HTML report:&lt;/strong&gt; &lt;code class=&quot;inline&quot;&gt;target/reports/ExtentReport_&amp;lt;timestamp&amp;gt;.html&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Screenshots on failure:&lt;/strong&gt; &lt;code class=&quot;inline&quot;&gt;target/screenshots&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Logs:&lt;/strong&gt; &lt;code class=&quot;inline&quot;&gt;target/logs/framework.log&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
```
</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/1469107154128775818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2025/12/selenium-pom-framework.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/1469107154128775818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/1469107154128775818'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2025/12/selenium-pom-framework.html' title='Selenium POM framework'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-7377750016881303891</id><published>2025-12-10T12:48:00.000+05:30</published><updated>2025-12-10T12:48:26.712+05:30</updated><title type='text'>Hybrid Selenium Framework with POM + TestNG: Complete Implementation Guide</title><content type='html'>&lt;h2&gt;Complete Hybrid Selenium Framework - Ready to Use&lt;/h2&gt;

&lt;p&gt;This is the &lt;strong&gt;full, production-ready implementation&lt;/strong&gt; of a Hybrid Selenium Framework using Page Object Model (POM) and TestNG. All classes, utilities, and configuration files are included with complete working code.&lt;/p&gt;

&lt;h3&gt;Project Structure Overview&lt;/h3&gt;

&lt;pre style=&quot;background-color: #ffffff; color: #000000; padding: 12px; border: 1px solid #000000; overflow-x: auto;&quot;&gt;src/
├── main/
│   ├── java/
│   │   ├── config/
│   │   │   └── ConfigReader.java
│   │   ├── pages/
│   │   │   └── LoginPage.java
│   │   ├── utilities/
│   │   │   ├── DriverManager.java
│   │   │   └── ExcelReader.java
│   │   └── base/
│   │       └── BaseTest.java
│   └── resources/
│       ├── config.properties
│       └── testdata/
│           └── LoginData.xlsx
├── test/
│   ├── java/tests/
│   │   └── LoginTest.java
│   └── resources/
│       └── testng.xml
└── pom.xml&lt;/pre&gt;

&lt;h3&gt;1. pom.xml - Complete Dependencies&lt;/h3&gt;

&lt;pre style=&quot;background-color: #ffffff; color: #000000; padding: 12px; border: 1px solid #000000; overflow-x: auto;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&amp;gt;
    &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;
    &amp;lt;groupId&amp;gt;com.automation&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;selenium-pom-framework&amp;lt;/artifactId&amp;gt;
    &amp;lt;version&amp;gt;1.0&amp;lt;/version&amp;gt;
    
    &amp;lt;properties&amp;gt;
        &amp;lt;maven.compiler.source&amp;gt;11&amp;lt;/maven.compiler.source&amp;gt;
        &amp;lt;maven.compiler.target&amp;gt;11&amp;lt;/maven.compiler.target&amp;gt;
    &amp;lt;/properties&amp;gt;
    
    &amp;lt;dependencies&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;org.seleniumhq.selenium&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;selenium-java&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;4.17.0&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;org.testng&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;testng&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;7.9.0&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;com.aventstack&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;extentreports&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;5.1.1&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;io.github.bonigarcia&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;webdrivermanager&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;5.6.2&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;org.apache.poi&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;poi-ooxml&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;5.2.5&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;
    &amp;lt;/dependencies&amp;gt;
    
    &amp;lt;build&amp;gt;
        &amp;lt;plugins&amp;gt;
            &amp;lt;plugin&amp;gt;
                &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;
                &amp;lt;artifactId&amp;gt;maven-surefire-plugin&amp;lt;/artifactId&amp;gt;
                &amp;lt;version&amp;gt;3.2.5&amp;lt;/version&amp;gt;
                &amp;lt;configuration&amp;gt;
                    &amp;lt;suiteXmlFiles&amp;gt;
                        &amp;lt;suiteXmlFile&amp;gt;testng.xml&amp;lt;/suiteXmlFile&amp;gt;
                    &amp;lt;/suiteXmlFiles&amp;gt;
                &amp;lt;/configuration&amp;gt;
            &amp;lt;/plugin&amp;gt;
        &amp;lt;/plugins&amp;gt;
    &amp;lt;/build&amp;gt;
&amp;lt;/project&amp;gt;&lt;/pre&gt;

&lt;h3&gt;2. config.properties - Configuration File&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;File location:&lt;/strong&gt; src/main/resources/config.properties&lt;/p&gt;

&lt;pre style=&quot;background-color: #ffffff; color: #000000; padding: 12px; border: 1px solid #000000; overflow-x: auto;&quot;&gt;browser=chrome
url=https://login.salesforce.com
timeout=10
headless=false&lt;/pre&gt;

&lt;h3&gt;3. ConfigReader.java - Read Configuration Properties&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Location:&lt;/strong&gt; src/main/java/config/ConfigReader.java&lt;/p&gt;

&lt;pre style=&quot;background-color: #ffffff; color: #000000; padding: 12px; border: 1px solid #000000; overflow-x: auto;&quot;&gt;package config;

import java.io.FileInputStream;
import java.util.Properties;

public class ConfigReader {
    private static Properties properties;
    
    static {
        try {
            properties = new Properties();
            properties.load(new FileInputStream(&quot;src/main/resources/config.properties&quot;));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    public static String getProperty(String key) {
        return properties.getProperty(key);
    }
}&lt;/pre&gt;

&lt;h3&gt;4. DriverManager.java - WebDriver Factory&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Location:&lt;/strong&gt; src/main/java/utilities/DriverManager.java&lt;/p&gt;

&lt;pre style=&quot;background-color: #ffffff; color: #000000; padding: 12px; border: 1px solid #000000; overflow-x: auto;&quot;&gt;package utilities;

import config.ConfigReader;
import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;

public class DriverManager {
    public static WebDriver getDriver() {
        String browser = ConfigReader.getProperty(&quot;browser&quot;);
        if (&quot;chrome&quot;.equalsIgnoreCase(browser)) {
            WebDriverManager.chromedriver().setup();
            ChromeOptions options = new ChromeOptions();
            if (Boolean.parseBoolean(ConfigReader.getProperty(&quot;headless&quot;))) {
                options.addArguments(&quot;--headless&quot;);
            }
            options.addArguments(&quot;--disable-notifications&quot;);
            return new ChromeDriver(options);
        } else {
            WebDriverManager.firefoxdriver().setup();
            return new FirefoxDriver();
        }
    }
}&lt;/pre&gt;

&lt;h3&gt;5. ExcelReader.java - Data-Driven Test Support&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Location:&lt;/strong&gt; src/main/java/utilities/ExcelReader.java&lt;/p&gt;

&lt;pre style=&quot;background-color: #ffffff; color: #000000; padding: 12px; border: 1px solid #000000; overflow-x: auto;&quot;&gt;package utilities;

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileInputStream;
import java.io.IOException;

public class ExcelReader {
    public static Object[][] getData(String filePath, String sheetName) {
        try (FileInputStream fis = new FileInputStream(filePath);
             Workbook workbook = new XSSFWorkbook(fis)) {
            
            Sheet sheet = workbook.getSheet(sheetName);
            int rows = sheet.getLastRowNum();
            int cells = sheet.getRow(0).getLastCellNum();
            
            Object[][] data = new Object[rows][cells];
            for (int i = 0; i &lt; rows; i++) {
                for (int j = 0; j &lt; cells; j++) {
                    data[i][j] = sheet.getRow(i + 1).getCell(j).getStringCellValue();
                }
            }
            return data;
        } catch (IOException e) {
            throw new RuntimeException(&quot;Excel read error: &quot; + e.getMessage());
        }
    }
}&lt;/pre&gt;

&lt;h3&gt;6. LoginPage.java - Page Object Model&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Location:&lt;/strong&gt; src/main/java/pages/LoginPage.java&lt;/p&gt;

&lt;pre style=&quot;background-color: #ffffff; color: #000000; padding: 12px; border: 1px solid #000000; overflow-x: auto;&quot;&gt;package pages;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class LoginPage {
    private WebDriver driver;
    private WebDriverWait wait;
    
    @FindBy(xpath = &quot;//input[contains(@id,&#39;username&#39;)]&quot;)
    private WebElement usernameField;
    
    @FindBy(xpath = &quot;//input[contains(@id,&#39;password&#39;)]&quot;)
    private WebElement passwordField;
    
    @FindBy(xpath = &quot;//input[@type=&#39;submit&#39; or contains(@value,&#39;Log&#39;)]&quot;)
    private WebElement loginButton;
    
    @FindBy(xpath = &quot;//div[contains(@class,&#39;error&#39;)]&quot;)
    private WebElement errorMessage;
    
    public LoginPage(WebDriver driver) {
        this.driver = driver;
        this.wait = new WebDriverWait(driver, 10);
        PageFactory.initElements(driver, this);
    }
    
    public void enterUsername(String username) {
        wait.until(ExpectedConditions.visibilityOf(usernameField));
        usernameField.clear();
        usernameField.sendKeys(username);
    }
    
    public void enterPassword(String password) {
        passwordField.clear();
        passwordField.sendKeys(password);
    }
    
    public void clickLogin() {
        loginButton.click();
    }
    
    public String getErrorMessage() {
        return errorMessage.getText();
    }
    
    public void login(String username, String password) {
        enterUsername(username);
        enterPassword(password);
        clickLogin();
    }
}&lt;/pre&gt;

&lt;h3&gt;7. BaseTest.java - Test Base Class&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Location:&lt;/strong&gt; src/test/java/base/BaseTest.java&lt;/p&gt;

&lt;pre style=&quot;background-color: #ffffff; color: #000000; padding: 12px; border: 1px solid #000000; overflow-x: auto;&quot;&gt;package base;

import config.ConfigReader;
import org.openqa.selenium.WebDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import pages.LoginPage;
import utilities.DriverManager;

public class BaseTest {
    protected WebDriver driver;
    protected LoginPage loginPage;
    
    @BeforeMethod
    public void setup() {
        driver = DriverManager.getDriver();
        driver.manage().window().maximize();
        driver.get(ConfigReader.getProperty(&quot;url&quot;));
        loginPage = new LoginPage(driver);
    }
    
    @AfterMethod
    public void tearDown() {
        if (driver != null) {
            driver.quit();
        }
    }
}&lt;/pre&gt;

&lt;h3&gt;8. LoginTest.java - Test Class with Data Provider&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Location:&lt;/strong&gt; src/test/java/tests/LoginTest.java&lt;/p&gt;

&lt;pre style=&quot;background-color: #ffffff; color: #000000; padding: 12px; border: 1px solid #000000; overflow-x: auto;&quot;&gt;package tests;

import base.BaseTest;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import utilities.ExcelReader;

public class LoginTest extends BaseTest {
    
    @DataProvider(name = &quot;loginData&quot;)
    public Object[][] getLoginData() {
        return ExcelReader.getData(&quot;src/main/resources/testdata/LoginData.xlsx&quot;, &quot;Sheet1&quot;);
    }
    
    @Test(dataProvider = &quot;loginData&quot;, groups = &quot;smoke&quot;)
    public void validLoginTest(String username, String password) {
        loginPage.login(username, password);
        Assert.assertTrue(driver.getTitle().contains(&quot;Salesforce&quot;));
    }
    
    @Test(groups = &quot;negative&quot;)
    public void invalidLoginTest() {
        loginPage.login(&quot;invalid@test.com&quot;, &quot;wrongpass&quot;);
        Assert.assertTrue(loginPage.getErrorMessage().contains(&quot;Error&quot;));
    }
}&lt;/pre&gt;

&lt;h3&gt;9. testng.xml - Test Suite Configuration&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Location:&lt;/strong&gt; src/test/resources/testng.xml&lt;/p&gt;

&lt;pre style=&quot;background-color: #ffffff; color: #000000; padding: 12px; border: 1px solid #000000; overflow-x: auto;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;suite name=&quot;SalesforceRegressionSuite&quot; parallel=&quot;methods&quot; thread-count=&quot;3&quot;&amp;gt;
    &amp;lt;test name=&quot;SmokeTests&quot;&amp;gt;
        &amp;lt;groups&amp;gt;
            &amp;lt;run&amp;gt;
                &amp;lt;include name=&quot;smoke&quot;/&amp;gt;
            &amp;lt;/run&amp;gt;
        &amp;lt;/groups&amp;gt;
        &amp;lt;classes&amp;gt;
            &amp;lt;class name=&quot;tests.LoginTest&quot;/&amp;gt;
        &amp;lt;/classes&amp;gt;
    &amp;lt;/test&amp;gt;
    &amp;lt;test name=&quot;NegativeTests&quot;&amp;gt;
        &amp;lt;groups&amp;gt;
            &amp;lt;run&amp;gt;
                &amp;lt;include name=&quot;negative&quot;/&amp;gt;
            &amp;lt;/run&amp;gt;
        &amp;lt;/groups&amp;gt;
        &amp;lt;classes&amp;gt;
            &amp;lt;class name=&quot;tests.LoginTest&quot;/&amp;gt;
        &amp;lt;/classes&amp;gt;
    &amp;lt;/test&amp;gt;
&amp;lt;/suite&amp;gt;&lt;/pre&gt;

&lt;h3&gt;How Each Class Works Together&lt;/h3&gt;

&lt;table style=&quot;width: 100%; border-collapse: collapse; margin: 15px 0; border: 1px solid #000000;&quot;&gt;
&lt;tr style=&quot;background-color: #ffffff;&quot;&gt;
&lt;th style=&quot;border: 1px
</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/7377750016881303891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2025/12/hybrid-selenium-framework-with-pom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/7377750016881303891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/7377750016881303891'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2025/12/hybrid-selenium-framework-with-pom.html' title='Hybrid Selenium Framework with POM + TestNG: Complete Implementation Guide'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-5724627695810798288</id><published>2025-11-12T15:39:00.005+05:30</published><updated>2025-11-13T17:17:16.554+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Playwright Series"/><title type='text'>Complete JavaScript in 5 mins for Playwright</title><content type='html'>&lt;hr /&gt;
&lt;h2&gt;Hello World Program in JavaScript&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;*// Create a file in Visual Studio Code with .js extension* console.log(&quot;Hello World&quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;To run:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Open terminal at file location&lt;/li&gt;
&lt;li&gt;Run:&lt;b&gt; &lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;node filename.js&lt;/span&gt;&lt;/code&gt;&lt;/b&gt; (make sure Node.js is installed and set in system variables)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Output:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Hello World&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Comments in JavaScript&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;// This is a single line comment&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;

&lt;!-- notionvc: 3e1b9f14-b93e-4c8c-9ca8-3f4fae3e27a3 --&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;/*This is  a multi-line  comment */&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Comments don&#39;t impact execution.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Variables in JavaScript&lt;/h2&gt;
&lt;p&gt;JavaScript variables are loosely typed - &lt;strong&gt;no explicit data types are needed&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Example of declaring a variable:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;let a = 4;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;console.log(a);&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;// Prints: 4&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;To check type of variable:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(typeof a); // Outputs: &quot;number&quot;&lt;/span&gt;&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Variables can be declared with &lt;code&gt;var&lt;/code&gt;, &lt;code&gt;let&lt;/code&gt;, and &lt;code&gt;const&lt;/code&gt;. &lt;strong&gt;&lt;code&gt;let&lt;/code&gt; and &lt;code&gt;const&lt;/code&gt; were introduced in ES6.&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;var, let, const&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;var&lt;/code&gt;: Function scoped, can be redeclared and reassigned.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;let&lt;/code&gt;: Block scoped, cannot be redeclared, but can be reassigned.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;const&lt;/code&gt;: Block scoped, cannot be redeclared or reassigned (constant).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let a = 4; a = 5; // OK&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;let a=6;   // cannot be redeclared&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;const b = 10;
b = 15;&lt;/b&gt;&lt;/span&gt; &lt;em&gt;// Error: Assignment to constant variable.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;var c = 7;
var c = 8;&lt;/span&gt;&lt;/b&gt; // Allowed with var` ,can be redeclared and reassigned.&lt;/p&gt;
&lt;p&gt;Use &lt;code&gt;let&lt;/code&gt; or &lt;code&gt;const&lt;/code&gt; instead of &lt;code&gt;var&lt;/code&gt; for better scoping.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Boolean negation operator&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let flag = true;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(!flag); *// Prints: false*&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Negation &lt;code&gt;!&lt;/code&gt; works only with boolean values.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Reassignment and variable declaration&lt;/h2&gt;
&lt;p&gt;`javascript&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let c = a + b;&lt;/span&gt;&lt;/b&gt; &lt;em&gt;// Declared once&lt;/em&gt;
c = a + b; &lt;em&gt;// Reassignment allowed without let keyword&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let c = a + b;&lt;/span&gt;&lt;/b&gt; &lt;em&gt;// Error: &#39;c&#39; already declared&lt;/em&gt;`&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Loops in JavaScript&lt;/h2&gt;
&lt;h2&gt;while loop&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;let i = 0;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;while (i &amp;lt; 10)&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;{&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;console.log(i);&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;i++;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;}&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Infinite loop caution: Condition must eventually become false.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The loop starts with&amp;nbsp;&lt;strong&gt;&lt;code&gt;i = 0&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Each iteration prints&amp;nbsp;&lt;strong&gt;&lt;code&gt;i&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;and increases it by 1.&lt;/li&gt;
&lt;li&gt;When&amp;nbsp;&lt;strong&gt;&lt;code&gt;i&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;reaches 10, the condition&amp;nbsp;&lt;strong&gt;&lt;code&gt;(i &amp;lt; 10)&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;becomes false, so the loop stops.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you forget to update&amp;nbsp;&lt;strong&gt;&lt;code&gt;i&lt;/code&gt;&lt;/strong&gt;, the condition never becomes false, creating an&amp;nbsp;&lt;em&gt;infinite loop&lt;/em&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;do-while loop&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;let i = 10;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;do&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;{&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;console.log(i);&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;i++;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;} while (i &amp;lt; 10);&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Executes once before checking condition.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;for loop&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;for (let i = 0; i &amp;lt;= 10; i++)&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;{&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;console.log(i);&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Use when the number of iterations is known.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Example: Find multiples of 2 and 5&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;for (let k = 1; k &amp;lt;= 10; k++)&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;if (k % 2 === 0 &amp;amp;&amp;amp; k % 5 === 0)&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;console.log(k);&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;}&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;} &lt;/b&gt;&lt;/span&gt;*// Output: 10*&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;break statement example&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;let n = 0;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;for (let k = 1; k &amp;lt;= 100; k++)&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;{&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;if (k % 2 === 0 &amp;amp;&amp;amp; k % 5 === 0)&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;{&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;n++;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;console.log(k);&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;if (n === 3)&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;break;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;// Stop after first 3 matches*&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;}&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;}&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The loop runs from&amp;nbsp;&lt;strong&gt;&lt;code&gt;k = 1&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;to&amp;nbsp;&lt;strong&gt;&lt;code&gt;k = 100&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Inside, the condition&amp;nbsp;&lt;strong&gt;&lt;code&gt;(k % 2 === 0 &amp;amp;&amp;amp; k % 5 === 0)&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;checks whether&amp;nbsp;&lt;strong&gt;&lt;code&gt;k&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;is divisible by both 2 and 5 (which means divisible by 10).&lt;/li&gt;
&lt;li&gt;Each valid match increases&amp;nbsp;&lt;strong&gt;&lt;code&gt;n&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;by 1 and prints&amp;nbsp;&lt;strong&gt;&lt;code&gt;k&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Once&amp;nbsp;&lt;strong&gt;&lt;code&gt;n&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;reaches 3, the&amp;nbsp;&lt;strong&gt;&lt;code&gt;break&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;statement exits the loop early.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So the output stops after printing the first 3 such numbers (10, 20, 30).&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Arrays in JavaScript&lt;/h2&gt;
&lt;h2&gt;Declaring and initializing an array&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;let marks = new Array(6);&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;marks = [20, 40, 35, 45, 50, 37];&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Or simply:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let marks = [20, 40, 35, 45, 50, 37];&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Accessing array elements&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(marks[2]);&lt;/span&gt; // Outputs: 35*&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Updating array element&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;marks[3] = 14; // Change fourth element to 14&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(marks);&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Array length&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(marks.length);&lt;/span&gt;&lt;/b&gt; // Outputs: 6&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Adding/removing elements&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;marks.push(65); &lt;/span&gt;// Add 65 at the end* marks.pop(); // Removes last element&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;marks.unshift(12);&lt;/span&gt; // Add 12 at beginning*&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Array methods: indexOf, includes, slice&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;console.log(marks.indexOf(35));&lt;/b&gt;&lt;/span&gt; // Get index of 35* console.log(marks.includes(120)); // false - if 120 not found&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;let subMarks = marks.slice(2, 5);&lt;/b&gt;&lt;/span&gt; // elements from index 2 to 4&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Loop to sum array elements&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;let sum = 0;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;for(let i = 0; i &amp;lt; marks.length; i++)&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;sum += marks[i];&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;console.log(sum);&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Using reduce&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let totalMarks = marks.reduce((sum, mark) =&amp;gt; sum + mark, 0);&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(totalMarks);&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Filtering even numbers from an array&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let scores = [12, 13, 14, 16];&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let evenScores = [];&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;for(let i = 0; i &amp;lt; scores.length; i++)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;{&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;if(scores[i] % 2 === 0)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;{&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;evenScores.push(scores[i]);&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;}&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(evenScores);&lt;/span&gt; *// [12, 14, 16]*&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Using filter method&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let evenScores = scores.filter(score =&amp;gt; score % 2 === 0);&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(evenScores);&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Mapping over array elements&lt;/h2&gt;
&lt;p&gt;Multiply evens by 3:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;let mappedScores = evenScores.map(score =&amp;gt; score * 3);&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;console.log(mappedScores);&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Combining filter, map, reduce&lt;/h2&gt;
&lt;p&gt;`javascript&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let result = scores
.filter(score =&amp;gt; score % 2 === 0)
.map(score =&amp;gt; score * 3)
.reduce((total, score) =&amp;gt; total + score, 0);&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;console.log(result);&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Sorting&lt;/h2&gt;
&lt;h2&gt;Sorting strings&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;let fruits = [&#39;Banana&#39;, &#39;Mango&#39;, &#39;Apple&#39;];&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;fruits.sort();&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;console.log(fruits);&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;Sorting numbers (with custom comparator)&lt;/h2&gt;
&lt;p&gt;`javascript&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let numbers = [12, 3, 19, 16, 14];&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;numbers.sort((a, b) =&amp;gt; a - b);&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(numbers); &lt;/span&gt;&lt;em&gt;// Ascending order&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;numbers.sort((a, b) =&amp;gt; b - a);&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(numbers); &lt;/span&gt;&lt;em&gt;// Descending order&lt;/em&gt;`&lt;/b&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Functions in JavaScript&lt;/h2&gt;
&lt;h2&gt;Named function&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;function add(a, b)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;{&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;return a + b;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;}&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let result = add(2, 3);&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(result); &lt;/span&gt;// 5&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;Anonymous function assigned to variable&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let add = function(a, b)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;{&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;return a + b;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;};&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(add(2, 3)); &lt;/span&gt;// 5&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;Arrow function (ES6)&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let add = (a, b) =&amp;gt; a + b;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(add(2, 3)); &lt;/span&gt;// 5&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Variable scope differences: var vs let vs const&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;var&lt;/code&gt; is function scoped&lt;/li&gt;
&lt;li&gt;&lt;code&gt;let&lt;/code&gt; and &lt;code&gt;const&lt;/code&gt; are block scoped&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example problem with &lt;code&gt;var&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;`javascript&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;if (true) {&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;var grade = &quot;Afternoon&quot;; &lt;/span&gt;&lt;em&gt;// var scoped outside block&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(grade); &lt;/span&gt;&lt;em&gt;// Prints &quot;Afternoon&quot;&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;if (true)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;{&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;let grade = &quot;Evening&quot;;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;em&gt;// let scoped inside block&lt;/em&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;}&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(grade); &lt;/span&gt;&lt;em&gt;// Error if grade not declared outside block&lt;/em&gt;`&lt;/b&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Strings in JavaScript&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let day = &quot;Tuesday&quot;;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(day.length);&lt;/span&gt; // String length&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;// Substring with slice&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;let sub = day.slice(0, 4); &lt;/span&gt;// &#39;Tues&#39;// Access character by index&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;console.log(day[1]); &lt;/span&gt;// &#39;u&#39;// Split string&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;let parts = day.split(&#39;s&#39;); &lt;/span&gt;// splits at &#39;s&#39;// Trim whitespace&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;let rawString = &quot;  hello  &quot;;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(rawString.trim()); &lt;/span&gt;// &#39;hello&#39;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Converting string to number and vice versa&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;let str = &quot;27&quot;;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;let num = parseInt(str);&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;console.log(num - 23); &lt;/b&gt;&lt;/span&gt;// Subtract numbers correctly&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(num.toString());&lt;/span&gt;&lt;/b&gt; // Convert back to string*&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Objects in JavaScript&lt;/h2&gt;
&lt;p&gt;`javascript&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let person = {
firstName: &quot;John&quot;,
lastName: &quot;Doe&quot;,
gender: &quot;Male&quot;
};&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;// Access properties&lt;/em&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;console.log(person.firstName);&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;console.log(person[&#39;lastName&#39;]);&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;// Update property&lt;/em&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;person.firstName = &quot;Tim&quot;;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;// Add new property&lt;/em&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;person.age = 30;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;// Delete property&lt;/em&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;delete person.gender;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;// Check if property exists&lt;/em&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(&#39;gender&#39; in person); &lt;/span&gt;&lt;/b&gt;&lt;em&gt;// false after deletion&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;// Iterate properties&lt;/em&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;for (let key in person)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;{&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;color: red;&quot;&gt;console.log(key + &quot;: &quot; + person[key]);&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp;}&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Object methods (functions as properties)&lt;/h2&gt;
&lt;p&gt;javascript&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;let person = {&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; firstName: &quot;Tim&quot;,&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; lastName: &quot;Smith&quot;,&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; fullName: function() {&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; return this.firstName + &quot; &quot; + this.lastName;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;};&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(person.fullName());&lt;/span&gt;&lt;/b&gt; // Call function property&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Classes in JavaScript (ES6)&lt;/h2&gt;
&lt;p&gt;javascript&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;class Person {&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; constructor(firstName, lastName) {&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; this.firstName = firstName;&lt;/span&gt;&lt;/b&gt; // instance variable&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; this.lastName = lastName;&amp;nbsp;&lt;/b&gt;&lt;/span&gt; &amp;nbsp;// instance variable&lt;/p&gt;&lt;p&gt;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp; fullName() {&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; return this.firstName + &quot; &quot; + this.lastName;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp; get location() {&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; return &quot;Canada&quot;;&lt;/b&gt;&lt;/span&gt; // getter property&lt;/p&gt;&lt;p&gt;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;// Create instance&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;const p1 = new Person(&quot;Tim&quot;, &quot;Joseph&quot;);&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(p1.fullName());&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;console.log(p1.location);&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Exporting and importing classes in Node.js&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Export class:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;module.exports = Person;&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Import and use in another file:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;javascript&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;color: red;&quot;&gt;const Person = require(&#39;./Person&#39;);&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;color: red;&quot;&gt;const p1 = new Person(&quot;Chris&quot;, &quot;Edward&quot;);&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;console.log(p1.fullName());&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Inheritance in JavaScript classes&lt;/h2&gt;&lt;h2&gt;&lt;b style=&quot;color: #eb5757; font-family: SFMono-Regular, Menlo, Consolas, &amp;quot;PT Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, Courier, monospace; font-size: 13.6px;&quot;&gt;const Person = require(&#39;./Person&#39;);&lt;/b&gt;&lt;/h2&gt;&lt;div&gt;&lt;span style=&quot;color: #eb5757; font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #eb5757; font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;class Pet extends Person {&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #eb5757; font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;&amp;nbsp; constructor(firstName, lastName) {&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #eb5757;&quot;&gt;&amp;nbsp; &amp;nbsp; super(firstName, lastName); &lt;/span&gt;// Call parent&#39;s constructor&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #eb5757; font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #eb5757; font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #eb5757; font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;&amp;nbsp; get location() {&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #eb5757;&quot;&gt;&amp;nbsp; &amp;nbsp; return &quot;Blue Cross&quot;; &lt;/span&gt;// Override parent&#39;s location&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #eb5757; font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #eb5757; font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #eb5757; font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #eb5757; font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;const pet1 = new Pet(&quot;Sam&quot;, &quot;Sam&quot;);&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #eb5757;&quot;&gt;console.log(pet1.fullName());&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;// Inherited method&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: SFMono-Regular, Menlo, Consolas, PT Mono, Liberation Mono, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 13.6px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #eb5757;&quot;&gt;console.log(pet1.location);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;// Overridden property&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;hr /&gt;
&lt;!--notionvc: 889515a4-5944-4348-8cdc-835efa45887a--&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/5724627695810798288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2025/11/complete-javascript-in-5-mins-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/5724627695810798288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/5724627695810798288'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2025/11/complete-javascript-in-5-mins-for.html' title='Complete JavaScript in 5 mins for Playwright'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-1303478640892601441</id><published>2025-04-13T18:22:00.004+05:30</published><updated>2025-04-13T19:26:17.066+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Provar Questions and Answers"/><title type='text'>Provar : Scenario-Based Provar Testing Questions - Part 5</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 13.5pt; line-height: 107%; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Part 5:
Scenario-Based Provar Testing Questions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 13.5pt; line-height: 107%; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 13.5pt; line-height: 107%; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;h3&gt;&lt;iframe allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; src=&quot;https://www.youtube.com/embed/2isgJ-853uc?si=4YKFS361rghIxOn6&quot; title=&quot;YouTube video player&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;/h3&gt;&lt;h3&gt;&lt;br /&gt;&lt;/h3&gt;&lt;h3&gt;81. &lt;strong data-end=&quot;211&quot; data-start=&quot;155&quot;&gt;A test fails due to a missing
element. How to debug?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;301&quot; data-start=&quot;213&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;When encountering a test failure due to a missing
element, consider the following steps:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;423&quot; data-start=&quot;305&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l19 level1 lfo20; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;340&quot; data-start=&quot;305&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Verify Metadata
Synchronization&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Ensure that your Provar
metadata is up-to-date with your Salesforce environment. Outdated metadata can
lead to mismatches between your test scripts and the current UI elements.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;551&quot; data-start=&quot;427&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l19 level1 lfo20; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;468&quot; data-start=&quot;427&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Utilize Provar&#39;s Live
Inspection Tool&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Use the Live Inspection
Tool to interactively inspect and capture UI elements directly from your
Salesforce application. This helps in accurately identifying elements and updating
your test scripts accordingly.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;673&quot; data-start=&quot;555&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l19 level1 lfo20; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;590&quot; data-start=&quot;555&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Review Salesforce Release
Notes&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Salesforce periodically updates its
UI components and features. Reviewing the latest release notes can inform you
of any changes that might affect your test elements.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;834&quot; data-start=&quot;677&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l19 level1 lfo20; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;713&quot; data-start=&quot;677&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Set Breakpoints and Analyze
Logs&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Incorporate breakpoints in your test
scripts to pause execution at critical points. Analyze the logs to identify
discrepancies or issues related to element identification.&lt;/span&gt; ​ &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1035&quot; data-start=&quot;836&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;845&quot; data-start=&quot;836&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: If a test fails because a
button is not found, verify that the button&#39;s locator is correct and that the
button exists in the current UI version.​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;1040&quot; data-start=&quot;1037&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;1118&quot; data-start=&quot;1042&quot;&gt;82. &lt;strong data-end=&quot;1118&quot; data-start=&quot;1049&quot;&gt;How
to handle Salesforce’s Summer/Winter release impact on tests?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1191&quot; data-start=&quot;1120&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To mitigate the impact of Salesforce&#39;s seasonal
releases on your tests:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1399&quot; data-start=&quot;1195&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l17 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;1222&quot; data-start=&quot;1195&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Update Provar Regularly&lt;/span&gt;&lt;/strong&gt;:
Ensure that you are using the latest version of Provar, as updates often
include compatibility fixes for new Salesforce releases.​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1586&quot; data-start=&quot;1403&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l17 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;1423&quot; data-start=&quot;1403&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Refresh Metadata&lt;/span&gt;&lt;/strong&gt;:
After a Salesforce release, refresh your metadata in Provar to capture any
changes in UI elements or functionality.​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1804&quot; data-start=&quot;1590&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l17 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;1619&quot; data-start=&quot;1590&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Execute Regression Suites&lt;/span&gt;&lt;/strong&gt;:
Run comprehensive regression tests before and after Salesforce releases to
identify and address any issues introduced by the new release.​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1902&quot; data-start=&quot;1806&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;1815&quot; data-start=&quot;1806&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Before
the Summer release, run your regression suite to establish a baseline. After
the release, run the suite again to identify any discrepancies caused by the
new features or changes.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;1907&quot; data-start=&quot;1904&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;1985&quot; data-start=&quot;1909&quot;&gt;83. &lt;strong data-end=&quot;1985&quot; data-start=&quot;1916&quot;&gt;A
test passes in sandbox but fails in production. How to resolve?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2084&quot; data-start=&quot;1987&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;Discrepancies between sandbox and production
environments can cause such issues. To address them:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2205&quot; data-start=&quot;2088&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l13 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2118&quot; data-start=&quot;2088&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Compare Org Configurations&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Ensure that both sandbox and production environments have
identical configurations, including custom settings, profiles, and permissions.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2330&quot; data-start=&quot;2209&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l13 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2243&quot; data-start=&quot;2209&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Align Profiles and Permissions&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Verify that user profiles and permissions are consistent
across environments, as differences can affect test outcomes.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2446&quot; data-start=&quot;2334&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l13 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2359&quot; data-start=&quot;2334&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Synchronize Test Data&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Confirm that the test data in production mirrors that of
the sandbox, as variations can lead to test failures.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2579&quot; data-start=&quot;2450&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l13 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2492&quot; data-start=&quot;2450&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Utilize Provar’s Environment
Overrides&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Leverage Provar&#39;s environment
overrides feature to manage environment-specific configurations within your
test scripts.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2677&quot; data-start=&quot;2581&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;2590&quot; data-start=&quot;2581&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;If a
test passes in sandbox but fails in production due to data discrepancies, ensure
that the production environment has the same test data setup as the sandbox.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;2682&quot; data-start=&quot;2679&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;2736&quot; data-start=&quot;2684&quot;&gt;84. &lt;strong data-end=&quot;2736&quot; data-start=&quot;2691&quot;&gt;How
to reduce Provar test execution time?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2776&quot; data-start=&quot;2738&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To optimize test execution efficiency:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2897&quot; data-start=&quot;2780&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l7 level1 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2810&quot; data-start=&quot;2780&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Parallelize Test Execution&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Run multiple tests simultaneously to utilize system
resources effectively and reduce overall execution time.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3023&quot; data-start=&quot;2901&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l7 level1 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2936&quot; data-start=&quot;2901&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Disable Unnecessary
Screenshots&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Configure Provar to capture
screenshots only when essential, as excessive screenshotting can slow down test
execution.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3142&quot; data-start=&quot;3027&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l7 level1 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;3055&quot; data-start=&quot;3027&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Employ Headless Browsers&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Use headless browser modes during testing to eliminate the
overhead of rendering the UI, thereby speeding up test runs.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3240&quot; data-start=&quot;3144&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;3153&quot; data-start=&quot;3144&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Implementing
parallel execution and headless browsers can significantly decrease the time
required for a full regression test suite to complete.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;3245&quot; data-start=&quot;3242&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;3308&quot; data-start=&quot;3247&quot;&gt;85. &lt;strong data-end=&quot;3308&quot; data-start=&quot;3254&quot;&gt;How
to validate Salesforce’s Single Sign-On (SSO)?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3340&quot; data-start=&quot;3310&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To validate SSO functionality:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3459&quot; data-start=&quot;3344&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l4 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;3372&quot; data-start=&quot;3344&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Configure SAML in Provar&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Set up Security Assertion Markup Language (SAML) settings
in Provar to simulate SSO login processes.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3591&quot; data-start=&quot;3463&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l4 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;3504&quot; data-start=&quot;3463&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Test Across Identity
Providers (IdPs)&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Ensure that SSO works seamlessly
with various IdPs, such as Okta and ADFS, by conducting tests specific to each.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3715&quot; data-start=&quot;3595&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l4 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;3628&quot; data-start=&quot;3595&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Verify User Access Post-Login&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Confirm that users are granted appropriate access rights
and permissions after successful SSO authentication.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3813&quot; data-start=&quot;3717&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;3726&quot; data-start=&quot;3717&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Automate
tests that simulate user logins via Okta and ADFS, verifying that users can
access Salesforce without issues.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;3818&quot; data-start=&quot;3815&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;3879&quot; data-start=&quot;3820&quot;&gt;86. &lt;strong data-end=&quot;3879&quot; data-start=&quot;3827&quot;&gt;A
test is flaky due to dynamic data. How to fix?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3937&quot; data-start=&quot;3881&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;Flaky tests caused by dynamic data can be
stabilized by:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4065&quot; data-start=&quot;3941&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l16 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;3978&quot; data-start=&quot;3941&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Implementing Dynamic Data
Binding&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Use dynamic data references
(e.g., ${TODAY}) in your test scripts to handle varying data inputs
consistently.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4190&quot; data-start=&quot;4069&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l16 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;4103&quot; data-start=&quot;4069&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Generating Synthetic Test
Data&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Create controlled, synthetic data
sets that provide consistent inputs for your tests, reducing variability.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4309&quot; data-start=&quot;4194&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l16 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;4222&quot; data-start=&quot;4194&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Utilizing Data Factories&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Employ data factories to generate consistent and
repeatable test data scenarios.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4407&quot; data-start=&quot;4311&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;4320&quot; data-start=&quot;4311&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Instead
of hardcoding dates in your tests, use dynamic references like ${TODAY} to
ensure that tests adapt to different data contexts.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;4412&quot; data-start=&quot;4409&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;4473&quot; data-start=&quot;4414&quot;&gt;87. &lt;strong data-end=&quot;4473&quot; data-start=&quot;4421&quot;&gt;How
to test Salesforce’s Multi-Currency feature?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4526&quot; data-start=&quot;4475&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To effectively test multi-currency
functionalities:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4649&quot; data-start=&quot;4530&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l18 level1 lfo6; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;4562&quot; data-start=&quot;4530&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Parameterize Currency Values&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Design your test cases to accept different currency
values, ensuring that the application handles various currencies correctly.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4773&quot; data-start=&quot;4653&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l18 level1 lfo6; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;4686&quot; data-start=&quot;4653&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Validate Currency Conversions&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Test that currency conversions are accurate in reports and
transactions, adhering to current exchange rates.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4893&quot; data-start=&quot;4777&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l18 level1 lfo6; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;4806&quot; data-start=&quot;4777&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Assess Reporting Accuracy&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Ensure that financial reports correctly display amounts in
multiple currencies and reflect accurate conversion rates.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4991&quot; data-start=&quot;4895&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;4904&quot; data-start=&quot;4895&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Create
test cases that input transactions in different currencies and verify that
reports display correct totals after conversion.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;h3&gt;88. &lt;strong data-end=&quot;218&quot; data-start=&quot;160&quot;&gt;How to handle Salesforce’s governor
limits in testing?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;274&quot; data-start=&quot;220&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To manage Salesforce&#39;s governor limits during
testing:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;386&quot; data-start=&quot;278&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l10 level1 lfo7; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;303&quot; data-start=&quot;278&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Optimize SOQL Queries&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Write efficient SOQL queries that retrieve only necessary
data, minimizing resource consumption.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;508&quot; data-start=&quot;390&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l10 level1 lfo7; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;425&quot; data-start=&quot;390&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Utilize Bulk API for Data
Setup&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Use the Bulk API to handle large
data volumes during test setup, reducing the impact on governor limits.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;632&quot; data-start=&quot;512&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l10 level1 lfo7; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;549&quot; data-start=&quot;512&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Implement Asynchronous
Processing&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Leverage asynchronous operations
like Batch Apex or Queueable Apex to handle large data sets without hitting
limits.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;726&quot; data-start=&quot;634&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;643&quot; data-start=&quot;634&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Instead
of inserting records one by one, use the Bulk API to insert records in batches,
reducing the number of DML operations and staying within governor limits.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;731&quot; data-start=&quot;728&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;784&quot; data-start=&quot;733&quot;&gt;89. &lt;strong data-end=&quot;784&quot; data-start=&quot;741&quot;&gt;A test
fails due to MFA. How to bypass?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;855&quot; data-start=&quot;786&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To address test failures caused by Multi-Factor
Authentication (MFA):&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;970&quot; data-start=&quot;859&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l0 level1 lfo8; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;887&quot; data-start=&quot;859&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Use OAuth 2.0 Token Flow&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Implement OAuth 2.0 authentication to obtain access tokens
without requiring MFA.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1083&quot; data-start=&quot;974&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l0 level1 lfo8; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;996&quot; data-start=&quot;974&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Whitelist Test IPs&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Configure Salesforce to recognize the IP addresses used by
your test environment, allowing bypass of MFA for those addresses.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1203&quot; data-start=&quot;1087&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l0 level1 lfo8; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;1116&quot; data-start=&quot;1087&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Utilize Named Credentials&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Set up Named Credentials in Salesforce to securely store
authentication details, facilitating seamless test execution.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1301&quot; data-start=&quot;1205&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;1214&quot; data-start=&quot;1205&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Configure
OAuth 2.0 authentication in your test scripts to obtain access tokens, enabling
tests to run without MFA prompts.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;1306&quot; data-start=&quot;1303&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;1370&quot; data-start=&quot;1308&quot;&gt;90. &lt;strong data-end=&quot;1370&quot; data-start=&quot;1316&quot;&gt;How
to validate Salesforce’s Territory Management?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1418&quot; data-start=&quot;1372&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To validate Salesforce&#39;s Territory Management:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1542&quot; data-start=&quot;1422&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l12 level1 lfo9; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;1455&quot; data-start=&quot;1422&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Test Account Assignment Rules&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Verify that accounts are correctly assigned to territories
based on predefined rules.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1667&quot; data-start=&quot;1546&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l12 level1 lfo9; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;1580&quot; data-start=&quot;1546&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Validate Territory
Hierarchies&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Ensure that territory
hierarchies are correctly defined and reflect the organization&#39;s structure.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1780&quot; data-start=&quot;1671&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l12 level1 lfo9; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;1693&quot; data-start=&quot;1671&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Assess User Access&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Confirm that users have appropriate access to territories
and related data based on their roles.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1878&quot; data-start=&quot;1782&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;1791&quot; data-start=&quot;1782&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Automate
tests that create accounts and verify their assignment to the correct
territories, ensuring compliance with business rules.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;1883&quot; data-start=&quot;1880&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;1933&quot; data-start=&quot;1885&quot;&gt;91. &lt;strong data-end=&quot;1933&quot; data-start=&quot;1893&quot;&gt;How
to test Salesforce’s Geofencing?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1980&quot; data-start=&quot;1935&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To test Salesforce&#39;s Geofencing capabilities:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2097&quot; data-start=&quot;1984&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l14 level1 lfo10; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2010&quot; data-start=&quot;1984&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Simulate Location Data&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Use tools to simulate GPS coordinates and test geofencing
triggers.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2224&quot; data-start=&quot;2101&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l14 level1 lfo10; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2137&quot; data-start=&quot;2101&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Validate Location-Based
Triggers&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Ensure that actions are
correctly triggered when users enter or exit defined geofenced areas.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2342&quot; data-start=&quot;2228&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l14 level1 lfo10; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2255&quot; data-start=&quot;2228&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Test Multiple Scenarios&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Simulate various user movements to verify the accuracy and
reliability of geofencing features.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2440&quot; data-start=&quot;2344&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;2353&quot; data-start=&quot;2344&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Automate
tests that simulate user movements across geofenced areas, verifying that
appropriate actions are triggered at each boundary.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;2445&quot; data-start=&quot;2442&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;2516&quot; data-start=&quot;2447&quot;&gt;92. &lt;strong data-end=&quot;2516&quot; data-start=&quot;2455&quot;&gt;How
to automate testing for Salesforce’s Voice Assistant?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2571&quot; data-start=&quot;2518&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To automate testing for Salesforce&#39;s Voice
Assistant:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2689&quot; data-start=&quot;2575&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l2 level1 lfo11; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2602&quot; data-start=&quot;2575&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Simulate Voice Commands&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Use Provar&#39;s API steps to simulate voice commands and test
the assistant&#39;s responses.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2811&quot; data-start=&quot;2693&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l2 level1 lfo11; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2724&quot; data-start=&quot;2693&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Validate Intent Recognition&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Ensure that the voice assistant correctly interprets user
intents and provides appropriate responses.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2929&quot; data-start=&quot;2815&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l2 level1 lfo11; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2842&quot; data-start=&quot;2815&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Test Integration Points&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Verify that the voice assistant integrates seamlessly with
Salesforce data and processes.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3027&quot; data-start=&quot;2931&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;2940&quot; data-start=&quot;2931&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Automate
tests that simulate voice commands like &quot;Create a new lead,&quot;
verifying that the assistant correctly creates a lead in Salesforce.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;3032&quot; data-start=&quot;3029&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;3097&quot; data-start=&quot;3034&quot;&gt;93. &lt;strong data-end=&quot;3097&quot; data-start=&quot;3042&quot;&gt;A
test fails after a Lightning upgrade. How to fix?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3150&quot; data-start=&quot;3099&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To address test failures after a Lightning
upgrade:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3268&quot; data-start=&quot;3154&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l3 level1 lfo12; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;3181&quot; data-start=&quot;3154&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Refresh Provar Metadata&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Update Provar&#39;s metadata to reflect changes in the
Lightning UI components.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3378&quot; data-start=&quot;3272&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l3 level1 lfo12; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;3291&quot; data-start=&quot;3272&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Update Locators&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Modify test scripts to use updated locators that align
with the new Lightning UI structure.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3494&quot; data-start=&quot;3382&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l3 level1 lfo12; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;3407&quot; data-start=&quot;3382&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Revalidate Test Cases&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Run regression tests to ensure that all functionalities
work as expected after the upgrade.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3592&quot; data-start=&quot;3496&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;3505&quot; data-start=&quot;3496&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;After
a Lightning upgrade, update your test scripts to use new locators for buttons
and fields that have changed in the UI.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;3597&quot; data-start=&quot;3594&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;3657&quot; data-start=&quot;3599&quot;&gt;94. &lt;strong data-end=&quot;3657&quot; data-start=&quot;3607&quot;&gt;How
to test Salesforce’s Predictive Analytics?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3701&quot; data-start=&quot;3659&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To test Salesforce&#39;s Predictive Analytics:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3830&quot; data-start=&quot;3705&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l9 level1 lfo13; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;3743&quot; data-start=&quot;3705&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Validate Einstein Discovery
Models&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Ensure that predictive models are
correctly trained and deployed within Salesforce.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;3951&quot; data-start=&quot;3834&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l9 level1 lfo13; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;3864&quot; data-start=&quot;3834&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Assess Prediction Accuracy&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Verify that predictions made by the models are accurate
and align with expected outcomes.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4069&quot; data-start=&quot;3955&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l9 level1 lfo13; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;3982&quot; data-start=&quot;3955&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Test Integration Points&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Confirm that predictive analytics features integrate
seamlessly with other Salesforce modules and external data sources.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4167&quot; data-start=&quot;4071&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;4080&quot; data-start=&quot;4071&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Automate
tests that input historical data and verify that the predictive models generate
accurate forecasts.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;4172&quot; data-start=&quot;4169&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;4236&quot; data-start=&quot;4174&quot;&gt;95. &lt;strong data-end=&quot;4236&quot; data-start=&quot;4182&quot;&gt;How
to handle Salesforce’s Multi-Language testing?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4285&quot; data-start=&quot;4238&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To manage multi-language testing in Salesforce:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4407&quot; data-start=&quot;4289&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l6 level1 lfo14; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;4320&quot; data-start=&quot;4289&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Use Provar’s Language Packs&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Leverage Provar&#39;s language packs to test Salesforce
applications in different languages.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4521&quot; data-start=&quot;4411&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l6 level1 lfo14; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;4434&quot; data-start=&quot;4411&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Parameterize Labels&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Ensure that UI labels are parameterized to adapt to
different languages dynamically.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4637&quot; data-start=&quot;4525&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l6 level1 lfo14; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;4550&quot; data-start=&quot;4525&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Validate Translations&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Verify that all content is correctly translated and
displayed in the selected language.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4735&quot; data-start=&quot;4639&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;4648&quot; data-start=&quot;4639&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Automate
tests that switch between languages and verify that all UI elements and content
are correctly translated.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;4740&quot; data-start=&quot;4737&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;4788&quot; data-start=&quot;4742&quot;&gt;96. &lt;strong data-end=&quot;4788&quot; data-start=&quot;4750&quot;&gt;How
to test Salesforce’s Work.com?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4829&quot; data-start=&quot;4790&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To test Salesforce&#39;s Work.com features:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;4957&quot; data-start=&quot;4833&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l5 level1 lfo15; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;4870&quot; data-start=&quot;4833&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Validate Employee Wellness
Checks&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Ensure that wellness surveys and
assessments are correctly administered and recorded.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;5076&quot; data-start=&quot;4961&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l5 level1 lfo15; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;4989&quot; data-start=&quot;4961&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Test Workplace Analytics&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Verify that analytics dashboards accurately reflect
employee health and safety data.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;5196&quot; data-start=&quot;5080&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l5 level1 lfo15; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;5109&quot; data-start=&quot;5080&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Assess Integration Points&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Confirm that Work.com integrates seamlessly with other
Salesforce modules and external systems.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;5294&quot; data-start=&quot;5198&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;5207&quot; data-start=&quot;5198&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Automate
tests that simulate employee wellness checks and verify that the results are
accurately recorded and displayed in analytics dashboards.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;h3&gt;97. &lt;strong data-end=&quot;218&quot; data-start=&quot;161&quot;&gt;How to validate Salesforce’s
Blockchain integrations?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;269&quot; data-start=&quot;220&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To validate Salesforce&#39;s Blockchain integrations:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;389&quot; data-start=&quot;273&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l8 level1 lfo16; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;306&quot; data-start=&quot;273&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Test Smart Contract Execution&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Ensure that smart contracts are correctly deployed and
executed within the Salesforce environment.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;507&quot; data-start=&quot;393&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l8 level1 lfo16; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;424&quot; data-start=&quot;393&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Validate Ledger Consistency&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Verify that the blockchain ledger accurately records all
transactions and maintains consistency across nodes.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;697&quot; data-start=&quot;511&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l8 level1 lfo16; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;540&quot; data-start=&quot;511&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Assess Integration Points&lt;/span&gt;&lt;/strong&gt;:
Confirm that blockchain integrations with Salesforce modules function as
expected, ensuring seamless data flow.​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;883&quot; data-start=&quot;699&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;708&quot; data-start=&quot;699&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: Automate tests that
initiate smart contract transactions and verify that the blockchain ledger
reflects these changes accurately.​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;888&quot; data-start=&quot;885&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;942&quot; data-start=&quot;890&quot;&gt;98. &lt;strong data-end=&quot;942&quot; data-start=&quot;898&quot;&gt;How to
test Salesforce’s NFT Management?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;989&quot; data-start=&quot;944&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To test Salesforce&#39;s NFT Management features:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1146&quot; data-start=&quot;993&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l15 level1 lfo17; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;1017&quot; data-start=&quot;993&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Validate NFT Minting&lt;/span&gt;&lt;/strong&gt;:
Ensure that NFTs are correctly minted and associated with the appropriate
metadata.​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1291&quot; data-start=&quot;1150&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l15 level1 lfo17; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;1172&quot; data-start=&quot;1150&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Test NFT Transfers&lt;/span&gt;&lt;/strong&gt;:
Verify that NFTs can be transferred between wallets or users as intended.​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1470&quot; data-start=&quot;1295&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l15 level1 lfo17; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;1325&quot; data-start=&quot;1295&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Assess Wallet Integrations&lt;/span&gt;&lt;/strong&gt;:
Confirm that wallet integrations function properly, allowing users to manage
their NFTs seamlessly.​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1638&quot; data-start=&quot;1472&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;1481&quot; data-start=&quot;1472&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: Automate tests that mint
NFTs, transfer them between users, and verify that wallet balances update
accordingly.​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;1643&quot; data-start=&quot;1640&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;1716&quot; data-start=&quot;1645&quot;&gt;99. &lt;strong data-end=&quot;1716&quot; data-start=&quot;1653&quot;&gt;How
to automate testing for Salesforce’s Quantum Computing?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1782&quot; data-start=&quot;1718&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To automate testing for Salesforce&#39;s Quantum
Computing features:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;1904&quot; data-start=&quot;1786&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l11 level1 lfo18; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;1817&quot; data-start=&quot;1786&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Simulate Quantum Algorithms&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Use Provar&#39;s API steps to simulate quantum algorithms and
test their integration with Salesforce.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2016&quot; data-start=&quot;1908&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l11 level1 lfo18; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;1929&quot; data-start=&quot;1908&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Validate Outcomes&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Ensure that the results from quantum computations are
correctly processed and displayed within Salesforce.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2134&quot; data-start=&quot;2020&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l11 level1 lfo18; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2047&quot; data-start=&quot;2020&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Test Integration Points&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Confirm that quantum computing features integrate
seamlessly with other Salesforce modules and external systems.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2232&quot; data-start=&quot;2136&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;2145&quot; data-start=&quot;2136&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Automate
tests that simulate quantum computations and verify that the results are
accurately reflected in Salesforce records.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; data-end=&quot;2237&quot; data-start=&quot;2234&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 data-end=&quot;2311&quot; data-start=&quot;2239&quot;&gt;100. &lt;strong data-end=&quot;2311&quot; data-start=&quot;2247&quot;&gt;How
to future-proof Provar tests for Salesforce innovations?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2369&quot; data-start=&quot;2313&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;To future-proof Provar tests for Salesforce
innovations:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2493&quot; data-start=&quot;2373&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l1 level1 lfo19; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2406&quot; data-start=&quot;2373&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Adopt Metadata-Driven Testing&lt;/span&gt;&lt;/strong&gt;:
&lt;span class=&quot;relative&quot;&gt;Utilize Provar&#39;s metadata-driven approach to ensure tests
adapt to changes in Salesforce configurations.&lt;/span&gt;​&lt;span data-state=&quot;closed&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2621&quot; data-start=&quot;2497&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l1 level1 lfo19; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2534&quot; data-start=&quot;2497&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Stay Updated with Provar
Releases&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Regularly update Provar to
leverage new features and improvements aligned with Salesforce innovations.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2755&quot; data-start=&quot;2625&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l1 level1 lfo19; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: Wingdings;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong data-end=&quot;2668&quot; data-start=&quot;2625&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Participate in Salesforce
Beta Programs&lt;/span&gt;&lt;/strong&gt;: &lt;span class=&quot;relative&quot;&gt;Engage in Salesforce beta
programs to gain early access to new features and prepare tests accordingly.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; data-end=&quot;2853&quot; data-start=&quot;2757&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;em data-end=&quot;2766&quot; data-start=&quot;2757&quot;&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; style=&quot;mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Example&lt;/span&gt;&lt;/em&gt;: &lt;span class=&quot;relative&quot;&gt;Implement
metadata-driven tests that automatically adjust to changes in Salesforce
configurations, ensuring long-term test stability.&lt;/span&gt;​&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/1303478640892601441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2025/04/provar-scenario-based-provar-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/1303478640892601441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/1303478640892601441'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2025/04/provar-scenario-based-provar-testing.html' title='Provar : Scenario-Based Provar Testing Questions - Part 5'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/2isgJ-853uc/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-1978475596712313122</id><published>2025-04-13T17:02:00.006+05:30</published><updated>2025-04-13T19:26:04.232+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Provar Questions and Answers"/><title type='text'>Provar :Advanced Provar Automation Testing Questions - Part 4</title><content type='html'>&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Part 4: Advanced Provar
Automation Testing Questions&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;
  &lt;iframe allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; src=&quot;https://www.youtube.com/embed/u7Cu5UhNx8g?si=anB8Af1YgcjuQxh5&quot; title=&quot;YouTube video player&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;61. How
to test Salesforce Government Cloud with Provar?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
streamlines testing for Salesforce Government Cloud by leveraging its native
integration with Salesforce metadata and compliance-focused features:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l20 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Compliance Assurance:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l20 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use Provar’s&amp;nbsp;&lt;em&gt;VerifyFieldAccess&lt;/em&gt;&amp;nbsp;and&amp;nbsp;&lt;em&gt;VerifyPageContainsText&lt;/em&gt;&amp;nbsp;steps
to validate adherence to FedRAMP, FOIA, and cybersecurity mandates.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l20 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Automate checks for audit trails and encryption settings using
SOQL queries (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;SELECT DataType FROM
FieldSecurityClassification&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l20 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Secure Data Handling:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l20 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Enable Provar’s&amp;nbsp;&lt;strong&gt;Data
Masking&lt;/strong&gt;&amp;nbsp;to anonymize sensitive data (e.g., SSNs) during
test execution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l20 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Store credentials securely using Provar’s encrypted&amp;nbsp;&lt;strong&gt;Global Parameters&lt;/strong&gt;&amp;nbsp;or
integrate with secrets managers like Azure Key Vault.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l20 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Legacy System Integration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l20 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate data flows between Government Cloud and legacy systems
using Provar’s&amp;nbsp;&lt;strong&gt;REST/SOAP
API testing&lt;/strong&gt;&amp;nbsp;and&amp;nbsp;&lt;strong&gt;Database Query&lt;/strong&gt;&amp;nbsp;steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l20 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; mso-list: l20 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Automate a citizen service request workflow:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 108.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 108pt; mso-list: l20 level3 lfo1; tab-stops: list 108.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;1.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Simulate form
submission via&amp;nbsp;&lt;em&gt;Set
Field&lt;/em&gt;&amp;nbsp;and&amp;nbsp;&lt;em&gt;Click&lt;/em&gt;&amp;nbsp;steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 108.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 108pt; mso-list: l20 level3 lfo1; tab-stops: list 108.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;2.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate multi-stage
approval processes using&amp;nbsp;&lt;em&gt;VerifyRecord&lt;/em&gt;&amp;nbsp;and&amp;nbsp;&lt;em&gt;VerifyEmail&lt;/em&gt;&amp;nbsp;steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 108.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 108pt; mso-list: l20 level3 lfo1; tab-stops: list 108.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;3.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Confirm data integrity
in legacy systems via JDBC connections.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;62.
How to automate testing for Salesforce Blockchain?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
tests Salesforce Blockchain using metadata-aware automation and API validation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l10 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Smart Contract Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l10 level2 lfo2; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use Provar’s&amp;nbsp;&lt;strong&gt;Execute
Apex&lt;/strong&gt;&amp;nbsp;step to invoke smart contracts and validate outcomes
via&amp;nbsp;&lt;em&gt;AssertJsonPath&lt;/em&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l10 level2 lfo2; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example: Verify a contract’s&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Status&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;field updates to &quot;Executed&quot; post-transaction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l10 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Ledger State Verification:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l10 level2 lfo2; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Query blockchain ledger tables (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;BlockchainTransaction&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;) using Provar’s&amp;nbsp;&lt;strong&gt;Database Query&lt;/strong&gt;&amp;nbsp;step.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l10 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Integration Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l10 level2 lfo2; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Test API endpoints with Provar’s&amp;nbsp;&lt;strong&gt;REST Request&lt;/strong&gt;&amp;nbsp;step,
validating payloads and headers for GDPR compliance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l10 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l10 level2 lfo2; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Trigger a blockchain transaction via Apex, then use&amp;nbsp;&lt;em&gt;VerifyDatabase&lt;/em&gt;&amp;nbsp;to
confirm the ledger reflects the transaction hash.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;63.
How to test Salesforce’s Hyperforce architecture?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
supports Hyperforce testing via environment flexibility and performance
monitoring:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l19 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Environment Flexibility:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l19 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use Provar’s&amp;nbsp;&lt;strong&gt;Environment
Overrides&lt;/strong&gt;&amp;nbsp;to switch regions (e.g., AWS EU vs. Azure US)
without script changes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l19 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Performance Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l19 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Integrate Provar with&amp;nbsp;&lt;strong&gt;New Relic&lt;/strong&gt;&amp;nbsp;or&amp;nbsp;&lt;strong&gt;Datadog&lt;/strong&gt;&amp;nbsp;(via
CLI) to monitor response times during cross-region tests.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l19 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Compliance Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l19 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate data residency using Provar’s&amp;nbsp;&lt;em&gt;VerifyDatabase&lt;/em&gt;&amp;nbsp;step
to check record storage locations.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l19 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l19 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Run a test suite across Hyperforce regions and assert
performance metrics stay within SLA thresholds.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;64.
How to secure Provar test data?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
ensures test data security through built-in features and integrations:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l17 level1 lfo4; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Data Masking:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l17 level2 lfo4; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Configure&amp;nbsp;&lt;strong&gt;Data
Protection Settings&lt;/strong&gt;&amp;nbsp;in Provar Desktop to mask PII/PHI
during test execution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l17 level1 lfo4; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Secure Storage:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l17 level2 lfo4; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use Provar’s&amp;nbsp;&lt;strong&gt;Encrypted
Parameters&lt;/strong&gt;&amp;nbsp;for credentials or integrate with&amp;nbsp;&lt;strong&gt;HashiCorp Vault&lt;/strong&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l17 level1 lfo4; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Access Controls:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l17 level2 lfo4; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Restrict project access via Provar Manager’s role-based
permissions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l17 level1 lfo4; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l17 level2 lfo4; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Retrieve API keys from Azure Key Vault using Provar’s&amp;nbsp;&lt;strong&gt;REST Request&lt;/strong&gt;&amp;nbsp;step
and inject them dynamically into tests.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;65.
How to test Salesforce’s Genie (real-time data)?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
validates Genie’s real-time capabilities using:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l18 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Streaming Data Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l18 level2 lfo5; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use Provar’s&amp;nbsp;&lt;strong&gt;Subscribe
to Platform Events&lt;/strong&gt;&amp;nbsp;step to ingest real-time data streams.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l18 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Analytics Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l18 level2 lfo5; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate Einstein Analytics dashboards with&amp;nbsp;&lt;em&gt;VerifyImage&lt;/em&gt;&amp;nbsp;or&amp;nbsp;&lt;em&gt;VerifyText&lt;/em&gt;&amp;nbsp;steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l18 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l18 level2 lfo5; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Simulate a live sales transaction, then assert the Genie-powered
dashboard updates within 5 seconds using&amp;nbsp;&lt;em&gt;WaitForElement&lt;/em&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;66. How
to validate Salesforce’s MuleSoft integrations?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates MuleSoft integration testing via:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l0 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;API Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l0 level2 lfo6; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;strong&gt;REST Request&lt;/strong&gt;&amp;nbsp;steps
to validate MuleSoft endpoints, headers, and payloads.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l0 level2 lfo6; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example: Send a payload
to&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;/api/orders&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;and assert the
response matches the ERP system’s schema.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l0 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;End-to-End Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l0 level2 lfo6; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Combine Salesforce UI
tests with MuleSoft API checks in a single Provar test case.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l0 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Error Handling:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l0 level2 lfo6; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Force HTTP 500 errors
and validate error logging using&amp;nbsp;&lt;em&gt;VerifyDatabase&lt;/em&gt;&amp;nbsp;steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;67.
How to test Salesforce’s Slack integrations?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
tests Slack integrations using webhooks and UI validation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l9 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Message Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l9 level2 lfo7; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Configure Slack&amp;nbsp;&lt;strong&gt;Incoming Webhooks&lt;/strong&gt;&amp;nbsp;and
use Provar’s&amp;nbsp;&lt;strong&gt;REST
Request&lt;/strong&gt;&amp;nbsp;to post messages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l9 level2 lfo7; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate Slack channel
updates via&amp;nbsp;&lt;em&gt;VerifyPageContainsText&lt;/em&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l9 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Bidirectional Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l9 level2 lfo7; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use Provar’s&amp;nbsp;&lt;strong&gt;Slack Connector&lt;/strong&gt;&amp;nbsp;(if
available) or simulate Slack actions via API.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l9 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l9 level2 lfo7; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Update a Case record in
Salesforce and verify a Slack message appears with the Case ID using&amp;nbsp;&lt;em&gt;VerifyJSONPath&lt;/em&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;68.
How to automate testing for Salesforce IoT?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
tests IoT workflows using simulated data and rule validation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l7 level1 lfo8; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Device Simulation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l7 level2 lfo8; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;strong&gt;Data-Driven Testing&lt;/strong&gt;&amp;nbsp;with
CSV files to simulate sensor data (e.g., temperature, humidity).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l7 level1 lfo8; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Rule Execution:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l7 level2 lfo8; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate IoT-driven
alerts using&amp;nbsp;&lt;em&gt;VerifyEmail&lt;/em&gt;&amp;nbsp;or&amp;nbsp;&lt;em&gt;VerifyField&lt;/em&gt;&amp;nbsp;steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l7 level1 lfo8; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l7 level2 lfo8; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Send simulated JSON
payloads (&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;{&quot;deviceId&quot;:
&quot;123&quot;, &quot;temp&quot;: 45}&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;) via Provar’s&amp;nbsp;&lt;strong&gt;REST Request&lt;/strong&gt;, then
assert an Alert record is created in Salesforce.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3 style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;69.
How to test Salesforce’s AI (Einstein GPT)?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates testing for Salesforce Einstein GPT by leveraging metadata-aware
validation and API integration:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l3 level1 lfo9; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;AI Response Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l3 level2 lfo9; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use Provar’s&amp;nbsp;&lt;strong&gt;VerifyText&lt;/strong&gt;&amp;nbsp;or&amp;nbsp;&lt;strong&gt;VerifyJSONPath&lt;/strong&gt;&amp;nbsp;steps
to validate contextually accurate responses generated by Einstein GPT (e.g.,
verifying a Case comment matches AI-recommended solutions).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l3 level2 lfo9; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Execute&amp;nbsp;&lt;strong&gt;Execute Apex&lt;/strong&gt;&amp;nbsp;steps
to trigger Einstein predictions (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Einstein_PredictionService.predict()&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l3 level1 lfo9; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Workflow Integration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l3 level2 lfo9; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate AI-triggered
actions (e.g., auto-creation of Tasks) using&amp;nbsp;&lt;strong&gt;VerifyRecord&lt;/strong&gt;&amp;nbsp;or&amp;nbsp;&lt;strong&gt;VerifyEmail&lt;/strong&gt;&amp;nbsp;steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l3 level1 lfo9; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Performance Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l3 level2 lfo9; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Integrate with&amp;nbsp;&lt;strong&gt;JMeter&lt;/strong&gt;&amp;nbsp;to
simulate high-volume AI requests and monitor latency via Provar’s CLI.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l3 level1 lfo9; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l3 level2 lfo9; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Simulate a customer
inquiry via a Case form, validate Einstein GPT’s response using&amp;nbsp;&lt;em&gt;VerifyPageContainsText&lt;/em&gt;,
and confirm a follow-up Task is created.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;70.
How to handle Salesforce’s Multi-Cloud Architectures?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
streamlines multi-cloud testing with environment flexibility and cross-cloud
validation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l2 level1 lfo10; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Cross-Cloud Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l2 level2 lfo10; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Design end-to-end tests spanning Sales, Service, and Marketing
Clouds using Provar’s&amp;nbsp;&lt;strong&gt;Callable
Test Cases&lt;/strong&gt;&amp;nbsp;for modularity.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l2 level2 lfo10; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate data sync with&amp;nbsp;&lt;strong&gt;SOQL&lt;/strong&gt;&amp;nbsp;queries (e.g., check a Lead
converted in Sales Cloud appears in Service Cloud).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l2 level1 lfo10; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Environment Management:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l2 level2 lfo10; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;strong&gt;Environment
Overrides&lt;/strong&gt;&amp;nbsp;to switch between orgs (e.g., Production vs.
Sandbox) without script changes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l2 level1 lfo10; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l2 level2 lfo10; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Automate a Lead-to-Opportunity flow in Sales Cloud, trigger a
Service Cloud Case via&amp;nbsp;&lt;em&gt;REST
Request&lt;/em&gt;, and verify data consistency using&amp;nbsp;&lt;em&gt;VerifyDatabase&lt;/em&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;71.
How to test Salesforce’s Nonprofit Cloud?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates Nonprofit Cloud workflows using metadata-driven steps:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l5 level1 lfo11; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Donation Processing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l5 level2 lfo11; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;strong&gt;Create
Record&lt;/strong&gt;&amp;nbsp;to simulate donations and&amp;nbsp;&lt;strong&gt;VerifyField&lt;/strong&gt;&amp;nbsp;to
check allocation (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Donation.Amount
= $500&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l5 level2 lfo11; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate automated receipts via Provar’s&amp;nbsp;&lt;strong&gt;Email Testing&lt;/strong&gt;&amp;nbsp;steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l5 level1 lfo11; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Grant Management:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l5 level2 lfo11; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Test approval workflows using&amp;nbsp;&lt;strong&gt;Set Picklist&lt;/strong&gt;&amp;nbsp;and&amp;nbsp;&lt;strong&gt;VerifyRecord&lt;/strong&gt;&amp;nbsp;steps
(e.g., grant status transitions to &quot;Approved&quot;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l5 level1 lfo11; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l5 level2 lfo11; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Simulate a donor contribution, validate funds are allocated to a
Campaign, and confirm a thank-you email is sent.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;72.
How to automate testing for Salesforce Education Cloud?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
validates Education Cloud through UI and API automation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l14 level1 lfo12; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Student Enrollment:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l14 level2 lfo12; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;strong&gt;Set
Field&lt;/strong&gt;&amp;nbsp;to populate enrollment forms and&amp;nbsp;&lt;strong&gt;Verify Related Records&lt;/strong&gt;&amp;nbsp;to
check Course Enrollments.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l14 level1 lfo12; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;LMS Integration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l14 level2 lfo12; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Test data sync with LMS systems via Provar’s&amp;nbsp;&lt;strong&gt;REST Request&lt;/strong&gt;&amp;nbsp;steps
(e.g., validate enrollment IDs match in Salesforce/LMS).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l14 level1 lfo12; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l14 level2 lfo12; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Enroll a student via UI, trigger an LMS API call using&amp;nbsp;&lt;em&gt;Execute JavaScript&lt;/em&gt;, and
verify course access via&amp;nbsp;&lt;em&gt;VerifyPageContainsText&lt;/em&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;73.
How to test Salesforce’s Manufacturing Cloud?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
tests Manufacturing Cloud using IoT and metadata integration:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l4 level1 lfo13; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Production Planning:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l4 level2 lfo13; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate Production Schedules with&amp;nbsp;&lt;strong&gt;VerifyField&lt;/strong&gt;&amp;nbsp;(e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Start_Date__c&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;matches
forecasts).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l4 level1 lfo13; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;IoT Integration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l4 level2 lfo13; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Simulate IoT sensor data via&amp;nbsp;&lt;strong&gt;Data-Driven Testing&lt;/strong&gt;&amp;nbsp;(CSV
files) and validate maintenance alerts using&amp;nbsp;&lt;em&gt;VerifyEmail&lt;/em&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l4 level1 lfo13; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l4 level2 lfo13; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Create a Production Order, simulate equipment sensor data
via&amp;nbsp;&lt;em&gt;REST Request&lt;/em&gt;,
and assert Inventory levels update correctly.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;74.
How to validate Salesforce’s Heroku integrations?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates Heroku integration testing via API and error handling:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l13 level1 lfo14; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Microservice Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l13 level2 lfo14; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;strong&gt;REST
Request&lt;/strong&gt;&amp;nbsp;to invoke Heroku endpoints and&amp;nbsp;&lt;strong&gt;AssertJSONPath&lt;/strong&gt;&amp;nbsp;to
validate responses (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;$.status = &quot;success&quot;&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l13 level1 lfo14; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Data Sync:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l13 level2 lfo14; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Query Heroku Postgres via Provar’s&amp;nbsp;&lt;strong&gt;Database Query&lt;/strong&gt;&amp;nbsp;step
to compare records with Salesforce.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l13 level1 lfo14; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l13 level2 lfo14; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Trigger a Heroku microservice from a Salesforce Opportunity,
validate response time &amp;lt;2s, and confirm Opportunity Stage updates.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;75.
How to test Salesforce’s Loyalty Management?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates loyalty workflows with data-driven testing:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l1 level1 lfo15; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Points Accrual:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l1 level2 lfo15; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;strong&gt;Data-Driven
Testing&lt;/strong&gt;&amp;nbsp;(Excel) to simulate transactions and&amp;nbsp;&lt;strong&gt;VerifyField&lt;/strong&gt;&amp;nbsp;to
check point balances.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l1 level1 lfo15; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Redemption Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l1 level2 lfo15; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate reward availability via&amp;nbsp;&lt;strong&gt;VerifyPageContainsText&lt;/strong&gt;&amp;nbsp;and
redemption success via&amp;nbsp;&lt;em&gt;VerifyRecord&lt;/em&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l1 level1 lfo15; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l1 level2 lfo15; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Award points for a $100 purchase, redeem points for a discount,
and assert the Order total reflects the deduction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;76.
How to automate testing for Salesforce AppExchange apps?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
ensures robust testing for AppExchange apps by leveraging metadata awareness
and compliance-focused automation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l15 level1 lfo16; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Installation Verification:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l15 level2 lfo16; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;strong&gt;SOQL
Queries&lt;/strong&gt;&amp;nbsp;(e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;SELECT NamespacePrefix FROM InstalledPackage&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;) to validate app
installation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l15 level2 lfo16; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate component visibility (e.g., custom tabs, Lightning
components) with&amp;nbsp;&lt;strong&gt;VerifyPageContainsText&lt;/strong&gt;&amp;nbsp;or&amp;nbsp;&lt;strong&gt;VerifyImage&lt;/strong&gt;&amp;nbsp;steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l15 level1 lfo16; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Licensing and Access Control:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l15 level2 lfo16; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Test role-based access using&amp;nbsp;&lt;strong&gt;Login As&lt;/strong&gt;&amp;nbsp;steps
for different profiles (e.g., Admin vs. Standard User).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l15 level2 lfo16; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate licensed features with&amp;nbsp;&lt;strong&gt;VerifyFieldAccess&lt;/strong&gt;&amp;nbsp;(e.g.,
ensure a custom field is hidden for unlicensed users).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l15 level1 lfo16; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Compatibility Assurance:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l15 level2 lfo16; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Sync Provar with Salesforce metadata post-upgrade to detect
UI/API conflicts.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l15 level1 lfo16; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l15 level2 lfo16; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Install a CPQ AppExchange app, verify custom objects (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;SBQQ__Quote__c&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;) are accessible, and
test price rule execution using&amp;nbsp;&lt;strong&gt;Set
Field&lt;/strong&gt;&amp;nbsp;and&amp;nbsp;&lt;strong&gt;VerifyRecord&lt;/strong&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;77.
How to test Salesforce’s Subscription Management?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates subscription workflows using data-driven testing and API validation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l11 level1 lfo17; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Subscription Lifecycle Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l11 level2 lfo17; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;strong&gt;REST
Request&lt;/strong&gt;&amp;nbsp;steps to create/modify subscriptions via
Salesforce APIs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l11 level2 lfo17; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate status transitions (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Active&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;→&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Cancelled&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;) with&amp;nbsp;&lt;strong&gt;VerifyField&lt;/strong&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l11 level1 lfo17; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Billing and Payment Processing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l11 level2 lfo17; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Test invoice generation using&amp;nbsp;&lt;strong&gt;VerifyPDFContent&lt;/strong&gt;&amp;nbsp;or&amp;nbsp;&lt;strong&gt;VerifyEmail&lt;/strong&gt;&amp;nbsp;steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l11 level2 lfo17; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate payment gateways (e.g., Stripe) via Provar’s&amp;nbsp;&lt;strong&gt;Database Query&lt;/strong&gt;&amp;nbsp;(e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;SELECT Payment_Status__c FROM Invoice__c&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l11 level1 lfo17; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l11 level2 lfo17; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Create a subscription via UI, trigger a renewal via Apex, and
assert the&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Next_Billing_Date__c&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;updates
using&amp;nbsp;&lt;strong&gt;VerifyRecord&lt;/strong&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;78.
How to handle Salesforce’s High-Volume Data Testing?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
addresses high-volume testing with bulk operations and performance
optimization:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l8 level1 lfo18; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Bulk Data Operations:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo18; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;strong&gt;Data-Driven
Testing&lt;/strong&gt;&amp;nbsp;with CSV files (10k+ rows) to insert/update
records.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo18; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Leverage Provar’s&amp;nbsp;&lt;strong&gt;CLI&lt;/strong&gt;&amp;nbsp;for
parallel execution (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;provar.sh -projectDir ~/tests -env BulkData&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l8 level1 lfo18; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Performance Benchmarking:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo18; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Integrate with&amp;nbsp;&lt;strong&gt;New
Relic&lt;/strong&gt;&amp;nbsp;or&amp;nbsp;&lt;strong&gt;Datadog&lt;/strong&gt;&amp;nbsp;to
monitor API latency during bulk data runs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l8 level1 lfo18; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Data Integrity Checks:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo18; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate record counts post-import using&amp;nbsp;&lt;strong&gt;SOQL&lt;/strong&gt;&amp;nbsp;(e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;SELECT COUNT() FROM Account&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l8 level1 lfo18; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo18; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Load 50k Leads via Provar’s CSV import, assert no duplicates via&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;SELECT Email FROM Lead GROUP BY Email HAVING
COUNT(Email) &amp;gt; 1&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;, and measure execution time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;79.
How to test Salesforce’s Consent Management?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates consent workflows with GDPR/CCPA compliance checks:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l6 level1 lfo19; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Consent Capture Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l6 level2 lfo19; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;strong&gt;Set
Checkbox&lt;/strong&gt;&amp;nbsp;to simulate consent opt-ins and&amp;nbsp;&lt;strong&gt;VerifyField&lt;/strong&gt;&amp;nbsp;to
check&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Consent_Status__c&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l6 level1 lfo19; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Data Usage Tracking:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l6 level2 lfo19; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Query&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;DataUsePurpose&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;records via&amp;nbsp;&lt;strong&gt;Database Query&lt;/strong&gt;&amp;nbsp;to
audit consent linkages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l6 level1 lfo19; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Opt-Out Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l6 level2 lfo19; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Execute&amp;nbsp;&lt;strong&gt;Execute
Apex&lt;/strong&gt;&amp;nbsp;steps to revoke consent and validate&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Consent_Withdrawn_Date__c&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l6 level1 lfo19; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l6 level2 lfo19; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Simulate a webform opt-in, validate a&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Consent__c&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;record is
created, then revoke consent via UI and assert related workflows are halted.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;80.
How to automate testing for Salesforce’s Digital Experiences?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
validates Digital Experiences (Communities/Portals) using role-based testing
and real-time sync:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l16 level1 lfo20; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Experience Site Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l16 level2 lfo20; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Test guest user access with&amp;nbsp;&lt;strong&gt;Navigate&lt;/strong&gt;&amp;nbsp;steps to public pages
(e.g., Knowledge Articles).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l16 level2 lfo20; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;strong&gt;VerifyPageContainsText&lt;/strong&gt;&amp;nbsp;to
validate personalized content for logged-in users.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l16 level1 lfo20; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Personalization Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l16 level2 lfo20; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Switch user roles via&amp;nbsp;&lt;strong&gt;Environment Overrides&lt;/strong&gt;&amp;nbsp;and validate
dynamic content (e.g., partner vs. customer views).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l16 level1 lfo20; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Integration Verification:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l16 level2 lfo20; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Test API-driven content updates (e.g., CMS Connect) with&amp;nbsp;&lt;strong&gt;REST Request&lt;/strong&gt;&amp;nbsp;and&amp;nbsp;&lt;strong&gt;VerifyJSONPath&lt;/strong&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l16 level1 lfo20; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l16 level2 lfo20; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Log in as a partner user, validate access to restricted deals
via&amp;nbsp;&lt;strong&gt;VerifyRecord&lt;/strong&gt;,
and assert portal navigation menus render correctly.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;81.
How to test Salesforce’s Sustainability Cloud?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;line-height: 21.45pt; margin: 10.3pt 0cm;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates sustainability workflows with data integrity and analytics checks:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l12 level1 lfo21; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Carbon Footprint Calculations:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l12 level2 lfo21; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Ingest energy usage data via&amp;nbsp;&lt;strong&gt;CSV Import&lt;/strong&gt;&amp;nbsp;or&amp;nbsp;&lt;strong&gt;REST Request&lt;/strong&gt;&amp;nbsp;(e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;POST
/services/data/vXX.0/sobjects/Emissions__c&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l12 level2 lfo21; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate calculated emissions using&amp;nbsp;&lt;strong&gt;VerifyField&lt;/strong&gt;&amp;nbsp;(e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;CO2e__c = 1500 kg&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l12 level1 lfo21; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Metric Reporting:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l12 level2 lfo21; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Test Einstein Analytics dashboards with&amp;nbsp;&lt;strong&gt;VerifyImage&lt;/strong&gt;&amp;nbsp;to
ensure visualizations match data inputs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l12 level1 lfo21; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Data Integration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l12 level2 lfo21; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate ERP syncs using&amp;nbsp;&lt;strong&gt;Database Query&lt;/strong&gt;&amp;nbsp;steps (e.g., compare
Salesforce&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Energy_Usage__c&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;with SAP
records).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l12 level1 lfo21; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l12 level2 lfo21; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Import a CSV of factory energy data, trigger a carbon
calculation batch job, and assert the Sustainability Cloud dashboard updates
within 2 minutes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/1978475596712313122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2025/04/provar-advanced-provar-automation_13.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/1978475596712313122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/1978475596712313122'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2025/04/provar-advanced-provar-automation_13.html' title='Provar :Advanced Provar Automation Testing Questions - Part 4'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/u7Cu5UhNx8g/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-4511892827861287973</id><published>2025-04-13T15:08:00.007+05:30</published><updated>2025-04-13T19:25:50.907+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Provar Questions and Answers"/><title type='text'>Provar : Advanced Provar Automation Testing Questions - Part 3</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Part 3: Advanced Provar
Automation Testing Questions&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;iframe allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; src=&quot;https://www.youtube.com/embed/9zNP9kyh_2Q?si=Rup0jPmrFbhLqBtT&quot; title=&quot;YouTube video player&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;/h3&gt;&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h3&gt;&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;41&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How can Provar be used
to test Apex Batch Jobs?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates testing of Apex Batch Jobs through:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l12 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Apex Execution:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Use the&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Execute
Apex&lt;/span&gt;&lt;/em&gt;&amp;nbsp;test step to trigger batch jobs via anonymous Apex (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Database.executeBatch(new MyBatchClass());&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l12 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;AsyncApexJob Monitoring:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Query the&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;AsyncApexJob&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;object using
Provar’s&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Database
Query&lt;/span&gt;&lt;/em&gt;&amp;nbsp;step to verify status (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;SELECT Status FROM AsyncApexJob WHERE JobType
= &#39;BatchApex&#39;&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l12 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Data Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Post-execution, validate batch outcomes using Salesforce
Object Query Language (SOQL) in Provar (e.g., confirm 1,000 records were
updated).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l12 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;After executing a batch job to update&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Account.Rating&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;, use Provar to assert
that all targeted records have&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;Rating = &#39;Hot&#39;&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;42&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How does Provar support
testing for Salesforce Shield?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
validates Salesforce Shield features using:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l5 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Encrypted Field Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l5 level2 lfo2; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;VerifyField&lt;/span&gt;&lt;/em&gt;&amp;nbsp;to check
masked values (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;****1234&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;for encrypted
credit card numbers).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l5 level2 lfo2; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Execute tests under
different profiles to validate decryption permissions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l5 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Event Monitoring:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l5 level2 lfo2; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Simulate user actions
(e.g., record access) and query&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;EventLogFile&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;to confirm audit trails.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l5 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Data Masking:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l5 level2 lfo2; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use Provar’s&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Database Query&lt;/span&gt;&lt;/em&gt;&amp;nbsp;to
verify masked data in sandboxes (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;SELECT Email FROM Contact&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;returns&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;user@example.com.mask&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;43&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;What is Provar’s role
in DevOps practices?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
enhances DevOps via:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l4 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;CI/CD Integration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l4 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Execute tests using
Provar CLI (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;provar.[sh|bat]
-projectDir ~/tests -env UAT&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l4 level2 lfo3; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Integrate with
Jenkins/Azure DevOps using plugins for automated pipeline runs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l4 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Shift-Left Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Embed tests in version control (Git)
to run during development sprints.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l4 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Traceability:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Link test cases to Jira issues using Provar Manager for
audit trails.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;44&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How does Provar handle
testing for Salesforce Lightning Web Components (LWC)?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
tests LWCs using:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l16 level1 lfo4; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;NitroX Locators:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Auto-generate metadata-based locators for Shadow DOM
elements (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;lightning-button&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l16 level1 lfo4; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Dynamic Waits:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Automatically wait for LWC rendering using Provar’s&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;WaitForElement&lt;/span&gt;&lt;/em&gt;&amp;nbsp;step.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l16 level1 lfo4; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Validate a custom LWC displays&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;$Opportunity.Amount&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;correctly after a
user interaction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;45&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Can Provar be used for
load testing Salesforce applications?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;While
Provar focuses on functional testing, it supports load testing prep:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l14 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Data Generation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Create bulk records (10k+ Leads) via Provar’s data-driven
testing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l14 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Integration with JMeter:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Export test data (CSV) from Provar
to JMeter for concurrent user simulation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l14 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Post-Load Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Use Provar to verify data integrity
(e.g., no duplicates post-load).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;46&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How does Provar
facilitate testing for Salesforce CPQ?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates CPQ workflows by:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l18 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Quote Configuration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Use&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Set Field&lt;/span&gt;&lt;/em&gt;&amp;nbsp;steps to populate CPQ
attributes (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;SBQQ__Discount__c =
15%&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l18 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Price Rule Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Assert calculated totals match
expected values using&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;VerifyField&lt;/span&gt;&lt;/em&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l18 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Document Generation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Validate PDF quote templates via
Provar’s&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;VerifyPDFContent&lt;/span&gt;&lt;/em&gt;&amp;nbsp;step.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;47&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How can Provar be
customized for reporting?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
offers advanced reporting via:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Export Formats:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Generate PDF/Excel reports (Provar Desktop &amp;gt;&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Export Results&lt;/span&gt;&lt;/em&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;BI Integration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Use Provar’s REST API to feed results into Power
BI/Tableau.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Custom Dashboards:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Configure Provar Manager to track pass/fail rates by test
suite.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;48&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How does Provar test
Salesforce Experience Cloud?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
validates Experience Cloud by:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l2 level1 lfo8; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Guest User Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Execute tests without authentication
to validate public access.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l2 level1 lfo8; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;SSO Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Use&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Navigate&lt;/span&gt;&lt;/em&gt;&amp;nbsp;steps
to simulate Okta/Azure AD logins.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l2 level1 lfo8; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Template Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Switch community themes in Provar’s environment settings.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;49&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Can Provar be used for
accessibility testing?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Yes,
via:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l15 level1 lfo9; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Axe Integration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Embed Axe-core scripts in Provar tests to scan pages for
WCAG compliance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l15 level1 lfo9; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Screen Reader Simulation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Use JavaScript steps to validate
ARIA labels (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;document.getElementById(&#39;button&#39;).ariaLabel&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;50&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How does Provar support
Salesforce OmniStudio?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
tests OmniStudio components via:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l6 level1 lfo10; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;FlexCards:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Validate UI rendering using&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;VerifyImage&lt;/span&gt;&lt;/em&gt;&amp;nbsp;or&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;VerifyText&lt;/span&gt;&lt;/em&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l6 level1 lfo10; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;DataRaptors:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Execute DMLs and assert transformed data in Provar.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l6 level1 lfo10; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Trigger an Integration Procedure and validate output
using&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;AssertJsonPath&lt;/span&gt;&lt;/em&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;51&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How to test Salesforce
Health Cloud?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates Health Cloud by:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l9 level1 lfo11; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Care Plan Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Use&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Create Record&lt;/span&gt;&lt;/em&gt;&amp;nbsp;to assign care plans
and&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;VerifyField&lt;/span&gt;&lt;/em&gt;&amp;nbsp;for
status.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l9 level1 lfo11; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;HIPAA Compliance:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Query&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;FieldHistory&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;tables to audit data access.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;52&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How to automate testing
for Salesforce Flow?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
tests Flows via:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l10 level1 lfo12; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Flow Triggering:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Use&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Click&lt;/span&gt;&lt;/em&gt;&amp;nbsp;steps
to launch Screen Flows.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l10 level1 lfo12; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Outcome Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Assert record updates or email
alerts post-execution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l10 level1 lfo12; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Error Handling:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Test exception paths by forcing invalid inputs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3 style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;53.
How does Provar handle testing for Salesforce Financial Services Cloud?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates testing for Financial Services Cloud by:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l11 level1 lfo13; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Household Management:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l11 level2 lfo13; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate household hierarchies using&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Verify Related Records&lt;/span&gt;&lt;/em&gt;&amp;nbsp;(e.g.,
ensure a parent household aggregates child account balances).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l11 level2 lfo13; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Test role-based access to financial data via profile switching.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l11 level1 lfo13; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Financial Account Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l11 level2 lfo13; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use SOQL queries in Provar to verify transaction histories and
balances (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;SELECT Amount FROM
FinancialAccountTransaction&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l11 level1 lfo13; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Compliance Checks:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l11 level2 lfo13; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Audit data retention policies using Provar’s&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Database Query&lt;/span&gt;&lt;/em&gt;&amp;nbsp;to
ensure GDPR/HIPAA compliance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l11 level1 lfo13; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Automate a test where a financial advisor updates a
client’s portfolio and validate that risk assessment rules trigger correctly.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;54.
How can Provar be used for accessibility testing in Salesforce applications?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
integrates accessibility testing via:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l3 level1 lfo14; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Axe-Core Integration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l3 level2 lfo14; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Embed Axe scripts in Provar tests using&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Execute JavaScript&lt;/span&gt;&lt;/em&gt;&amp;nbsp;to
scan pages for WCAG violations (e.g., missing alt text).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; mso-list: l3 level2 lfo14; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;, sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;b&gt;Javascript Example&lt;/b&gt; :&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-left: 72pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;, sans-serif&quot; style=&quot;color: #404040;&quot;&gt;axe.run(document, {}, (err, results) =&amp;gt;
{&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;, sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-left: 72pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;, sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;, sans-serif&quot; style=&quot;color: #404040;&quot;&gt;provar.assert(results.violations.length === 0, &quot;Accessibility
issues found&quot;);&lt;/span&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;, sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp; });&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; mso-list: l3 level2 lfo14; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l3 level1 lfo14; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Screen Reader Simulation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l3 level2 lfo14; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Send
Keys&lt;/span&gt;&lt;/em&gt;&amp;nbsp;steps to navigate pages via keyboard-only interactions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l3 level1 lfo14; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Reporting:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Export accessibility violations to CSV for remediation
tracking.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;55.
How does Provar support testing for Salesforce OmniStudio?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
validates OmniStudio components through:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l0 level1 lfo15; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;FlexCards:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l0 level2 lfo15; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Verify
Image&lt;/span&gt;&lt;/em&gt;&amp;nbsp;or&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Verify
Text&lt;/span&gt;&lt;/em&gt;&amp;nbsp;to validate dynamic card content (e.g., customer
summaries).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l0 level1 lfo15; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Integration Procedures:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l0 level2 lfo15; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Trigger procedures via REST API steps and validate output
using&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;AssertJSONPath&lt;/span&gt;&lt;/em&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l0 level1 lfo15; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;DataRaptors:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l0 level2 lfo15; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Execute DML operations and verify transformed data using&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Database Query&lt;/span&gt;&lt;/em&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l0 level1 lfo15; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Test a DataRaptor that populates a FlexCard with loan
eligibility criteria and assert the output matches underwriting rules.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;56.
How can Provar be utilized to test Salesforce Health Cloud?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates Health Cloud workflows by:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l19 level1 lfo16; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Care Plan Execution:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l19 level2 lfo16; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Create
Record&lt;/span&gt;&lt;/em&gt;&amp;nbsp;to assign care plans and&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;VerifyField&lt;/span&gt;&lt;/em&gt;&amp;nbsp;to check
status updates (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;CarePlan.Status =
&#39;Active&#39;&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l19 level1 lfo16; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Patient Journey Simulation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l19 level2 lfo16; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Navigate through patient portals and validate milestone tracking
(e.g., post-appointment follow-ups).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l19 level1 lfo16; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Compliance Audits:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l19 level2 lfo16; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Query audit logs (&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;SETUP_AUDIT_TRAIL&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;) to ensure HIPAA-compliant data access.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;57. How
does Provar integrate with load testing tools?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;While
Provar focuses on functional testing, it complements load testing via:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l13 level1 lfo17; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Data Preparation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l13 level2 lfo17; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Generate bulk records (e.g., 10k Patients) using data-driven
testing with CSV files.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l13 level1 lfo17; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Integration with JMeter:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l13 level2 lfo17; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Export test data from Provar to JMeter for concurrent user
simulation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l13 level1 lfo17; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Post-Load Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l13 level2 lfo17; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use Provar to verify data integrity (e.g., no duplicate records
after bulk uploads).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;58.
How does Provar support testing for Salesforce Marketing Cloud?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
automates Marketing Cloud by:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l1 level1 lfo18; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Email Campaigns:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l1 level2 lfo18; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Validate email content and triggers using&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Verify Email&lt;/span&gt;&lt;/em&gt;&amp;nbsp;steps
(e.g., check subject lines and dynamic AMPscript content).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l1 level1 lfo18; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Customer Journeys:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l1 level2 lfo18; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Simulate journey entry points (e.g., form submissions) and
verify email/SMS responses.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l1 level1 lfo18; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;AMPscript Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l1 level2 lfo18; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Execute
JavaScript&lt;/span&gt;&lt;/em&gt;&amp;nbsp;to validate rendered content (e.g.,&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;%%=ProperCase(@FirstName)=%%&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;59.
Can Provar be customized for reporting?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Yes,
Provar offers advanced reporting via:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l7 level1 lfo19; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Custom Exports:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l7 level2 lfo19; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Generate PDF/Excel reports with screenshots and logs (Provar
Desktop &amp;gt;&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Export
Results&lt;/span&gt;&lt;/em&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l7 level1 lfo19; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;BI Tool Integration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l7 level2 lfo19; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use Provar’s REST API to push results to Power BI/Tableau for
trend analysis.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l7 level1 lfo19; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar Manager Dashboards:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l7 level2 lfo19; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Track metrics like test coverage and flakiness rates across
sprints.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; text-align: center;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/div&gt;

&lt;h3 style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 13.7pt; margin: 13.7pt 0cm 10.3pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;60.
How does Provar facilitate testing for Salesforce Experience Cloud?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; font-weight: normal;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p style=&quot;-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 0cm; margin-right: 0cm; margin-top: 10.3pt; margin: 10.3pt 0cm; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar
validates Experience Cloud via:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l17 level1 lfo20; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Guest User Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l17 level2 lfo20; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Execute tests without authentication to validate public resource
access (e.g., knowledge articles).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l17 level1 lfo20; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;SSO Configuration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l17 level2 lfo20; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use&amp;nbsp;&lt;em&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot;&gt;Navigate&lt;/span&gt;&lt;/em&gt;&amp;nbsp;steps
to simulate Okta/Azure AD logins and validate token-based redirects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l17 level1 lfo20; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Template Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l17 level2 lfo20; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Switch between community templates (e.g., Customer Service vs.
Partner Portal) using environment overrides.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/4511892827861287973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2025/04/provar-advanced-provar-automation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/4511892827861287973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/4511892827861287973'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2025/04/provar-advanced-provar-automation.html' title='Provar : Advanced Provar Automation Testing Questions - Part 3'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/9zNP9kyh_2Q/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-6651288350266544306</id><published>2025-04-13T14:09:00.007+05:30</published><updated>2025-04-13T15:21:52.398+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Provar Questions and Answers"/><title type='text'>Provar : Intermediate Provar Automation Testing Questions - Part-2</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 10.3pt; mso-margin-top-alt: auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Part 2 : Intermediate Provar Automation Testing Questions&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 10.3pt; mso-margin-top-alt: auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 10.3pt; mso-margin-top-alt: auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;iframe allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; src=&quot;https://www.youtube.com/embed/GcgqMkKrW5c?si=WPzOwKDwqZw0rLRH&quot; title=&quot;YouTube video player&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 10.3pt; mso-margin-top-alt: auto;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 10.3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;21.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;How to test
Salesforce REST APIs with Provar?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;REST Test Step:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Use
Provar’s&amp;nbsp;&lt;i&gt;REST Request&lt;/i&gt;&amp;nbsp;step to define HTTP methods
(GET/POST/PUT/DELETE), endpoints, and headers.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;OAuth 2.0 Setup:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Create a Salesforce
Connected App with OAuth scopes.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Configure OAuth in
Provar using the&amp;nbsp;&lt;i&gt;Authentication&lt;/i&gt;&amp;nbsp;tab (client ID, secret, token
URL).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Payload Management:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;For POST/PUT
requests, input JSON/XML payloads (e.g.,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;{&quot;Name&quot;: &quot;Test Account&quot;}&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Assertions:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Validate status
codes (e.g.,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;AssertStatusCodeEquals
201&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;) and response body values (e.g.,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;AssertJsonPathEquals &quot;$.Id&quot;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;22.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Explain Provar’s
email testing capabilities.&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Email Server
Connections:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Configure SMTP/IMAP settings for Gmail, Outlook, etc., in
Provar’s&amp;nbsp;&lt;i&gt;Email Connections&lt;/i&gt;.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Validation Steps:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Use&amp;nbsp;&lt;i&gt;Verify
Email&lt;/i&gt;&amp;nbsp;to check subject lines, sender addresses, or attachments.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Example: Confirm a
Case closure triggers a confirmation email with a specific template.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Automation:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Automate email
sends (e.g., test email-to-case functionality) and validate inbound processing.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;23.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;How to integrate
Provar with CI/CD pipelines?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;CLI Execution:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Run tests via
Provar CLI commands (e.g.,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;provar.[sh|bat] -projectDir /path -env UAT&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Jenkins Integration:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Install the Provar
plugin and configure a job to execute tests post-deployment.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Publish HTML/PDF
reports using plugins like&amp;nbsp;&lt;i&gt;HTML Publisher&lt;/i&gt;.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Result Analysis:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Parse
JUnit-style XML results for pass/fail metrics in dashboards (e.g., Azure
DevOps).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;24.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;What is
metadata-driven testing in Provar?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Auto-Generated
Locators:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Provar uses Salesforce metadata (object/field names) to create
stable locators (e.g.,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;provar:id=Account.Name&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;instead of
XPath).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Example:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;A test for
Lead conversion remains functional even if the page layout changes, as long as
the&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Status&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;field exists
in metadata.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Maintenance
Reduction:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Metadata alignment ensures tests adapt to Salesforce UI updates
(e.g., Lightning migrations).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;25.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;How to handle
multi-factor authentication (MFA) in Provar?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;MFA Setup:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Enable MFA in
Provar’s connection settings and upload a Salesforce OTP handler JAR file.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Use security keys
or authenticator apps for token generation.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Session Sharing:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Reuse
authenticated sessions across tests to bypass repeated MFA prompts.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;26.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;How to test
Salesforce Communities with Provar?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Community
Connection:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Create a connection
in Provar using the Community URL (e.g.,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;https://mycommunity.site.com&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;) and external user
credentials.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Testing Scenarios:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Validate
self-registration flows, portal access, and community-specific pages (e.g.,
Knowledge Base).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Environment
Overrides:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Switch between Community versions (e.g., UAT vs. Production) using
parameterized URLs.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;27.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;What is Provar’s
NitroX technology?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Dynamic Element
Handling:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;NitroX auto-detects Shadow DOM elements in Lightning Web
Components (e.g.,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;lightning-button&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;iFrame Navigation:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Seamlessly
interact with nested iframes (e.g., embedded Visualforce pages).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Locator Resilience:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Generates
metadata-based locators unaffected by dynamic ID changes.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;28.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;How to override
environments in Provar?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Parameterization:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Define
variables like&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;${OrgURL}&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;${Username}&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;in&amp;nbsp;&lt;i&gt;Global
Parameters&lt;/i&gt;.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Environment
Switcher:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Use Provar’s&amp;nbsp;&lt;i&gt;Environment Manager&lt;/i&gt;&amp;nbsp;to toggle
between orgs (e.g., Sandbox vs. Production) without altering test logic.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;29.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;How to test Apex
triggers in Provar?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Apex Execute Step:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Account acc = new
Account(Name=&#39;Test&#39;);&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;insert acc; // Triggers after-insert
logic&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;UI Validation:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Create a test
that inserts a record via UI and asserts trigger outcomes (e.g., a related Task
is created).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;30.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Explain Provar’s
Slack integration.&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Webhook
Configuration:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Create a Slack
incoming webhook and note the URL.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;In Provar, use
the&amp;nbsp;&lt;i&gt;Slack Post Message&lt;/i&gt;&amp;nbsp;step with the webhook URL and channel
name.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Notifications:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Send test
execution summaries (pass/fail) to Slack for real-time alerts.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;31.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;How to perform
database testing with Provar?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;JDBC Setup:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Configure
database connections (e.g., Oracle) in Provar with driver JARs and connection
strings.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;SQL Execution:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Use&amp;nbsp;&lt;i&gt;Database
Query&lt;/i&gt;&amp;nbsp;steps to run SELECT/INSERT statements.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Example: After
creating an Opportunity in Salesforce, query the database to verify its sync to
an ERP system.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;32.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;What are Provar’s
best practices for test maintenance?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Modular Design:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Create
reusable&amp;nbsp;&lt;i&gt;Callable Test Cases&lt;/i&gt;&amp;nbsp;(e.g.,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Login&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;) to avoid
redundancy.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Data-Driven Tests:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Store test
data in Excel/CSV files (e.g., 100+ user roles).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Group Steps:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Organize
steps into logical groups (e.g., “Navigate to Account”) for readability.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;33.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;How to test the
Salesforce Mobile App with Provar?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Mobile Testing
Setup:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Use real devices/emulators
with the Salesforce Mobile App installed.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Configure Provar to
interact with mobile elements (e.g., swipe actions).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Limitation:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Provar does
not support mobile browser testing since Salesforce retired its mobile web
experience.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;34.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;How to handle Salesforce’s
dynamic page layouts?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Profile-Specific
Testing:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Run tests under different profiles to validate layout variations
(e.g., Sales vs. Support layouts).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Conditional Logic:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;IF ${UserProfile} = &quot;System
Admin&quot;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VerifyField
&quot;AnnualRevenue&quot;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;ELSE&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VerifyFieldNotVisible
&quot;AnnualRevenue&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;35.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;What is the Rework
Spiral in Salesforce testing?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Issue:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Generic tools
(e.g., Selenium) require constant test updates due to Salesforce’s
thrice-yearly releases.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Provar’s Solution:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Metadata-driven
tests automatically adapt to UI changes, breaking the spiral (e.g., no locator
updates post-Summer ‘24 release).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;36.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;How to test
Salesforce integrations (e.g., ERP systems)?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;End-to-End
Workflow:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Create an Order in
Salesforce → Validate ERP sync via database query → Confirm invoice generation.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;API Middleware:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Test
middleware (e.g., MuleSoft) using Provar’s REST steps to ensure data
transformation accuracy.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;37.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;How to use Provar
with Salesforce DX?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Scratch Org Sync:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Use&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;sfdx force:source:pull&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;to sync
scratch org metadata into Provar.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Pipeline
Integration:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Add Provar CLI commands to&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;sfdx-project.json&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;for automated testing in CI/CD.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;38.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;How to validate
Field-Level Security (FLS) in Provar?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 72pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;VerifyFieldAccess
Step:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 108pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;§&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;VerifyFieldAccess
Field=&quot;Account.AnnualRevenue&quot; Readable=false Editable=false&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;for a
read-only field.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Profile Testing:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Execute tests
under restricted profiles to ensure FLS compliance.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;39.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Explain Provar’s
version control integration.&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Git Integration:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Store Provar
test XML files in Git repositories for versioning.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Collaboration:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Use branches
to manage test updates (e.g.,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-family: &amp;quot;&amp;quot;Courier New&amp;quot;&amp;quot;,serif; font-size: 10.5pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;feature/login-tests&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;line-height: 21.45pt; margin-bottom: 3pt; margin-left: 21pt; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-bidi-font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;40.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;How to test
Salesforce Einstein Analytics?&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Dashboard
Interaction:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Use Provar to click dashboard filters and validate rendered
charts.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-left: 72pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;color: #404040; font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;/span&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 7pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;API Validation:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;nbsp;Execute SAQL
queries via REST API steps to confirm dataset accuracy.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 21.45pt; margin-bottom: 10.3pt; mso-margin-top-alt: auto;&quot;&gt;











































































































































































































&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/6651288350266544306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2025/04/provar-intermediate-provar-automation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/6651288350266544306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/6651288350266544306'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2025/04/provar-intermediate-provar-automation.html' title='Provar : Intermediate Provar Automation Testing Questions - Part-2'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/GcgqMkKrW5c/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-8526846422459367356</id><published>2025-04-12T16:22:00.009+05:30</published><updated>2025-04-13T14:01:00.697+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Provar Questions and Answers"/><title type='text'>Provar-  Basic Automation Testing Questions :Part 1</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 10.3pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Part 1: Basic Provar
Automation Testing Questions&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;iframe allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; src=&quot;https://www.youtube.com/embed/Wix1HIskFtU?si=VAdM_yGtW-r4TDUu&quot; title=&quot;YouTube video player&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;1. What is Provar, and why is it used in Salesforce testing?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;
Provar is a specialized test automation tool designed explicitly for Salesforce
ecosystems. It leverages Salesforce metadata to automate end-to-end testing,
ensuring seamless integration with Salesforce features like Lightning, Apex,
and dynamic UI elements. Provar is ideal for regression testing, cross-browser
validation, CI/CD pipeline integration, and handling Salesforce-specific
challenges such as dynamic IDs and Shadow DOM.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;2.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;What are Provar’s core features?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Salesforce Metadata
Integration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Directly interacts with Salesforce metadata for stable
test automation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;No-Code/Low-Code
Interface:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;User-friendly drag-and-drop test builder for creating
tests without programming.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Metadata-Driven
Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Uses Salesforce objects, fields, and relationships to
auto-generate reliable locators.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;CI/CD Integration:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Supports Jenkins,
Azure DevOps, and other tools for continuous testing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Cross-Browser Testing:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Compatible with
Chrome, Firefox, Safari, and Edge.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Advanced Reporting:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Generates
detailed HTML/PDF reports with screenshots and logs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Dynamic Element
Handling:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;NitroX technology manages Lightning Web Components and
dynamic content.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;3.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How does Provar differ from Selenium?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Salesforce
Optimization:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Provar is built for Salesforce, while Selenium is a
generic web automation tool.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Metadata Awareness:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Provar
auto-generates locators using Salesforce metadata, reducing maintenance.
Selenium relies on XPath/CSS, which breaks with UI changes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Ease of Use:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Provar offers
no-code/low-code scripting, whereas Selenium requires programming skills (e.g.,
Java, Python).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Native Salesforce
Support:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Provar handles Salesforce-specific features like
Lightning, Sandbox refreshes, and security models out-of-the-box.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;4.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How do you create a Provar project?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Open Provar Desktop.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Navigate to&amp;nbsp;&lt;strong&gt;File &amp;gt; New &amp;gt; Provar Project&lt;/strong&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Name the project and
select a storage location.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Connect to a Salesforce
org by entering credentials (Sandbox/Production).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Configure metadata
filters (e.g., objects, pages) and generate an object repository.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Define test
environments (e.g., UAT, Production) for execution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;5.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;What is a “Provar Test Case”?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;
A Provar Test Case is a sequence of automated steps to validate Salesforce
functionality. It includes actions (e.g., clicking buttons), inputs (e.g., form
data), and assertions (e.g., verifying records). Test cases are stored in XML
format, enabling version control and reusability across scenarios.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;6.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How do you record a test in Provar?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Launch the&amp;nbsp;&lt;strong&gt;Test Builder&lt;/strong&gt;&amp;nbsp;in
Provar Desktop.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Click&amp;nbsp;&lt;strong&gt;Start Recording&lt;/strong&gt;&amp;nbsp;and
navigate to the Salesforce page to test.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Perform UI actions
(e.g., input text, click buttons); Provar captures these as test steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Add validations (e.g.,
check for success messages) using built-in assertions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Save the test case with
a descriptive name.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;7.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;What are Test Suites in Provar?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;
Test Suites group related test cases (e.g., smoke tests, regression packs) for
bulk execution. They enable organized testing, parallel runs, and
environment-specific configurations (e.g., data setups).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;8.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How to parameterize tests in Provar?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use variables like&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;${Username}&lt;/span&gt;&lt;/code&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;in test steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Link external data
sources (Excel, CSV) to inject multiple datasets.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Configure runtime
parameters (e.g., environment URLs) via configuration files.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Example: A login test
can iterate over different user roles using a CSV file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;9.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;What is data-driven testing in Provar?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;
Data-driven testing executes a test case repeatedly with varying input data.
Provar enables this by binding external files (Excel/CSV) to test cases. For
example, testing lead creation with 100+ combinations of names, emails, and
regions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;10.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How to test Salesforce Lightning with Provar?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Enable&amp;nbsp;&lt;strong&gt;Lightning Experience&lt;/strong&gt;&amp;nbsp;in
Provar’s Salesforce connection settings.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Use Provar’s Lightning
locators (auto-generated via metadata) instead of classic UI selectors.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Leverage NitroX to
handle dynamic Lightning Web Components and Shadow DOM elements.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;11.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;What is Provar Manager?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;
Provar Manager is a web-based platform for centralized test management. It
organizes test cases, schedules executions, tracks results, and integrates with
Jira for defect tracking.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;12.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Does Provar support non-Salesforce systems?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;
Yes, Provar integrates with:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Email:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Validates emails
via Gmail/Outlook.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Databases:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Runs SQL queries
on Oracle, MySQL.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;APIs:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Calls REST/SOAP
APIs for end-to-end workflows.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;13.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How does Provar reduce test flakiness?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Metadata-Based
Locators:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Resilient to UI changes (e.g., Salesforce updates).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Auto-Waiting:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Intelligently
waits for page loads and dynamic elements.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Retry Mechanisms:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Re-attempts
failed steps due to transient issues (e.g., network latency).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;14.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;What training resources does Provar offer?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Provar University:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Free online
courses, certifications, and tutorials.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Consulting Services:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Customized
training for teams on frameworks and best practices.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l8 level2 lfo1; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Community Forums:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Peer support and
knowledge-sharing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;15.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Explain Provar’s Proof of Value (POV) approach.&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;
The POV is a tailored demonstration where Provar’s team builds automated tests
aligned with a client’s critical workflows (e.g., Opportunity-to-Cash). It
showcases ROI through reduced testing time, defect rates, and maintenance
efforts.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l8 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;16.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How does Provar handle Salesforce releases?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;
Provar’s team actively updates the tool to align with Salesforce’s
thrice-yearly releases. This includes compatibility with new features (e.g.,
Lightning Web Components) and preemptive updates to minimize test failures
post-upgrade&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l1 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;17.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;What are Provar’s synchronization mechanisms?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;
Provar employs robust synchronization strategies to handle Salesforce’s dynamic
UI elements and ensure test reliability:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Automatic Waits:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Provar intelligently waits for page loads, AJAX calls, and
Lightning component rendering before interacting with elements, similar to
implicit waits but optimized for Salesforce’s architecture.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Explicit&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;code style=&quot;border-radius: 4px; padding: 0.15rem 0.3rem;&quot;&gt;&lt;span style=&quot;background: rgb(236, 236, 236); color: #404040; font-size: 10.5pt;&quot;&gt;WaitForElement&lt;/span&gt;&lt;/code&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Steps:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Testers can add conditional waits (e.g., wait for an
element to be clickable or visible) to handle asynchronous processes or
slow-loading components.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;NitroX Technology:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Provar’s proprietary engine manages dynamic IDs, iframes,
and Shadow DOM elements in Lightning Web Components, reducing flakiness.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Retry Logic:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Automatically reattempts failed actions (e.g., clicks,
inputs) caused by transient issues like network latency or temporary UI
glitches.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l4 level1 lfo4; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;18.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How to validate Salesforce reports in Provar?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;
Provar validates Salesforce reports through a combination of UI and API
interactions:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l7 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Execute Report:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Use the&amp;nbsp;&lt;em&gt;Run
Report&lt;/em&gt;&amp;nbsp;step to trigger the report execution within the
Salesforce UI or via the API.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l7 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Data Assertions:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l7 level2 lfo5; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;VerifyRows:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Check if the
report returns the expected number of rows (e.g., confirm a pipeline report
displays 10 opportunities).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l7 level2 lfo5; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;VerifyColumns:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Validate column
values (e.g., ensure &quot;Total Sales&quot; in a summary report matches a
predefined value).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l7 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Filter Validation:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Use assertions to verify report filters are applied
correctly (e.g., a date filter only shows Q4 results).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l3 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;19.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;What is polymorphism in Provar testing?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;
Polymorphism in Provar enables test cases to dynamically adapt to different
execution contexts without code changes:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l6 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;User Roles:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Run the same test under different profiles (e.g., Admin
vs. Standard User) to validate permission sets and field-level security.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l6 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Languages/Localization:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Execute tests in multiple languages
to ensure UI labels, date formats, and currency symbols render correctly.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l6 level1 lfo7; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Environments:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Reuse tests across Sandbox, UAT, and Production by
parameterizing org-specific URLs or credentials.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l0 level1 lfo8; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040; mso-fareast-font-family: &amp;quot;Segoe UI&amp;quot;;&quot;&gt;20.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;How to debug a failing Provar test?&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;br /&gt;
Provar provides tools to diagnose and resolve test failures efficiently:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l5 level1 lfo9; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Live Inspection Tool:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Pause test execution to inspect UI
elements in real-time, validate locators, and troubleshoot misaligned
identifiers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-list: l5 level1 lfo9; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Debug Logs:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l5 level2 lfo9; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Execution Logs:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Step-by-step logs
with screenshots and error messages (accessible via&amp;nbsp;&lt;em&gt;Test Results&lt;/em&gt;&amp;nbsp;in
Provar Desktop).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 72.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 72pt; mso-list: l5 level2 lfo9; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;System Logs:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Detailed
technical logs for diagnosing environment or integration issues.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l5 level1 lfo9; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Metadata Sync:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Refresh Salesforce metadata in Provar to ensure locators
align with the latest UI changes (e.g., after a Salesforce release).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt; mso-list: l5 level1 lfo9; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #404040; font-family: Symbol; font-size: 10pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;Breakpoints:&lt;/span&gt;&lt;/strong&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;Insert breakpoints in the Test Builder to pause execution
at specific steps and inspect variables or UI state.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 21.45pt; margin-bottom: 5.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 5pt 36pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Segoe UI&amp;quot;,sans-serif&quot; style=&quot;color: #404040;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;



























































































































































&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/8526846422459367356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2025/04/provar-testing-for-salesforce-interview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/8526846422459367356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/8526846422459367356'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2025/04/provar-testing-for-salesforce-interview.html' title='Provar-  Basic Automation Testing Questions :Part 1'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/Wix1HIskFtU/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-8661933084620249166</id><published>2025-02-23T13:29:00.002+05:30</published><updated>2025-02-23T13:32:37.476+05:30</updated><title type='text'>Page Object Model(POM) Automation Testing Framework </title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 1;&quot;&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 1;&quot;&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 1;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 24pt;&quot;&gt;Page Object Model(POM) Automation Testing&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 24pt;&quot;&gt;Framework&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 24pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;This blog post will guide you through setting up a robust Automation testing
framework for Salesforce using Selenium, TestNG, and ExtentReports. This
framework incorporates best practices for maintainability, reusability, and
reporting.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 18pt;&quot;&gt;1. Project Directory Structure&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 18pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Before diving into the code, let&#39;s establish the project&#39;s directory
structure:&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;SalesforceTesting/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;├── src/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;├── main/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;└── java/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;└── com/salesforce/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;├── base/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;├── BaseTest.java&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── DriverManager.java&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;├── common/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── Utility.java&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;├── listeners/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── TestListener.java&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;├── pages/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── LoginPage.java&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;├── reporting/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── ExtentReportManager.java&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;└── repository/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── LocatorsRepository.java&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── test/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── java/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── com/salesforce/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── tests/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── LoginTest.java&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;├── pom.xml&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;├── testng.xml&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;└── run.bat&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 18pt;&quot;&gt;2. Core Dependencies (pom.xml)&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 18pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;First, let&#39;s define the necessary dependencies in your &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;pom.xml&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt; file:&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&amp;lt;project
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;groupId&amp;gt;com.automationCodes&amp;lt;/groupId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;artifactId&amp;gt;pageobject&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;properties&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;selenium.version&amp;gt;4.16.1&amp;lt;/selenium.version&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;testng.version&amp;gt;7.8.0&amp;lt;/testng.version&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;webdrivermanager.version&amp;gt;5.6.3&amp;lt;/webdrivermanager.version&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;extentreports.version&amp;gt;5.1.1&amp;lt;/extentreports.version&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;commons.io.version&amp;gt;2.13.0&amp;lt;/commons.io.version&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/properties&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;dependencies&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- Selenium --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;groupId&amp;gt;org.seleniumhq.selenium&amp;lt;/groupId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;artifactId&amp;gt;selenium-java&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;version&amp;gt;${selenium.version}&amp;lt;/version&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- TestNG --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;groupId&amp;gt;org.testng&amp;lt;/groupId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;artifactId&amp;gt;testng&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;version&amp;gt;${testng.version}&amp;lt;/version&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- WebDriverManager --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;groupId&amp;gt;io.github.bonigarcia&amp;lt;/groupId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;lt;artifactId&amp;gt;webdrivermanager&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;version&amp;gt;${webdrivermanager.version}&amp;lt;/version&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- Extent Reports --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;groupId&amp;gt;com.aventstack&amp;lt;/groupId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;artifactId&amp;gt;extentreports&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;version&amp;gt;${extentreports.version}&amp;lt;/version&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- Apache Commons IO --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;groupId&amp;gt;commons-io&amp;lt;/groupId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;artifactId&amp;gt;commons-io&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;version&amp;gt;${commons.io.version}&amp;lt;/version&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/dependencies&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;build&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;plugins&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;plugin&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;artifactId&amp;gt;maven-surefire-plugin&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;version&amp;gt;3.1.2&amp;lt;/version&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;configuration&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;suiteXmlFiles&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&amp;lt;suiteXmlFile&amp;gt;testng.xml&amp;lt;/suiteXmlFile&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/suiteXmlFiles&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/configuration&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/plugin&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/plugins&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/build&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&amp;lt;/project&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;Explanation:&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l5 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Selenium&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: For browser automation.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l5 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;TestNG&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Testing framework for structuring and running tests.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l5 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;WebDriverManager&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Simplifies WebDriver setup (no more manual driver downloads!).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l5 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;ExtentReports&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: For generating detailed and visually appealing test reports.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l5 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Apache Commons IO&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Useful utility for file operations.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 18pt;&quot;&gt;3. Base Components&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 18pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;3.1. BaseTest.java&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;This abstract class handles the setup and teardown of your test
environment.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;package
com.salesforce.base;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.openqa.selenium.WebDriver;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.testng.annotations.AfterSuite;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.testng.annotations.BeforeSuite;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.testng.annotations.Listeners;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;@Listeners(com.salesforce.listeners.TestListener.class)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;public
abstract class BaseTest {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;protected WebDriver driver;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;@BeforeSuite&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public void setUpSuite() {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// Initialize ExtentReports&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;com.salesforce.reporting.ExtentReportManager.getInstance();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;@BeforeSuite&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public void launchSalesforce() {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;driver = DriverManager.getDriver();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;String salesforceUrl =
&quot;https://login.salesforce.com&quot;; // Salesforce login URL&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;driver.get(salesforceUrl);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.out.println(&quot;Launched
Salesforce URL: &quot; + salesforceUrl);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;@AfterSuite&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public void tearDownSuite() {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// Quit the driver and flush
ExtentReports&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;DriverManager.quitDriver();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;com.salesforce.reporting.ExtentReportManager.getInstance().flush();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;Explanation:&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l8 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;@Listeners(com.salesforce.listeners.TestListener.class)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: This tells TestNG to use our custom TestListener class to handle test
events (start, success, failure, etc.).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l8 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;setUpSuite()&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Initializes
ExtentReports before the test suite begins.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l8 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;launchSalesforce()&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Launches the
Salesforce login page using the DriverManager.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l8 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;tearDownSuite()&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Quits the
WebDriver and flushes ExtentReports after the test suite completes.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;3.2. DriverManager.java&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;This class manages the WebDriver instance. It ensures that only one
WebDriver instance exists per test run and provides a centralized way to access
and quit the driver.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;package
com.salesforce.base;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.openqa.selenium.WebDriver;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.openqa.selenium.chrome.ChromeDriver;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.openqa.selenium.edge.EdgeDriver;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.openqa.selenium.firefox.FirefoxDriver;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
io.github.bonigarcia.wdm.WebDriverManager;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;public class
DriverManager {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;private static WebDriver driver;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;private DriverManager() {}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public static WebDriver getDriver() {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if(driver == null) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;String browser =
System.getProperty(&quot;browser&quot;, &quot;chrome&quot;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;switch(browser.toLowerCase()) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;case &quot;chrome&quot;:&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;WebDriverManager.chromedriver().setup();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;driver = new
ChromeDriver();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;break;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;case &quot;firefox&quot;:&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;WebDriverManager.firefoxdriver().setup();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;driver = new
FirefoxDriver();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;break;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;case &quot;edge&quot;:&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;WebDriverManager.edgedriver().setup();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;driver = new EdgeDriver();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;break;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;default:&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;throw new
IllegalStateException(&quot;Invalid browser: &quot; + browser);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;driver.manage().window().maximize();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return driver;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public static void quitDriver() {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if(driver != null) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;driver.quit();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;driver = null;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; mso-background-themecolor: background1;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; mso-background-themecolor: background1;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Explanation:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size: 12pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l4 level1 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;getDriver():&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt; This method
implements the Singleton pattern. It checks if a WebDriver instance already
exists. If not, it creates one based on the browser specified in the browser
system property (defaults to Chrome). It uses WebDriverManager to automatically
download and set up the appropriate driver.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l4 level1 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;quitDriver():&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt; This method
closes the WebDriver instance and sets the driver variable to null.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; mso-background-themecolor: background1;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 1;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 24pt;&quot;&gt;Utility Class&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 24pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 18.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 18pt;&quot;&gt;4.1 Utility.java&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 18pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;This class provides reusable utility methods for common Selenium
actions.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;Code Implementation&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;package
com.salesforce.common;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.openqa.selenium.*;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.openqa.selenium.interactions.Actions;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.openqa.selenium.support.ui.ExpectedConditions;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.openqa.selenium.support.ui.WebDriverWait;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
com.salesforce.base.DriverManager;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
java.time.Duration;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
java.util.List;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
java.util.stream.Collectors;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;public class
Utility {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;private static final int TIMEOUT = 10;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public static WebElement waitForElement(By
locator) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return new
WebDriverWait(DriverManager.getDriver(), Duration.ofSeconds(TIMEOUT))&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;.until(ExpectedConditions.presenceOfElementLocated(locator));&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public static void openPage(String url) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;DriverManager.getDriver().get(url);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public static void click(By locator) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;waitForElement(locator).click();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public static void sendKeys(By locator,
String text) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;WebElement element =
waitForElement(locator);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;element.clear();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;element.sendKeys(text);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public static void doubleClick(By locator)
{&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;new Actions(DriverManager.getDriver())&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.doubleClick(waitForElement(locator))&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.perform();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public static void switchToWindow(int
index) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;List&amp;lt;String&amp;gt; windows =
DriverManager.getDriver().getWindowHandles().stream().collect(Collectors.toList());&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;DriverManager.getDriver().switchTo().window(windows.get(index));&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public static boolean isElementPresent(By
locator) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;try {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;waitForElement(locator);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return true;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;} catch(TimeoutException e) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;return false;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;Explanation&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;waitForElement(By locator)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Waits for an element to be present on the page before interacting with
it. This helps prevent flaky tests caused by timing issues.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;click(By locator)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Clicks on an element.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;sendKeys(By locator, String text)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Enters text into an element. It first clears the field to ensure no
previous text remains.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;doubleClick(By locator)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Double clicks on an element.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;switchToWindow(int index)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Switches to a specific window based on its index.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;isElementPresent(By locator)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Checks if an element is present on the page.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 1;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 24pt;&quot;&gt;Test Listener&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 24pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 18.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 18pt;&quot;&gt;5.1 TestListener.java&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 18pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;This class implements the &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;ITestListener&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt; interface and is used to capture test execution events and log them to
the ExtentReports.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;Code Implementation&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;package
com.salesforce.listeners;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
com.aventstack.extentreports.ExtentTest;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
com.aventstack.extentreports.Status;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
com.salesforce.base.DriverManager;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
com.salesforce.reporting.ExtentReportManager;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.testng.ITestContext;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.testng.ITestListener;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
org.testng.ITestResult;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;public class
TestListener implements ITestListener {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;private static
ThreadLocal&amp;lt;ExtentTest&amp;gt; extentTest = new ThreadLocal&amp;lt;&amp;gt;();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;@Override&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public void onTestStart(ITestResult result)
{&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ExtentTest test =
ExtentReportManager.getInstance()&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;.createTest(result.getMethod().getMethodName());&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;extentTest.set(test);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;@Override&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public void onTestSuccess(ITestResult
result) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;extentTest.get().log(Status.PASS,
&quot;Test Passed&quot;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;@Override&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public void onTestFailure(ITestResult
result) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;extentTest.get().log(Status.FAIL,
&quot;Test Failed&quot;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;extentTest.get().fail(result.getThrowable());&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;@Override&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public void onTestSkipped(ITestResult
result) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;extentTest.get().log(Status.SKIP,
&quot;Test Skipped&quot;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;@Override&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public void onFinish(ITestContext context)
{&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;ExtentReportManager.getInstance().flush();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;DriverManager.quitDriver();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;Explanation&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l7 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;onTestStart(ITestResult result)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: This method is called when a test starts. It creates a new ExtentTest
instance and associates it with the current thread.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l7 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;onTestSuccess(ITestResult result)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Logs a &quot;Pass&quot; status to the Extent report when a test
passes.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l7 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;onTestFailure(ITestResult result)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Logs a &quot;Fail&quot; status and the exception to the Extent report
when a test fails.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l7 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;onTestSkipped(ITestResult result)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Logs a &quot;Skip&quot; status to the Extent report when a test is
skipped.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l7 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;onFinish(ITestContext context)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;: Flushes the Extent report and quits the WebDriver after all tests in
the suite have finished.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 1;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 24pt;&quot;&gt;Page Object Model (POM)&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 24pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 18.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 18pt;&quot;&gt;6.1 LoginPage.java&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 18pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;This class represents the Salesforce login page. It encapsulates the
locators and actions related to the login page.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;Code Implementation&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;package
com.salesforce.pages;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
com.salesforce.common.Utility;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;import
com.salesforce.repository.LocatorsRepository;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;public class
LoginPage {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public void enterUsername(String username)
{&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;Utility.sendKeys(LocatorsRepository.LoginPage.USERNAME, username);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public void enterPassword(String password)
{&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;Utility.sendKeys(LocatorsRepository.LoginPage.PASSWORD, password);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public void clickLogin() {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;Utility.click(LocatorsRepository.LoginPage.LOGIN_BUTTON);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public boolean isErrorMessageDisplayed() {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return
Utility.isElementPresent(LocatorsRepository.LoginPage.ERROR_MESSAGE);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public void loginWithCredentials(String
username, String password) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;enterUsername(username);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;enterPassword(password);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;clickLogin();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;Explanation&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l9 level1 lfo6; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Each method in this class represents an action that
can be performed on the login page (e.g., &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;enterUsername&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;enterPassword&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;clickLogin&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;).&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l9 level1 lfo6; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;The locators for the elements on the login page are
stored in the &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;LocatorsRepository&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt; class.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l9 level1 lfo6; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;6.2.
LocatorsRepository.java&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;This
class stores all the locators for the elements in the application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;package com.salesforce.repository;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;import org.openqa.selenium.By;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;public class LocatorsRepository {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public
static class LoginPage {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
public static final By USERNAME =
By.xpath(&quot;//input[@id=&#39;username&#39;]&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
public static final By PASSWORD =
By.xpath(&quot;//input[@id=&#39;password&#39;]&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
public static final By LOGIN_BUTTON =
By.xpath(&quot;//input[@id=&#39;Login&#39;]&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
public static final By ERROR_MESSAGE = By.xpath(&quot;//div[@id=&#39;error&#39;]&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
public static final By REMEMBER_ME =
By.xpath(&quot;//input[@id=&#39;rememberUn&#39;]&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Explanation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l1 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;This class uses nested static
classes to group locators by page. This makes it easier to find and maintain
locators.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l1 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;All locators are defined as &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;public static final By&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt; variables. This ensures that
they are constants and can be accessed from anywhere in the project.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 18pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;7. Reporting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;7.1. ExtentReportManager.java&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;This
class manages the ExtentReports instance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;package com.salesforce.reporting;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;import com.aventstack.extentreports.ExtentReports;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;import
com.aventstack.extentreports.reporter.ExtentSparkReporter;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;import java.text.SimpleDateFormat;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;import java.util.Date;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;public class ExtentReportManager {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private
static ExtentReports extent;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public
static ExtentReports getInstance() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if
(extent == null) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
String timestamp = new
SimpleDateFormat(&quot;yyyyMMdd_HHmmss&quot;).format(new Date());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
String reportName = &quot;Salesforce-Test-Report-&quot; + timestamp +
&quot;.html&quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
ExtentSparkReporter reporter = new
ExtentSparkReporter(&quot;reports/&quot; + reportName);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
extent = new ExtentReports();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
extent.attachReporter(reporter);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
extent.setSystemInfo(&quot;Created By&quot;, &quot;AutomationCodes by
Ankit Vijay&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
extent.setSystemInfo(&quot;env&quot;, &quot;qa&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
extent.setSystemInfo(&quot;Browser&quot;,
System.getProperty(&quot;browser&quot;, &quot;chrome&quot;));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
return extent;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Explanation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l4 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;getInstance()&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;: This method implements the Singleton pattern to
ensure that only one ExtentReports instance exists.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l4 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;It creates a new &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;ExtentSparkReporter&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt; instance and attaches it to the &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;ExtentReports&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt; instance. The report is saved to the &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;reports&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt; directory with a timestamped filename.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l4 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;It sets system information such
as the environment and browser.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 18pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;8. Test Cases&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;8.1. LoginTest.java&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;This
class contains the test cases for the login page.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;package com.salesforce.tests;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;import com.salesforce.base.BaseTest;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;import com.salesforce.pages.LoginPage;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;import static org.testng.Assert.assertTrue;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;import org.testng.annotations.Test;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;public class LoginTest extends BaseTest {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public
void testInvalidLogin() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;LoginPage loginPage = new LoginPage();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
loginPage.loginWithCredentials(&quot;invalid@user.com&quot;,
&quot;wrongpass&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
assertTrue(loginPage.isErrorMessageDisplayed());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public
void testValidLogin() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoginPage
loginPage = new LoginPage();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
loginPage.loginWithCredentials(&quot;valid@user.com&quot;,
&quot;correctpass&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //
Add validation for successful login&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Explanation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l2 level1 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;testInvalidLogin()&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;: This test case attempts to log in with invalid
credentials and verifies that the error message is displayed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l2 level1 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;testValidLogin()&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;: This test case attempts to log in with valid
credentials. You would need to add validation to confirm a successful login
(e.g., check for the presence of an element on the home page).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 18pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;9. TestNG Configuration (testng.xml)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;This file
configures the TestNG test suite.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;lt;!DOCTYPE suite SYSTEM
&quot;https://testng.org/testng-1.0.dtd&quot;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;lt;suite name=&quot;Salesforce Test Suite&quot;
verbose=&quot;1&quot;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--
1. Define parameters --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;parameter name=&quot;browser&quot; value=&quot;chrome&quot; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;parameter name=&quot;env&quot; value=&quot;A&quot; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--
2. Define listeners --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;listeners&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;listener
class-name=&quot;com.salesforce.listeners.TestListener&quot; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/listeners&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--
3. Define parallel execution --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;test
name=&quot;Parallel Tests&quot;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;classes&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;class name=&quot;com.salesforce.tests.LoginTest&quot; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/classes&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/test&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;lt;/suite&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Explanation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;lt;suite&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;: Defines the test suite.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;lt;parameter&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;: Defines parameters that can be used in the tests
(e.g., browser, environment).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;lt;listeners&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;: Specifies the listeners to use for the test
suite.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;lt;test&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;: Defines a test.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&amp;lt;classes&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;: Specifies the classes to include in the test.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;2&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 18pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;10. Execution Script (run.bat)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;This
batch script simplifies the execution of the tests.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;@echo off&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;REM Navigate to the project directory (if needed)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;REM cd
C:\Users\anvij\eclipse-workspace_Test\pageobject&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;REM Run Maven command to execute tests&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;mvn clean test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;REM Pause to see the output&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Pause&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Explanation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l0 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;mvn clean test&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;: This command tells Maven to clean the project
(remove previously built files) and then run the tests.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: 36pt; mso-list: l0 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;pause&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;: This command pauses the script after the tests
have finished, so you can see the output.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0cm; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;

&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;h2 style=&quot;background: white; mso-background-themecolor: background1;&quot;&gt;&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/8661933084620249166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2025/02/streamlining-salesforce-ui-testing-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/8661933084620249166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/8661933084620249166'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2025/02/streamlining-salesforce-ui-testing-with.html' title='Page Object Model(POM) Automation Testing Framework '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-5409376558808954750</id><published>2025-02-23T11:06:00.005+05:30</published><updated>2025-02-23T11:07:09.426+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Playwright Series"/><title type='text'>Playwright Automation Framework for Salesforce</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 18pt;&quot;&gt;Playwright Automation Framework for Salesforce&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 18.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;This blog will guide you through setting up a Playwright automation
framework using JavaScript and Page Object Model (POM) for Salesforce login and
account creation.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2 style=&quot;background: white; line-height: normal; text-align: left;&quot;&gt;📂 &lt;b&gt;Project Structure&lt;/b&gt;&lt;/h2&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;project-root/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;├── config/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── constants.js&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;├── pages/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;├── LoginPage.js&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;├── HomePage.js&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── AccountsPage.js&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;├── tests/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;│&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;└── salesforce.test.js&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;├──
playwright.config.js&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;└──
package.json&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 style=&quot;background: white; line-height: normal; margin-bottom: 0cm; text-align: left;&quot;&gt;⚙ Configuration Files&lt;/h2&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;config/constants.js&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;module.exports
= {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;SALESFORCE: {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LOGIN_URL: &#39;https://login.salesforce.com/&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;USERNAME: &#39;your_username&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;PASSWORD: &#39;your_password&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ACCOUNT_NAME: &#39;Test Account&#39;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;};&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;playwright.config.js&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;const {
defineConfig } = require(&#39;@playwright/test&#39;);&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;module.exports
= defineConfig({&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;timeout: 30000,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;retries: 1,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;reporter: &#39;list&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;use: {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;headless: false,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;viewport: { width: 1280, height: 720 },&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;actionTimeout: 10000,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ignoreHTTPSErrors: true,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;screenshot: &#39;only-on-failure&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;video: &#39;retain-on-failure&#39;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;},&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;projects: [&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;name: &#39;chromium&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;use: { browserName: &#39;chromium&#39; }&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;]&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;});&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;h2 style=&quot;background: white; line-height: normal; text-align: left;&quot;&gt;🏗 Page Objects (POM)&lt;/h2&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;pages/LoginPage.js&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;class
LoginPage {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;constructor(page) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.page = page;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.usernameInput = &#39;#username&#39;;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.passwordInput = &#39;#password&#39;;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.loginButton = &#39;#Login&#39;;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;async navigateToLogin() {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await
this.page.goto(process.env.SALESFORCE_LOGIN_URL);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;async login(username, password) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await this.page.fill(this.usernameInput,
username);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await this.page.fill(this.passwordInput,
password);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await this.page.click(this.loginButton);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await
this.page.waitForLoadState(&#39;networkidle&#39;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;module.exports
= LoginPage;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;pages/HomePage.js&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;class HomePage
{&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;constructor(page) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.page = page;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.appLauncher =
&#39;button[aria-label=&quot;App Launcher&quot;]&#39;;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;this.viewAllLink = &#39;button[aria-label=&quot;View All
Applications&quot;]&#39;;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.salesLink =
&#39;a[data-label=&quot;Sales&quot;]&#39;;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;async navigateToSales() {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await this.page.click(this.appLauncher);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await this.page.click(this.viewAllLink);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await this.page.click(this.salesLink);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await
this.page.waitForLoadState(&#39;networkidle&#39;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;module.exports
= HomePage;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;pages/AccountsPage.js&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;class
AccountsPage {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;constructor(page) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.page = page;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.newButton =
&#39;div[title=&quot;New&quot;]&#39;;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.accountNameInput =
&#39;label:has-text(&quot;Account Name&quot;) + div input&#39;;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.saveButton =
&#39;button[title=&quot;Save&quot;]&#39;;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;async createNewAccount(accountName) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await this.page.click(this.newButton);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await this.page.fill(this.accountNameInput,
accountName);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await this.page.click(this.saveButton);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await
this.page.waitForLoadState(&#39;networkidle&#39;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;async getToastMessage() {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return
this.page.innerText(&#39;span[data-aura-class=&quot;forceActionsText&quot;]&#39;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;module.exports
= AccountsPage;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;h2 style=&quot;background: white; line-height: normal; text-align: left;&quot;&gt;🧪 Test Implementation&lt;/h2&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;tests/salesforce.test.js&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;const { test,
expect } = require(&#39;@playwright/test&#39;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;const {
SALESFORCE } = require(&#39;../config/constants&#39;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;const
LoginPage = require(&#39;../pages/LoginPage&#39;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;const HomePage
= require(&#39;../pages/HomePage&#39;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;const
AccountsPage = require(&#39;../pages/AccountsPage&#39;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;test.describe(&#39;Salesforce
Account Creation&#39;, () =&amp;gt; {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;let page;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;let loginPage;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;let homePage;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;let accountsPage;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;test.beforeAll(async ({ browser }) =&amp;gt; {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;page = await browser.newPage();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;loginPage = new LoginPage(page);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;homePage = new HomePage(page);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;accountsPage = new AccountsPage(page);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;});&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;test.beforeEach(async () =&amp;gt; {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await
loginPage.navigateToLogin();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await loginPage.login(SALESFORCE.USERNAME,
SALESFORCE.PASSWORD);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;});&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;test(&#39;Create new account in Salesforce&#39;,
async () =&amp;gt; {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await homePage.navigateToSales();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await
accountsPage.createNewAccount(SALESFORCE.ACCOUNT_NAME);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;const toastMessage = await
accountsPage.getToastMessage();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;expect(toastMessage).toContain(&#39;was
created&#39;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;});&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;test.afterAll(async () =&amp;gt; {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await page.close();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;});&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;});&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;h2 style=&quot;background: white; line-height: normal; text-align: left;&quot;&gt;🛠 Setup Instructions&lt;/h2&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Install dependencies&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;npm init -y&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;npm install
@playwright/test&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Set up environment variables in &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;package.json&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&quot;scripts&quot;: {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&quot;test&quot;:
&quot;SALESFORCE_LOGIN_URL=https://login.salesforce.com npx playwright
test&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Run tests&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;npm test&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;h1 style=&quot;background: white; line-height: normal; text-align: left;&quot;&gt;🔥 Important Notes:&lt;/h1&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l1 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Replace placeholder credentials in &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;constants.js&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt; with actual Salesforce credentials.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l1 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Adjust selectors according to your Salesforce
instance&#39;s DOM structure.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l1 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Handle 2FA/MFA if required by your organization.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l1 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Add proper waits and error handling based on
network speed and Salesforce responsiveness.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3 style=&quot;background: white; line-height: normal; text-align: left;&quot;&gt;🚀 Consider Adding:&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Screenshot on failure&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Retry mechanisms&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Test data cleanup&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;Environment-specific
configurations&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;This implementation provides a scalable POM structure that you can
extend for other Salesforce objects and functionalities.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; mso-background-themecolor: background1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/5409376558808954750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2025/02/playwright-automation-framework-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/5409376558808954750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/5409376558808954750'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2025/02/playwright-automation-framework-for.html' title='Playwright Automation Framework for Salesforce'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-1753504723158038495</id><published>2025-02-22T18:51:00.008+05:30</published><updated>2025-03-18T19:23:59.125+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Playwright Series"/><title type='text'>Playwright with JavaScript Commands -Part3</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Advanced Playwright concepts
with detailed explanations and syntax examples:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;19. Debugging Tools&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Playwright Inspector&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;npx playwright test –debug&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; margin-bottom: 3pt; mso-background-themecolor: background1; mso-list: l3 level1 lfo1; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;What it does&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;: Launches a
     visual debugger that lets you:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;circle&quot;&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l3 level2 lfo1; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Pause/resume
      test execution&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l3 level2 lfo1; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Step through
      commands one-by-one&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l3 level2 lfo1; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Inspect
      elements, network requests, and console logs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l3 level1 lfo1; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Usage&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;: Run this in
     your terminal to debug specific tests&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Trace Viewer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;// playwright.config.js&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;module.exports = {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;use: {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;trace: &#39;on-first-retry&#39;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;};&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l9 level1 lfo2; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;What it does&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;: Records test
     execution data (screenshots, network logs)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; margin-bottom: 3pt; mso-background-themecolor: background1; mso-list: l9 level1 lfo2; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Syntax
     explanation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;circle&quot;&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l9 level2 lfo2; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;trace:
      &#39;on-first-retry&#39;: Records only when tests fail and retry&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l9 level2 lfo2; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Other
      options:&amp;nbsp;&#39;on&#39;&amp;nbsp;(always),&amp;nbsp;&#39;off&#39;&amp;nbsp;(never)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; margin-bottom: 3pt; mso-background-themecolor: background1; mso-list: l9 level1 lfo2; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;View traces&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;npx playwright show-trace
trace.zip&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;20. Custom Reporters&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;HTML Reporter Configuration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;// playwright.config.js&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;module.exports = {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;reporter: [&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[&#39;html&#39;, { outputFolder: &#39;my-reports&#39;
}]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;};&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l8 level1 lfo3; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;What it does&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;: Generates
     visual HTML test reports&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; margin-bottom: 3pt; mso-background-themecolor: background1; mso-list: l8 level1 lfo3; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Key files&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;circle&quot;&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l8 level2 lfo3; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;index.html:
      Test overview&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l8 level2 lfo3; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Individual
      test traces and screenshots&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;/ul&gt;
&lt;/ul&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;21. CI/CD Integration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;GitHub Actions Example&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;yaml&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;name: Playwright Tests&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;on: [push]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;jobs:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;test:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;runs-on: ubuntu-latest&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;steps:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;- uses: actions/checkout@v4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;- uses: actions/setup-node@v3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;with: { node-version: 18 }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;- run: npm ci&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;- run: npx playwright
install --with-deps&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;- run: npx playwright test&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; margin-bottom: 3pt; mso-background-themecolor: background1; mso-list: l4 level1 lfo4; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Step breakdown&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 72pt; mso-background-themecolor: background1; mso-list: l4 level2 lfo4; mso-margin-bottom-alt: auto; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;1.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Check out repository code&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 72pt; mso-background-themecolor: background1; mso-list: l4 level2 lfo4; mso-margin-bottom-alt: auto; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;2.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Set up Node.js environment&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 72pt; mso-background-themecolor: background1; mso-list: l4 level2 lfo4; mso-margin-bottom-alt: auto; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;3.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Install project dependencies&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 72pt; mso-background-themecolor: background1; mso-list: l4 level2 lfo4; mso-margin-bottom-alt: auto; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;4.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Install Playwright browsers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 72pt; mso-background-themecolor: background1; mso-list: l4 level2 lfo4; mso-margin-bottom-alt: auto; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;5.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Run tests&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;22. Page Object Model (POM)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Implementation Example&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;// models/LoginPage.js&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;class LoginPage {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;constructor(page) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.page = page;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.username = page.locator(&#39;#username&#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.password = page.locator(&#39;#password&#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;async login(user, pass) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await this.username.fill(user);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await this.password.fill(pass);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await this.page.click(&#39;text=Submit&#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;// test.spec.js&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;test(&#39;Login test&#39;, async ({ page }) =&amp;gt; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;const loginPage = new LoginPage(page);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;await loginPage.login(&#39;admin&#39;, &#39;password&#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;});&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; margin-bottom: 3pt; mso-background-themecolor: background1; mso-list: l11 level1 lfo5; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Benefits&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;circle&quot;&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l11 level2 lfo5; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Reusable
      components&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l11 level2 lfo5; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Cleaner test
      files&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l11 level2 lfo5; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Easier
      maintenance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;/ul&gt;
&lt;/ul&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;23. Visual Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Screenshot Comparison&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;await expect(page).toHaveScreenshot(&#39;homepage.png&#39;);&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l12 level1 lfo6; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;What it does&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;: Compares
     current page with baseline screenshot&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l12 level1 lfo6; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;First run&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;: Creates
     reference screenshot&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l12 level1 lfo6; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Subsequent runs&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;: Detects
     visual differences&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; margin-bottom: 3pt; mso-background-themecolor: background1; mso-list: l12 level1 lfo6; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Configure in
     playwright.config.js&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;expect: {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;toHaveScreenshot: { &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;maxDiffPixels: 1000, //
Allowable differences&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;24. Authentication Strategies&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Reuse Login State&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;// Save authentication state&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;const storage = await context.storageState({ path: &#39;auth.json&#39; });&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;// Reuse in new tests&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;const context = await browser.newContext({ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;storageState: &#39;auth.json&#39; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;});&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l0 level1 lfo7; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;How it works&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;: Stores
     cookies/localStorage&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l0 level1 lfo7; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Benefits&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;: Avoid
     repeated login steps&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;25. Parallel Execution&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;// playwright.config.js&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;module.exports = {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;workers: 4 // Number of parallel
threads&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;};&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; margin-bottom: 3pt; mso-background-themecolor: background1; mso-list: l5 level1 lfo8; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;CLI override&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;npx playwright test --workers
4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l5 level1 lfo8; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Best practice&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;: Use 50-75% of
     available CPU cores&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;26. Environment Variables&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Using .env Files&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;// .env&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;BASE_URL=https://staging.example.com&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;// test.spec.js&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;require(&#39;dotenv&#39;).config();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;await page.goto(process.env.BASE_URL);&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; margin-bottom: 3pt; mso-background-themecolor: background1; mso-list: l6 level1 lfo9; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Setup&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;npm install dotenv&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;27. Mocking Time&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;await page.addInitScript(() =&amp;gt; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;Date.now = () =&amp;gt; new Date(&#39;2024-01-01&#39;).getTime();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;});&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l2 level1 lfo10; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;What it does&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;: Overrides
     system time for tests&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; margin-bottom: 3pt; mso-background-themecolor: background1; mso-list: l2 level1 lfo10; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Use cases&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;circle&quot;&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l2 level2 lfo10; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Testing
      time-sensitive features&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l2 level2 lfo10; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Bypassing
      expiration dates&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;/ul&gt;
&lt;/ul&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;28. Error Handling&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;try {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;await page.click(&#39;button#submit&#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;} catch (error) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;console.log(&#39;Submit failed:&#39;,
error);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;await page.screenshot(&#39;error.png&#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
 &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; margin-bottom: 3pt; mso-background-themecolor: background1; mso-list: l1 level1 lfo11; mso-themecolor: text1; tab-stops: list 36.0pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Key concepts&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;circle&quot;&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l1 level2 lfo11; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;try: Attempt
      to execute code&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l1 level2 lfo11; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;catch: Handle
      errors gracefully&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
  &lt;li class=&quot;MsoNormal&quot; style=&quot;background: white; color: black; line-height: normal; mso-background-themecolor: background1; mso-list: l1 level2 lfo11; mso-margin-bottom-alt: auto; mso-themecolor: text1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span color=&quot;windowtext&quot;&gt;Always include
      cleanup steps in error handling&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;/ul&gt;
&lt;/ul&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Key Javascript Concepts&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-background-themecolor: background1; mso-list: l7 level1 lfo12; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;1.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;ES6 Classes&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&amp;nbsp;(Used in Page
Objects):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;class LoginPage {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;constructor(page) { ... }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-background-themecolor: background1; mso-list: l7 level1 lfo12; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;2.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Modules&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;// Export&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;module.exports = { LoginPage };&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;// Import&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;const { LoginPage } = require(&#39;./models/LoginPage&#39;);&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-background-themecolor: background1; mso-list: l7 level1 lfo12; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;3.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Async/Await&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;async function test() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;await page.click();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 0cm 36pt; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Where to Go Next&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l10 level1 lfo13; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;1.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Start with basic test
scenarios&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l10 level1 lfo13; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;2.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Gradually incorporate
advanced features&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l10 level1 lfo13; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;3.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Explore Playwright&#39;s&amp;nbsp;&lt;a href=&quot;https://playwright.dev/docs/intro&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: #0d0d0d; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;official
documentation&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/1753504723158038495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2025/02/playwright-with-javascript-commands_46.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/1753504723158038495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/1753504723158038495'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2025/02/playwright-with-javascript-commands_46.html' title='Playwright with JavaScript Commands -Part3'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-5818684356074983597</id><published>2025-02-22T18:40:00.001+05:30</published><updated>2025-02-22T18:40:14.641+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Playwright Series"/><title type='text'>Playwright with JavaScript Commands -Part2</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;9. Network Interception&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Block Resources Syntax&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;await page.route(&#39;**/*.{png,jpg,css}&#39;, route =&amp;gt; route.abort());&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l2 level1 lfo1; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;page.route()&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;: Intercept network requests&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l2 level1 lfo1; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;**/*.{png,jpg,css}&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;: Pattern to match URLs
ending with these extensions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l2 level1 lfo1; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;route.abort()&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;: Blocks the request from
proceeding&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Mock API Response Example&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;await page.route(&#39;**/api/user&#39;, async route =&amp;gt; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;await route.fulfill({&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;status: 200,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;contentType: &#39;application/json&#39;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;body: JSON.stringify({ name: &#39;Mock
User&#39; }),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;});&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;});&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l10 level1 lfo2; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;route.fulfill()&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;: Sends a custom response&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l10 level1 lfo2; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Useful for testing edge cases without real API
dependencies&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;10. Handling Frames&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Frame Access Syntax&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;const frame = page.frame({ name: &#39;login-frame&#39; });&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l6 level1 lfo3; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;page.frame()&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;: Finds frame by name/URL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l6 level1 lfo3; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Frames are separate HTML documents embedded in the
page&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;11. File Operations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Upload Syntax&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;await page.setInputFiles(&#39;input[type=&quot;file&quot;]&#39;, &#39;path/to/file.txt&#39;);&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l0 level1 lfo4; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;setInputFiles()&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;: Simulates file selection
dialog&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l0 level1 lfo4; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Can handle multiple files:&amp;nbsp;[&#39;file1.txt&#39;,
&#39;file2.txt&#39;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;12. Multiple Tabs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Popup Handling Example&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;const [popup] = await Promise.all([&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;page.waitForEvent(&#39;popup&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;page.click(&#39;a[target=&quot;_blank&quot;]&#39;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;]);&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l5 level1 lfo5; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;waitForEvent()&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;: Listens for new browser
tab/window&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l5 level1 lfo5; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Promise.all&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;: Handles concurrent actions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;13. Test Runner&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Test Structure&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;test(&#39;Login Test&#39;, async ({ page }) =&amp;gt; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;// Test steps&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;});&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l3 level1 lfo6; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;test&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;: Defines a test case&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l3 level1 lfo6; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;expect&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;: Assertion library for
validations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;14. Assertions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Element Visibility Check&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;await expect(page.locator(&#39;.status&#39;)).toBeVisible();&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l7 level1 lfo7; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Auto-waits for element to appear&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l7 level1 lfo7; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Other assertions:&amp;nbsp;toBeChecked(),&amp;nbsp;toHaveValue()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;15. Cookies&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Cookie Setup&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;await context.addCookies([{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;name: &#39;session&#39;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;value: &#39;123&#39;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;url: &#39;https://example.com&#39;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;}]);&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l9 level1 lfo8; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Cookies are set at context level&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l9 level1 lfo8; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Persist across pages in same context&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;16. Device Emulation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Mobile Setup&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;const context = await browser.newContext({&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;...devices[&#39;iPhone 13&#39;],&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;locale: &#39;en-US&#39;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;});&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l1 level1 lfo9; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;devices&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;: Pre-configured mobile
profiles&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l1 level1 lfo9; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Emulates screen size, user agent, touch support&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;17. Advanced Context&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Proxy Configuration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;const browser = await chromium.launch({&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;proxy: { server: &#39;http://myproxy:3128&#39;
}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;});&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l8 level1 lfo10; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Routes all browser traffic through proxy&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-list: l8 level1 lfo10; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Can add authentication:&amp;nbsp;username: &#39;user&#39;,
password: &#39;pass&#39;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;18. Best Practices&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Page Object Model Example&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;// login-page.js&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;export class LoginPage {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;constructor(page) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.page = page;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;this.username = page.locator(&#39;#username&#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;async login(user) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;await this.username.fill(user);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;

&lt;hr align=&quot;center&quot; noshade=&quot;&quot; size=&quot;1&quot; style=&quot;color: #404040;&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Key Javascript Concepts&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; mso-background-themecolor: background1; mso-list: l4 level1 lfo11; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;1.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Async/Await&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;: Used for all Playwright
operations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;async function test() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;await page.click();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; mso-background-themecolor: background1; mso-list: l4 level1 lfo11; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;2.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Destructuring&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;const { test, expect } = require(&#39;@playwright/test&#39;);&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; mso-background-themecolor: background1; mso-list: l4 level1 lfo11; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;3.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;Arrow Functions&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36.0pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;page.route(&#39;**/*&#39;, (route) =&amp;gt; route.continue());&lt;/span&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: #0d0d0d; font-size: 13.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #0D0D0D; mso-style-textfill-fill-colortransforms: &amp;quot;lumm=95000 lumo=5000&amp;quot;; mso-style-textfill-fill-themecolor: text1; mso-themecolor: text1; mso-themetint: 242;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/5818684356074983597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2025/02/playwright-with-javascript-commands_22.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/5818684356074983597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/5818684356074983597'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2025/02/playwright-with-javascript-commands_22.html' title='Playwright with JavaScript Commands -Part2'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-8581724216555508913</id><published>2025-02-22T18:24:00.003+05:30</published><updated>2025-03-18T19:24:50.716+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Playwright Series"/><title type='text'>Playwright with JavaScript Commands -Part1</title><content type='html'>&lt;p style=&quot;color: #404040; font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Noto Sans&amp;quot;, Ubuntu, Cantarell, &amp;quot;Helvetica Neue&amp;quot;, Oxygen, &amp;quot;Open Sans&amp;quot;, sans-serif; font-size: 16.002px; line-height: var(--ds-md-line-height); margin: calc(var(--ds-md-zoom)*12px)0;&quot;&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3; text-indent: 36pt;&quot;&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;1. Browser &amp;amp; Context
Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Import Statement&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;const { chromium
} = require(&#39;playwright&#39;);&lt;/span&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l6 level1 lfo1; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;require(&#39;playwright&#39;): Imports the Playwright
library&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l6 level1 lfo1; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;{ chromium }: Destructures the Chromium browser
object from the library&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l6 level1 lfo1; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;This is required to use any Playwright browser
functions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Launch Browser&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;const browser = await
chromium.launch({ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;headless: false,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;slowMo: 100,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;});&lt;/span&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l12 level1 lfo2; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;chromium.launch(): Starts a Chromium browser
instance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l12 level1 lfo2; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;await: Pauses execution until browser launches
(required for async operations)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 3.0pt; margin-left: 36.0pt; margin-right: 0cm; margin-top: 0cm; margin: 0cm 0cm 3pt 36pt; mso-background-themecolor: background1; mso-list: l12 level1 lfo2; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Options:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 72pt; mso-background-themecolor: background1; mso-list: l12 level2 lfo2; mso-margin-bottom-alt: auto; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;headless: false: Makes browser visible (default
is&amp;nbsp;true/invisible)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 72pt; mso-background-themecolor: background1; mso-list: l12 level2 lfo2; mso-margin-bottom-alt: auto; tab-stops: list 72.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;slowMo: 100: Adds 100ms delay between actions
(helps see what&#39;s happening)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;1&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;2. Create Browser Context&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;const context = await
browser.newContext();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;const page = await
context.newPage();&lt;/span&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l4 level1 lfo3; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;browser.newContext(): Creates an isolated
environment (like a private browsing session)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l4 level1 lfo3; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;context.newPage(): Opens a new tab/page in the
browser&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l4 level1 lfo3; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Each context can have multiple pages (tabs)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;1&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;3. Close Browser&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;await browser.close();&lt;/span&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l7 level1 lfo4; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Closes the browser and all associated
pages/contexts&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l7 level1 lfo4; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Always include this at the end of your scripts to
clean up resources&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;1&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;4. Page Navigation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Go to URL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;await page.goto(&#39;https://example.com&#39;);&lt;/span&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l9 level1 lfo5; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;goto(): Navigates to the specified URL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l9 level1 lfo5; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Similar to typing an address in the browser&#39;s
address bar&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;1&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;5. Element Interaction&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Click Element&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;await page.click(&#39;button#submit&#39;);&lt;/span&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l10 level1 lfo6; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;click(): Simulates a mouse click&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l10 level1 lfo6; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&#39;button#submit&#39;: CSS selector meaning &quot;button
element with id=&#39;submit&#39;&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Type Text&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;await page.fill(&#39;#username&#39;,
&#39;john_doe&#39;);&lt;/span&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l11 level1 lfo7; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;fill(): Types text into an input field&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l11 level1 lfo7; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;First argument is selector, second is text to input&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l11 level1 lfo7; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Automatically clears existing content&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;1&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;6. Element Selectors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;CSS Selector Example&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;await page.click(&#39;.button-primary&#39;);&lt;/span&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l3 level1 lfo8; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;.button-primary: Selects elements with
class=&quot;button-primary&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l3 level1 lfo8; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Similar to how CSS styles target elements&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Text Selector&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;await page.click(&#39;text=Login&#39;);&lt;/span&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l2 level1 lfo9; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;text=Login: Finds elements containing exact text
&quot;Login&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l2 level1 lfo9; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Case-insensitive by default&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;1&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;7. Waiting for Elements&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 4;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Explicit Wait&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;await page.waitForSelector(&#39;.result&#39;);&lt;/span&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l0 level1 lfo10; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Pauses execution until element matching&amp;nbsp;.result&amp;nbsp;appears&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l0 level1 lfo10; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Prevents errors from interacting with elements that
haven&#39;t loaded&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;1&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;8. Handling Alerts&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;page.on(&#39;dialog&#39;,
async dialog =&amp;gt; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;await dialog.accept();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;});&lt;/span&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l1 level1 lfo11; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;page.on(&#39;dialog&#39;): Listens for popup dialogs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l1 level1 lfo11; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;dialog.accept(): Clicks &quot;OK&quot; in
confirmation dialogs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l1 level1 lfo11; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Must be set up before the dialog appears&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;1&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;9. Screenshots&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;await page.screenshot({
path: &#39;screenshot.png&#39; });&lt;/span&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l13 level1 lfo12; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Takes a picture of the current page view&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l13 level1 lfo12; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;path: Specifies where to save the image file&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l13 level1 lfo12; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;fullPage: true&amp;nbsp;option captures entire
scrollable page&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;1&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;10. Closing Resources&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; word-break: break-all;&quot;&gt;&lt;span style=&quot;background: aqua; color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-highlight: aqua; mso-themecolor: text1;&quot;&gt;await page.close();&lt;/span&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-margin-bottom-alt: auto;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l5 level1 lfo13; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Closes the current tab&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l5 level1 lfo13; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Wingdings; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;Ø&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Recommended to close pages/contexts when you&#39;re
done with them&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0cm; mso-background-themecolor: background1; text-align: center;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;

&lt;hr align=&quot;center&quot; size=&quot;1&quot; width=&quot;100%&quot; /&gt;

&lt;/span&gt;&lt;/div&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; mso-background-themecolor: background1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Key JavaScript Concepts in These Examples:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l8 level1 lfo14; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;1.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;async/await:
Handles asynchronous operations (like network requests)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l8 level1 lfo14; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;2.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;const: Declares
variables that won&#39;t be reassigned&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l8 level1 lfo14; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;3.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Arrow
functions&amp;nbsp;() =&amp;gt; {}: Compact function syntax&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l8 level1 lfo14; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;4.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Objects&amp;nbsp;{
key: value }: Used for passing options&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-left: 36pt; mso-background-themecolor: background1; mso-list: l8 level1 lfo14; mso-margin-bottom-alt: auto; tab-stops: list 36.0pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;5.&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-themecolor: text1;&quot;&gt;Promises:
Underlying mechanism for most Playwright operations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; mso-background-themecolor: background1;&quot;&gt;&lt;span style=&quot;color: black; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/8581724216555508913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2025/02/playwright-with-javascript-commands.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/8581724216555508913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/8581724216555508913'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2025/02/playwright-with-javascript-commands.html' title='Playwright with JavaScript Commands -Part1'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3378166049229928450.post-6112320978356222620</id><published>2024-08-24T19:29:00.008+05:30</published><updated>2024-08-24T20:14:13.230+05:30</updated><title type='text'></title><content type='html'>&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-family: var(--font-fk-grotesk); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;Why Choose TestNG Over JUnit?&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-family: var(--font-fk-grotesk); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; margin-top: 0px; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;When choosing a unit testing framework for Java, both TestNG and JUnit are prominent options. Each framework has its strengths, but TestNG often stands out for its advanced features. This comparison will help you understand why TestNG might be the better choice for your testing needs.&lt;/span&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-family: var(--font-fk-grotesk); font-weight: 500; line-height: 1.75rem; margin: 1.5rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;Key Differences Between TestNG and JUnit&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;

&lt;table class=&quot;border-borderMain dark:border-borderMainDark my-[1em] w-full table-auto border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border-collapse: collapse; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; color: oklch(0.304 0.04 213.681); font-family: __fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 0.875em; line-height: 1.71429; margin-bottom: 1em; margin-top: 1em; scrollbar-color: auto; scrollbar-width: auto; table-layout: auto; text-indent: 0px; width: 674.67px;&quot;&gt;&lt;thead class=&quot;bg-offset dark:bg-offsetDark&quot; style=&quot;--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(var(--background-color-200)/var(--tw-bg-opacity)); border-bottom-color: var(--tw-prose-th-borders); border-image: initial; border-left-color: rgb(229, 231, 235); border-right-color: rgb(229, 231, 235); border-style: solid; border-top-color: rgb(229, 231, 235); border-width: 0px 0px 1px; box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;th class=&quot;px-sm py-sm whitespace-nowrap&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-headings); font-weight: 550; padding-inline: 0px 0.571429em; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-wrap: nowrap; vertical-align: bottom;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Feature&lt;/span&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;px-sm py-sm whitespace-nowrap&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-headings); font-weight: 550; padding-inline: 0.571429em; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-wrap: nowrap; vertical-align: bottom;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;JUnit&lt;/span&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;px-sm py-sm whitespace-nowrap&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-headings); font-weight: 550; padding-inline: 0.571429em 0px; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-wrap: nowrap; vertical-align: bottom;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;TestNG&lt;/span&gt;&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-bottom-color: var(--tw-prose-td-borders); border-image: initial; border-left-color: rgb(229, 231, 235); border-right-color: rgb(229, 231, 235); border-style: solid; border-top-color: rgb(229, 231, 235); border-width: 0px 0px 1px; box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0px 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-bold); scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Annotations&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Basic annotations:&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-code); font-family: var(--font-berkeley-mono),ui-monospace,SFMono-Regular,monospace; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@Test&lt;/code&gt;,&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-code); font-family: var(--font-berkeley-mono),ui-monospace,SFMono-Regular,monospace; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@Before&lt;/code&gt;,&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-code); font-family: var(--font-berkeley-mono),ui-monospace,SFMono-Regular,monospace; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@After&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em 0px; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Advanced annotations:&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-code); font-family: var(--font-berkeley-mono),ui-monospace,SFMono-Regular,monospace; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@BeforeGroups&lt;/code&gt;,&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-code); font-family: var(--font-berkeley-mono),ui-monospace,SFMono-Regular,monospace; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@AfterGroups&lt;/code&gt;,&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-code); font-family: var(--font-berkeley-mono),ui-monospace,SFMono-Regular,monospace; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@DataProvider&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-bottom-color: var(--tw-prose-td-borders); border-image: initial; border-left-color: rgb(229, 231, 235); border-right-color: rgb(229, 231, 235); border-style: solid; border-top-color: rgb(229, 231, 235); border-width: 0px 0px 1px; box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0px 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-bold); scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Parallel Execution&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;No parallel test execution support&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em 0px; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Supports parallel test execution&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-bottom-color: var(--tw-prose-td-borders); border-image: initial; border-left-color: rgb(229, 231, 235); border-right-color: rgb(229, 231, 235); border-style: solid; border-top-color: rgb(229, 231, 235); border-width: 0px 0px 1px; box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0px 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-bold); scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Grouping Tests&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;No built-in support for grouping tests&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em 0px; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Allows grouping of tests&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-bottom-color: var(--tw-prose-td-borders); border-image: initial; border-left-color: rgb(229, 231, 235); border-right-color: rgb(229, 231, 235); border-style: solid; border-top-color: rgb(229, 231, 235); border-width: 0px 0px 1px; box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0px 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-bold); scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Dependency Testing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;No support for dependent tests&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em 0px; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Supports dependency testing&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-bottom-color: var(--tw-prose-td-borders); border-image: initial; border-left-color: rgb(229, 231, 235); border-right-color: rgb(229, 231, 235); border-style: solid; border-top-color: rgb(229, 231, 235); border-width: 0px 0px 1px; box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0px 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-bold); scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Test Suite Configuration&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Uses&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-code); font-family: var(--font-berkeley-mono),ui-monospace,SFMono-Regular,monospace; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@RunWith&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-code); font-family: var(--font-berkeley-mono),ui-monospace,SFMono-Regular,monospace; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@Suite&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em 0px; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;XML configuration for test suites&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-bottom-color: var(--tw-prose-td-borders); border-image: initial; border-left-color: rgb(229, 231, 235); border-right-color: rgb(229, 231, 235); border-style: solid; border-top-color: rgb(229, 231, 235); border-width: 0px 0px 1px; box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0px 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-bold); scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Reporting&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Basic reporting capabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em 0px; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Built-in HTML reporting&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-bottom-color: var(--tw-prose-td-borders); border-image: initial; border-left-color: rgb(229, 231, 235); border-right-color: rgb(229, 231, 235); border-style: solid; border-top-color: rgb(229, 231, 235); border-width: 0px; box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0px 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: var(--tw-prose-bold); scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Ease of Use&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;More setup required for complex tests&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td class=&quot;px-sm border-borderMain dark:border-borderMainDark min-w-[48px] border&quot; style=&quot;--tw-border-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: oklch(var(--border-color-100)/var(--tw-border-opacity)); border-image: initial; border-style: solid; border-width: 1px; box-sizing: border-box; min-width: 48px; padding-inline: 0.571429em 0px; padding: 0.571429em 8px; scrollbar-color: auto; scrollbar-width: auto; vertical-align: baseline;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Easier setup and configuration&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Detailed Comparison with Examples&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-family: var(--font-fk-grotesk); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-family: inherit; font-size: small; margin-top: 0px; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;1. Annotation&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-family: var(--font-fk-grotesk); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;div&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-family: inherit; font-size: small; margin-top: 0px; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;ul class=&quot;list-disc pl-8&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); list-style-image: initial; list-style-position: initial; margin: 0px; padding-inline-start: 1.625em; padding: 0px 0px 0px 2rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;li index=&quot;0&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em; padding-inline-start: 0.375em; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;b&gt;JUnit Example:&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;div class=&quot;sc-gEvDqW bMrXuF&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0.25rem; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); padding: 0.25rem 0.5rem 0.25rem 0.25rem; position: relative; scrollbar-color: auto; scrollbar-width: auto; white-space: pre;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 3px; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4d4d4c; display: flex; line-height: 1.42857; overflow-x: auto; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; line-height: 1.66667; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-wrap: wrap; width: 662.691px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;org&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;junit&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4271ae; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;Before&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;org&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;junit&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4271ae; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;Test&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4271ae; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;JUnitExample&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token annotation punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@Before&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;setUp&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8e908c; font-style: italic; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;// Code to execute before each test&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token annotation punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@Test&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;testMethod&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8e908c; font-style: italic; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;// Test code&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-family: var(--font-fk-grotesk); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-family: inherit; font-size: small; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;ul class=&quot;list-disc pl-8&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; list-style-image: initial; list-style-position: initial; margin: 0px; padding-inline-start: 1.625em; padding: 0px 0px 0px 2rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;li index=&quot;0&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em; padding-inline-start: 0.375em; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-family: inherit; font-size: small; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;TestNG Example:&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-family: var(--font-fk-grotesk); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;div class=&quot;sc-gEvDqW bMrXuF&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0.25rem; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; padding: 0.25rem 0.5rem 0.25rem 0.25rem; position: relative; scrollbar-color: auto; scrollbar-width: auto; white-space: pre;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 3px; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4d4d4c; display: flex; font-family: inherit; font-size: small; line-height: 1.42857; overflow-x: auto; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; line-height: 1.66667; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-wrap: wrap; width: 662.691px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;org&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;testng&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;annotations&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4271ae; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;BeforeMethod&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;org&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;testng&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;annotations&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4271ae; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;Test&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4271ae; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;TestNGExample&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token annotation punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@BeforeMethod&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;setUp&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8e908c; font-style: italic; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;// Code to execute before each test&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token annotation punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@Test&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;testMethod&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8e908c; font-style: italic; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;// Test code&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;Advantage:&lt;/span&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;nbsp;TestNG offers a wider range of annotations, providing more granular control over test execution.&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mt-md block&quot; face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; display: block; margin-top: 16px; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;2. Parallel Execution&lt;/span&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul class=&quot;list-disc pl-8&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; list-style-image: initial; list-style-position: initial; margin: 0px; padding-inline-start: 1.625em; padding: 0px 0px 0px 2rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;li index=&quot;0&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em; padding-inline-start: 0.375em; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span color=&quot;var(--tw-prose-bold)&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;JUnit&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;nbsp;lacks support for parallel test execution, which can be a limitation for large test suites.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li index=&quot;1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em; padding-inline-start: 0.375em; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;TestNG Example for Parallel Execution:&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;XML&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;div class=&quot;sc-gEvDqW bMrXuF&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0.25rem; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; padding: 0.25rem 0.5rem 0.25rem 0.25rem; position: relative; scrollbar-color: auto; scrollbar-width: auto; white-space: pre;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 3px; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4d4d4c; display: flex; font-family: inherit; font-size: small; line-height: 1.42857; overflow-x: auto; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; line-height: 1.66667; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-wrap: wrap; width: 662.691px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;suite&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #eab700; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation attr-equals&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token attr-value&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;ParallelTests&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #eab700; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;parallel&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation attr-equals&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token attr-value&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;methods&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #eab700; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;thread-count&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation attr-equals&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token attr-value&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #eab700; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation attr-equals&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token attr-value&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;Test1&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;classes&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #eab700; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation attr-equals&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token attr-value&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;com.example.TestClass1&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;classes&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #eab700; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation attr-equals&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token attr-value&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;Test2&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;classes&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #eab700; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation attr-equals&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token attr-value&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;com.example.TestClass2&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;classes&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;suite&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-family: inherit; font-size: small; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-family: inherit; font-size: small; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;Advantage:&lt;/span&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;nbsp;TestNG supports parallel test execution, reducing the overall execution time for large test suites.&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mt-md block&quot; face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; display: block; margin-top: 16px; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;3. Grouping Tests&lt;/span&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul class=&quot;list-disc pl-8&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; list-style-image: initial; list-style-position: initial; margin: 0px; padding-inline-start: 1.625em; padding: 0px 0px 0px 2rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;li index=&quot;0&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em; padding-inline-start: 0.375em; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span color=&quot;var(--tw-prose-bold)&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;JUnit&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;nbsp;does not support grouping tests natively.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li index=&quot;1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em; padding-inline-start: 0.375em; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;TestNG Example for Grouping:&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;div class=&quot;sc-gEvDqW bMrXuF&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0.25rem; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; padding: 0.25rem 0.5rem 0.25rem 0.25rem; position: relative; scrollbar-color: auto; scrollbar-width: auto; white-space: pre;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 3px; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4d4d4c; display: flex; font-family: inherit; font-size: small; line-height: 1.42857; overflow-x: auto; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; line-height: 1.66667; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-wrap: wrap; width: 662.691px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;org&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;testng&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;annotations&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4271ae; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;Test&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4271ae; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;GroupingExample&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token annotation punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@Test&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;groups &lt;/span&gt;&lt;span class=&quot;token token operator&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #718c00; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;smoke&quot;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;testMethod1&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8e908c; font-style: italic; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;// Test code&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token annotation punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@Test&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;groups &lt;/span&gt;&lt;span class=&quot;token token operator&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #718c00; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;regression&quot;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;testMethod2&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8e908c; font-style: italic; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;// Test code&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-family: inherit; font-size: small; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-family: inherit; font-size: small; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;Execution in XML:&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-family: inherit; font-size: small; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto; white-space: pre;&quot;&gt;&lt;div class=&quot;text-textOff dark:text-textOffDark bg-offsetPlus dark:bg-offsetPlusDark py-xs px-sm z-10 inline-block rounded-br rounded-tl-[3px] font-thin&quot; style=&quot;--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(var(--background-color-300)/var(--tw-bg-opacity)); border-bottom-right-radius: 0.25rem; border-top-left-radius: 3px; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(var(--text-color-200)/var(--tw-text-opacity)); display: inline-block; padding: 4px 8px; scrollbar-color: auto; scrollbar-width: auto; z-index: 10;&quot;&gt;xml&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;sc-gEvDqW bMrXuF&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0.25rem; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; padding: 0.25rem 0.5rem 0.25rem 0.25rem; position: relative; scrollbar-color: auto; scrollbar-width: auto; white-space: pre;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 3px; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4d4d4c; display: flex; line-height: 1.42857; overflow-x: auto; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; line-height: 1.66667; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-wrap: wrap; width: 662.691px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;suite&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #eab700; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation attr-equals&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token attr-value&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;Suite&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #eab700; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation attr-equals&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token attr-value&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;SmokeTests&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;groups&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;include&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #eab700; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation attr-equals&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token attr-value&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;smoke&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;groups&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;classes&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #eab700; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation attr-equals&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token attr-value&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;com.example.GroupingExample&lt;/span&gt;&lt;span class=&quot;token token attr-value punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;classes&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;suite&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;Advantage:&lt;/span&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;nbsp;TestNG allows grouping of tests, which helps in organizing and managing large test suites efficiently.&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mt-md block&quot; face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; display: block; margin-top: 16px; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;4. Dependency Testing&lt;/span&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul class=&quot;list-disc pl-8&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; list-style-image: initial; list-style-position: initial; margin: 0px; padding-inline-start: 1.625em; padding: 0px 0px 0px 2rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;li index=&quot;0&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em; padding-inline-start: 0.375em; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span color=&quot;var(--tw-prose-bold)&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;JUnit&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;nbsp;lacks support for testing dependencies.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li index=&quot;1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em; padding-inline-start: 0.375em; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;TestNG Example for Dependency Testing:&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-family: inherit; font-size: small; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;sc-gEvDqW bMrXuF&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0.25rem; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; padding: 0.25rem 0.5rem 0.25rem 0.25rem; position: relative; scrollbar-color: auto; scrollbar-width: auto; white-space: pre;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 3px; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4d4d4c; display: flex; line-height: 1.42857; overflow-x: auto; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-feature-settings: normal; font-synthesis: none; font-variation-settings: normal; line-height: 1.66667; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-wrap: wrap; width: 662.691px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;org&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;testng&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;annotations&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #c82829; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4271ae; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;Test&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #4271ae; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;DependencyExample&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token annotation punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@Test&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;testMethod1&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8e908c; font-style: italic; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;// Test code&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token annotation punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;@Test&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;dependsOnMethods &lt;/span&gt;&lt;span class=&quot;token token operator&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #718c00; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&quot;testMethod1&quot;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8959a8; font-weight: bolder; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;testMethod2&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;token token&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: #8e908c; font-style: italic; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;// This test will run only if testMethod1 passes&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; flex-shrink: 0; line-height: 1.42857; opacity: 1; padding: 8px; scrollbar-color: auto; scrollbar-width: auto; text-align: right; user-select: none;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token token punctuation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;Advantage:&lt;/span&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;nbsp;TestNG enables defining dependencies between tests, ensuring correct test execution order.&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mt-md block&quot; face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; display: block; margin-top: 16px; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;5. Reporting&lt;/span&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul class=&quot;list-disc pl-8&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; list-style-image: initial; list-style-position: initial; margin: 0px; padding-inline-start: 1.625em; padding: 0px 0px 0px 2rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;li index=&quot;0&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em; padding-inline-start: 0.375em; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span color=&quot;var(--tw-prose-bold)&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;JUnit&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;nbsp;requires additional tools or plugins for detailed reporting.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li index=&quot;1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; margin-bottom: 0.5em; margin-top: 0.5em; padding-inline-start: 0.375em; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span color=&quot;var(--tw-prose-bold)&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;TestNG Reporting:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&amp;nbsp;TestNG automatically generates comprehensive HTML reports after test execution, detailing passed, failed, and skipped tests.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-family: var(--font-fk-grotesk); font-weight: 500; line-height: 1.75rem; margin: 1.5rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;Conclusion&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-family: var(--font-fk-grotesk); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-family: inherit; font-size: small; margin-bottom: 0px; margin-top: 0px; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;While JUnit is a well-established framework with a strong community and historical significance, TestNG offers advanced features like parallel execution, test grouping, and dependency management, making it a compelling choice for modern testing scenarios. Depending on your project&#39;s needs and the complexity of your test cases, TestNG&#39;s extended capabilities could provide significant advantages.&lt;/span&gt;&lt;/h2&gt;&lt;h2 class=&quot;mb-2 mt-6 text-lg first:mt-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: oklch(0.99 0.004 106.471); border: 0px solid rgb(229, 231, 235); box-sizing: border-box; color: oklch(0.304 0.04 213.681); font-family: var(--font-fk-grotesk); font-weight: 500; line-height: 1.75rem; margin: 0.75rem 0px 0.5rem; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;div style=&quot;font-size: medium;&quot;&gt;&lt;span face=&quot;__fkGroteskNeue_598ab8, __fkGroteskNeue_Fallback_598ab8, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(229, 231, 235); box-sizing: border-box; font-size: 16px; margin-bottom: 0px; margin-top: 0px; scrollbar-color: auto; scrollbar-width: auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/h2&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.automationcodes.com/feeds/6112320978356222620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.automationcodes.com/2024/08/why-choose-testng-over-junit-when.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/6112320978356222620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3378166049229928450/posts/default/6112320978356222620'/><link rel='alternate' type='text/html' href='http://www.automationcodes.com/2024/08/why-choose-testng-over-junit-when.html' title=''/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>