{"id":9788,"date":"2025-03-27T16:42:46","date_gmt":"2025-03-27T16:42:46","guid":{"rendered":"https:\/\/testgrid.io\/blog\/?p=9788"},"modified":"2026-04-02T08:30:02","modified_gmt":"2026-04-02T08:30:02","slug":"salesforce-testing","status":"publish","type":"post","link":"https:\/\/testgrid.io\/blog\/salesforce-testing\/","title":{"rendered":"Salesforce Test Automation Guide: Test Types, Process &amp; Best Practices"},"content":{"rendered":"\n<p>Picture this scenario: you\u2019ve spent weeks customizing your Salesforce platform. From fine-tuning automation rules and building personalized Lightning components to integrating critical third-party apps and setting user permissions and profiles\u2014you do it all.<\/p>\n\n\n\n<p>Everything looks seamless until Salesforce rolls out a major update. Suddenly, key workflows break. Reports stop loading. Integrations fail.<\/p>\n\n\n\n<p>The worst part is if the platform goes down, your business takes a hit, and you\u2019re left scrambling to fix things while dealing with process disruptions and even customer complaints.<\/p>\n\n\n\n<p>But this could happen to anyone\u2014not because there\u2019s something wrong with Salesforce, but because it\u2019s constantly evolving and demands the right tools and techniques to keep up with it.<\/p>\n\n\n\n<p>Whether you\u2019re a developer, QA tester, or business leader, you want your Salesforce platform to run smoothly. And for that, you need a robust Salesforce <a href=\"https:\/\/testgrid.io\/blog\/test-automation-strategy\/\">test automation strategy<\/a>, which is thorough, continuous, and strategic, enabling you to carry on regardless of the new features or updates rolled out.<\/p>\n\n\n\n<p>In this blog post, we\u2019ll study the different types of Salesforce application testing, the most effective ways to perform Salesforce testing, and how to tackle common challenges in the process. Let\u2019s dive in.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is Salesforce Test Automation?<\/h2>\n\n\n\n<p>Salesforce test automation is the process of using <a href=\"https:\/\/testgrid.io\/blog\/automation-testing-tools\/\" data-type=\"link\" data-id=\"https:\/\/testgrid.io\/blog\/automation-testing-tools\/\">automated tools<\/a> to validate Salesforce applications by testing configured features, custom logic, and user workflows across different scenarios. It helps ensure that Salesforce implementations remain stable, secure, and functional despite frequent platform updates and ongoing customization.<\/p>\n\n\n\n<p><a href=\"https:\/\/testgrid.io\/blog\/test-automation\/\" data-type=\"link\" data-id=\"https:\/\/testgrid.io\/blog\/test-automation\/\">Automated tests<\/a> typically cover key areas such as functional validation, regression checks, integrations, and end-to-end user journeys, reducing manual effort while improving test consistency and release confidence.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Key Types of Salesforce Testing<\/strong><\/h2>\n\n\n\n<p>With Salesforce, there isn\u2019t a \u201cone-size-fits-all\u201d approach. Different testing methods address different risks. Let\u2019s take a look at the top five.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Security testing<\/strong><\/h3>\n\n\n\n<p>You want to make sure your Salesforce data is protected, permissions are configured properly, and unauthorized access is prevented. Key areas to test include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>User roles and profiles<\/li>\n\n\n\n<li>Data encrypted at rest and in transit<\/li>\n\n\n\n<li>Multi-factor authentication (MFA), IP restrictions, and login hours<\/li>\n<\/ul>\n\n\n\n<p>For instance, if you discover your junior sales reps can view executive-level reports containing revenue forecasts, you can quickly adjust field-level security settings and control who can see what data.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Functional testing<\/strong><\/h3>\n\n\n\n<p>It ensures every Salesforce feature, customization, and workflow works as intended from the user\u2019s perspective. <a href=\"https:\/\/testgrid.io\/blog\/functional-testing\/\">Functional testing<\/a> focuses on checking the following elements:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>User roles and permissions<\/li>\n\n\n\n<li>Custom objects, fields, and record types<\/li>\n\n\n\n<li>Visualforce pages and Lightning Components<\/li>\n\n\n\n<li>Reports, dashboards, and search functionality<\/li>\n<\/ul>\n\n\n\n<p>For instance, you have a custom validation rule to prevent your sales team from closing deals without adding discount approval. Upon testing, you find that the rule accidentally blocked all deals from closing, even approved ones. Functional testing can help catch the issue before it impacts your sales team.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Regression testing<\/strong><\/h3>\n\n\n\n<p>Whenever you modify Salesforce, whether by adding a new feature or applying a release update, you need to perform <a href=\"https:\/\/testgrid.io\/blog\/regression-testing\/\">regression testing<\/a> to ensure nothing else breaks, such as existing Apex code and triggers, page layouts, and third-party integrations.&nbsp;<\/p>\n\n\n\n<p>You want to ensure internal changes don\u2019t have unintended consequences across the system. For example, your marketing team has updated the email automation rules for lead nurturing.<\/p>\n\n\n\n<p>Once they\u2019re made live, you perform checks on the existing service notifications and realize they\u2019ve stopped sending alerts. Without regression testing, the issue would have gone unnoticed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Integration testing<\/strong><\/h3>\n\n\n\n<p>The reason Salesforce is the dominant player in the CRM space is because of the wide range of integrations offered in the Salesforce AppExchange\u2014ERPs, payment systems, marketing tools, and so on.<\/p>\n\n\n\n<p>Although such integrations allow you to incorporate new functionality into Salesforce deployments, they also introduce issues in terms of testing. By running integration tests, you can ensure data flows accurately between all external apps.<\/p>\n\n\n\n<p>Common integrations that need testing:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ERP: Sync customer and financial data<\/li>\n\n\n\n<li>Marketing automation: Track lead activity<\/li>\n\n\n\n<li>Payment processing: Manage invoicing and transactions<\/li>\n\n\n\n<li>Customer support: Link customer cases with CRM records<\/li>\n<\/ul>\n\n\n\n<p>Let\u2019s say you integrated Salesforce with an inventory management system. After an update, Salesforce fails to sync stock levels, resulting in inaccurate product availability information on your website. <a href=\"https:\/\/testgrid.io\/blog\/integration-testing-types-approaches\/\">Integration testing<\/a> helps identify and fix such issues.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Performance testing<\/strong><\/h3>\n\n\n\n<p>Salesforce must be able to handle large datasets, multiple concurrent users, and peak-time loads without slowing down. <\/p>\n\n\n\n<p><a href=\"https:\/\/testgrid.io\/blog\/performance-testing-guide\/\" data-type=\"link\" data-id=\"https:\/\/testgrid.io\/blog\/performance-testing-guide\/\">Performance testing<\/a> ensures:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lightning components load quickly<\/li>\n\n\n\n<li>APIs handle high-volume requests without errors<\/li>\n\n\n\n<li>SOQL queries and indexing strategies reduce query execution times<\/li>\n\n\n\n<li>Bulk data operations (imports, reports) don\u2019t impact system performance<\/li>\n<\/ul>\n\n\n\n<p>For example, if your call center using Salesforce Service Cloud experiences slowdowns when handling 1,000+ concurrent support cases, performance testing can help optimize your instance before full rollout.<\/p>\n\n\n\n<p><strong>Also Read: <\/strong><a href=\"https:\/\/testgrid.io\/blog\/salesforce-performance-testing\/\" data-type=\"link\" data-id=\"https:\/\/testgrid.io\/blog\/salesforce-performance-testing\/\">Salesforce Performance Testing: A Comprehensive Guide<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How Is Salesforce Automation Testing Different From Other Platforms?<\/strong><\/h2>\n\n\n\n<p>Salesforce isn\u2019t your average web application. Its testing demands are uniquely complex. <\/p>\n\n\n\n<p>Here\u2019s what makes it different:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Frequent updates<\/strong><\/h3>\n\n\n\n<p>Unlike most platforms, Salesforce pushes three mandatory updates a year\u2014Spring, Summer, and Winter\u2014which silently:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Introduce new features that may interfere with custom workflows<\/li>\n\n\n\n<li>Deprecate existing functions your system depends on<\/li>\n\n\n\n<li>Modify security settings that can restrict user access<\/li>\n<\/ul>\n\n\n\n<p>While the Salesforce updates are great for letting users take advantage of new options, they likely mean trouble for tests. Plus, you can\u2019t delay or control the schedule. That\u2019s why you must test customizations against them so you don\u2019t have to deal with unexpected failures.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Deep customization and automation logic<\/strong><\/h3>\n\n\n\n<p>Most platforms offer basic workflows. Salesforce stands out for its layered automation. Meaning a small change in one area can affect multiple processes. Testing here isn\u2019t feature behavior; it\u2019s about finding out side effects when multiple automation tools interact with each other.<\/p>\n\n\n\n<p>For instance, Salesforce allows a mix of declarative tools (like Flow and Process Builder) and programmatic logic (like Apex triggers).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Dynamic UI components<\/strong><\/h3>\n\n\n\n<p>Unlike static UIs, Salesforce\u2019s component-based, dynamic UI (Lightning) uses Shadow DOM and challenging element IDs, which break traditional test scripts.<\/p>\n\n\n\n<p>For instance, a change in a component impacts other unrelated areas. Page elements get dynamically generated IDs on each load, making locator-based test scripts unreliable.<\/p>\n\n\n\n<p>Specialized testing tools or frameworks are often required for testing in Salesforce\u2014something many other platforms don\u2019t need.<\/p>\n\n\n\n<p><strong>Also Read:<\/strong> <a href=\"https:\/\/testgrid.io\/blog\/best-salesforce-testing-tools\/\" data-type=\"link\" data-id=\"https:\/\/testgrid.io\/blog\/best-salesforce-testing-tools\/\">Salesforce Testing Tools to Automate with Confidence<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>A Step-By-Step Approach to Salesforce Test Automation<\/strong><\/h2>\n\n\n\n<p>Understanding the different types of Salesforce testing is only half the battle. The real question is: how do you structure and execute the tests so that they\u2019re methodical, scalable, and repeatable? Let\u2019s lay out the steps for Salesforce test automation:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Define what to automate<\/strong><\/h3>\n\n\n\n<p>Don\u2019t try to automate everything. Focus on what saves you time and prevents failure. Spot business-critical processes that Salesforce supports\u2014for example, lead qualification, quote generation, opportunity management, and case escalation. Look for repetitive tasks that take up QA time. Prioritize those:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Impacted by updates or customizations<\/li>\n\n\n\n<li>Prone to human error<\/li>\n\n\n\n<li>Frequently used<\/li>\n<\/ul>\n\n\n\n<p>Next, categorize <a href=\"https:\/\/testgrid.io\/blog\/test-scenarios\/\">test scenarios<\/a> into integration, functional, security, and performance tests. Determine the scope of testing per release or system change.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Prepare a realistic Salesforce test environment<\/strong><\/h3>\n\n\n\n<p>Salesforce test automation is only as good as the environment it runs in. Therefore, build an isolated, controlled environment to validate changes without impacting live users. Perform Salesforce <a href=\"https:\/\/testgrid.io\/blog\/sandbox-environment-for-testing\/\">sandbox testing<\/a> to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Validate updates and new configurations<\/li>\n\n\n\n<li>Check the code base and units<\/li>\n\n\n\n<li>Verify if the real data subsets are behaving as they should<\/li>\n<\/ul>\n\n\n\n<p>Use a sandbox that closely mirrors production\u2014not just in terms of metadata but also active automation and relevant integration endpoints. This minimizes the risk of missing environment-specific bugs, especially ones tied to data syncing or trigger behavior.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Build modular, reusable test scripts<\/strong><\/h3>\n\n\n\n<p>Once your environment is ready, write the test scripts. Opt for smaller, reusable blocks that map to business actions like:<\/p>\n\n\n\n<p>\u201cCreate Lead\u201d &gt; \u201cRun Approval Flow\u201d &gt; \u201cSubmit Opportunity.\u201d<\/p>\n\n\n\n<p>Follow page object models or a component-based approach to isolate UI logic from test logic so your scripts are flexible and reusable. Use version control and name scripts by use case or flow (e.g., \u2018OpportunityCreation_PositiveFlow.test\u2019).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Manage test data efficiently<\/strong><\/h3>\n\n\n\n<p>Test data is a major part of Salesforce test automation. If it\u2019s improperly managed, it can cause duplicate records, invalid field values, and workflow errors.<\/p>\n\n\n\n<p>Therefore, you must ensure that test data reflects real-world scenarios while complying with data security policies. More importantly, establish data refresh cycles to prevent outdated test conditions from affecting results.<\/p>\n\n\n\n<p>For example, use Salesforce Data Loader and test data generators to create controlled test datasets. Mask or anonymize sensitive customer data to comply with data privacy regulations, such as GDPR and HIPAA.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Automate test execution with CI\/CD<\/strong><\/h3>\n\n\n\n<p><a href=\"https:\/\/testgrid.io\/blog\/ci-cd-test-automation\/\">Integrate your test into your CI\/CD pipeline<\/a> so tests run automatically after every deployment or configuration change. You can schedule test runs\u2014for instance, nightly or weekly (full regression suite) and before and after Salesforce seasonal releases. Tools like GitHub Actions, Jenkins, and Azure DevOps work very well here.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6. Analyze failures and debug logically<\/strong><\/h3>\n\n\n\n<p>When a test fails, don\u2019t just re-run it. Check:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Which step failed (e.g., validation error, UI change)<\/li>\n\n\n\n<li>Which data was used?<\/li>\n\n\n\n<li>Was it a script or an actual defect?<\/li>\n<\/ul>\n\n\n\n<p>Make use of logs, screenshots, and error messages to identify the actual bug. Track confirmed issues in a tool like Jira, and tag them by severity and affected module. This helps your developers fix issues faster and keeps QA efforts focused.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>7. Maintain scripts after every major change<\/strong><\/h3>\n\n\n\n<p>From a technical perspective, Salesforce\u2019s iframes and dynamic elements are difficult to test. Since not every element on the page is loaded at once, tests may fail while users are waiting for pages to load. Depending on the particular Salesforce object, each record may have different elements.<\/p>\n\n\n\n<p>For example, some accounts may have leads associated with them, while some may not. Therefore, review your test suite after each Salesforce seasonal release and whenever new fields, flows, or features are added. Remove outdated tests, refactor brittle scripts, and update assertions based on the new releases.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>8. Choose the right automation tool for the job<\/strong><\/h3>\n\n\n\n<p>Implement a modern end-to-end testing solution that cuts through Salesforce\u2019s test maintenance challenges. That\u2019s what brings us to the next section.<\/p>\n\n\n\n<p>Standard tools like <a href=\"https:\/\/testgrid.io\/blog\/selenium-testing\/\">Selenium<\/a> often struggle with Salesforce\u2019s dynamic elements, Shadow DOM, and changing component IDs.<\/p>\n\n\n\n<p>You want software that can handle things like record-based testing and metadata awareness. It should also support easy maintenance, integrate with your CI\/CD pipeline, and offer reporting that makes debugging easier.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Best Salesforce Testing Practices to Overcome Common Challenges<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Not including negative test cases<\/strong><\/h3>\n\n\n\n<p>It\u2019s not enough to check that something works. You also need to confirm that invalid actions are correctly blocked, too. Write negative test cases for things like: users without permission trying restricted actions, submitting incomplete records, and data violating business rules.<\/p>\n\n\n\n<p>You can use an <a href=\"https:\/\/testgrid.io\/cotester\">agentic AI platform like CoTester<\/a> to generate test case descriptions and automate workflows using a step-by-step editor. Simply upload user stories in various formats, such as PDF, Word, or CSV, to build a knowledge base that\u2019s used to generate accurate test cases. The more detailed the user story, the better the results.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"760\" src=\"https:\/\/testgrid.io\/blog\/wp-content\/uploads\/2024\/11\/ai-agent-for-testing-cotester.png\" alt=\"cotester salesforce test automation\" class=\"wp-image-13009\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>CoTester AI Test Agent is great for testing specific web pages or forms. You can also manually edit generated test cases by adding or removing steps, saving time on refining workflows; use the chat interface for precise instructions to tweak test cases.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"778\" src=\"https:\/\/testgrid.io\/blog\/wp-content\/uploads\/2024\/11\/Test-execution-and-debugging-by-Cotester.png\" alt=\"cotester salesforce testing best practices\" class=\"wp-image-13011\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>Learn <a href=\"https:\/\/testgrid.io\/blog\/cotester-vs-other-agentic-ai-platforms-for-testing\/\">CoTester fares against other agentic AI platforms for testing<\/a> in the market.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Not testing with realistic user profiles<\/strong><\/h3>\n\n\n\n<p>In Salesforce, different users see different things\u2014fields, permissions, layouts, and even automation triggers. Testing everything as a system admin won\u2019t help you identify real-world problems. You must always test the actual user role\u2014Sales Rep, Support Agent, or Manager.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Not tracking what\u2019s declarative vs programmatic<\/strong><\/h3>\n\n\n\n<p>Flows, formula fields, and validation rules can break logic just as easily as Apex code. But they aren\u2019t included in source control unless metadata is retrieved. Use CI pipelines or metadata diff tools that include declarative components. Make sure the test coverage includes logic built by admins, not just developers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Not validating reports, dashboards, and list views<\/strong><\/h3>\n\n\n\n<p>Reports and dashboards are treated as visuals but they\u2019re business-critical for decision-making. Filters, record access, and field visibility can impact what users see. The best solution is to include reporting components in your test plan and periodically confirm their accuracy especially after schema changes or system releases.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Not logging in and categorizing defects by component<\/strong><\/h3>\n\n\n\n<p>In Salesforce, a single issue might stem from Apex, Flow, or a misconfigured permission. Logging vague issues like \u201cbutton doesn\u2019t work\u201d isn\u2019t helpful. You must categorize bugs based on their source, such as Profile, Permission, Validation Rule, or Apex logic. This helps developers, testers, and admins collaborate better and resolve flaws faster.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Salesforce Integration With TestGrid<\/strong><\/h2>\n\n\n\n<p>TestGrid is an AI-powered <a href=\"https:\/\/testgrid.io\/blog\/end-to-end-testing-a-detailed-guide\/\">end-to-end testing<\/a> platform. <\/p>\n\n\n\n<p>Here\u2019s how it aligns with Salesforce test automation efforts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It provides tools for performance testing, enabling you to assess the speed and scalability of your Salesforce apps<\/li>\n\n\n\n<li>It automatically tests any changes to your Salesforce environment, promoting rapid feedback and continuous quality assurance<\/li>\n\n\n\n<li>It offers a scriptless, AI-driven test automation platform that allows you to create and execute tests without extensive coding knowledge<\/li>\n\n\n\n<li>Its security testing features help identify vulnerabilities within Salesforce apps, ensuring compliance with security standards and protecting sensitive data<\/li>\n\n\n\n<li>It supports automation testing for web, mobile, desktop, and API applications, enabling comprehensive testing of Salesforce integrations and ensuring that all data flows seamlessly between systems<\/li>\n<\/ul>\n\n\n\n<p><a href=\"https:\/\/testgrid.io\">TestGrid<\/a> features a robust recording engine optimized for handling complex platforms like Salesforce, supporting dynamic elements, nested components, and frequent UI changes. Just like with any other app, users simply perform actions within Salesforce, and TestGrid automatically records each step.<\/p>\n\n\n\n<p>Let\u2019s check it out:<\/p>\n\n\n\n<p>What you see below is the <a href=\"https:\/\/testgrid.io\/blog\/codeless-test-automation\/\" data-type=\"link\" data-id=\"https:\/\/testgrid.io\/blog\/codeless-test-automation\/\">Codeless testing<\/a> workspace of TestGrid, inside a project called SalesforceDemo, specifically working under the Salesforce2 test suite.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcZ8jNdRWaWZeBzxWf2P7S8ryNIFUTH1YAhHPsw1gt2EsOI8f6uVlmGmAJsaZ6QOow96vldM5Ih7F0ZSikUsAJ_OeGHlecs6U46iwEG4I6au3TbXqtzFdhdJGlvfG6ydxSkhdMElw?key=skDq78I8YMOLI9CutURuyebM\" alt=\"cotester salesforce testing demo\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>1. Click on \u2018Record New Test Case\u2019 and fill in details like \u2018Test Case Name,\u2019 \u2018Test Case Description,\u2019 and \u2018Bundle Identifier.\u2019 Then click \u2018Next.\u2019<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXernBWbjDeryMAohi0-7UY4osxXgP60BApnu7LIxLJ_E12i5bGTf_gBi8W_HMxwncJFTEft6--uMBD8IoNzNOcZ34c57XtZlb2SL4QOnXEKnPh-b25hyPkRcYZ1dvHgQyEUdlDlUQ?key=skDq78I8YMOLI9CutURuyebM\" alt=\"salesforce testing record new test case\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>2. In the next step, choose the device on which you want to record the test case. Once selected, click \u2018Start Writing Test Case.\u2019<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXd1WS4Nji8d-pOs60InNDbj2WbstncKt69yxVR2tFziwfFf2A0qXrnXr0LYvPIR596XfnJHinY_wyqufOt5juZrmnpqAogfWWymaWJd4BQRJW0vWVLL80DEUsjOJRTXJsZo0OGr_g?key=skDq78I8YMOLI9CutURuyebM\" alt=\"Start Writing Test Case\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>3. Once the device is initialized, you\u2019ll see the Salesforce mobile login page on your screen.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfBl4-nbrrVFM9d7p_fnrGFWCY7YWwTXdVmIgiqltAYpJVXxTWNGew0RvWpOou8Gjjb1gd-yEUO_CZIYzo0-0M7L2nSgL_gOZHFtq4t-xbvfeUpuFFykvpawZ3EMc_MdY3KBllXWw?key=skDq78I8YMOLI9CutURuyebM\" alt=\"salesforce testing with cotester\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>4. Click on \u2018Start Recording\u2019 to begin capturing all interactions with the Salesforce app.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcukZPDNnievaNWSZ_tkEqV9z1L5asM095Yy0caijYQujPq7skB53nfpz1GA1VdTaRXqDF3hWs3ZvOfw2DBQCOO5DIPCDru5NzcP9Qoz-XGjUdy6TCgzRlaHlbMLCHYpYSKhB50PQ?key=skDq78I8YMOLI9CutURuyebM\" alt=\"salesforce testing record\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>5. Select \u2018Steps\u2019 tab (located between \u2018Elements\u2019 and \u2018Code Editor\u2019 on the right panel) to log every action you perform as a test step.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXeS9qNdwguVdw0K6u_v4EDZEIxqOHqQdcaSQ2OFuWbj-9SGHnA94e-joXBu955DqXRr9ofudPAK4BBzkXhfHNW5WAVhLUejmNUnTL6WbPvzmX0syC8CL4mQ7uXBjPl7aow_2Uwwtw?key=skDq78I8YMOLI9CutURuyebM\" alt=\"sales force testing step\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>6. Navigate to the \u2018Use Custom Domain\u2019 link, which allows you to log via a custom Salesforce domain rather than the default login.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXc6UPZ__-x8ABVCLNNB99ODDyo1d4VHjCNoiDcULCYtUx-8N_L5ldHTcmGh6Z-QxbX2b8HGcN7sicWD2cz7xY0ZuWggMXKyGCVJfqCGBcJO5lKU-0BwvO73EvMe_9UVEBgGVVoLKg?key=skDq78I8YMOLI9CutURuyebM\" alt=\"salesforce test using custom domain\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>7. Fill in the \u2018Custom Domain\u2019 field. As soon as you click on it, some of the steps will get captured on the panel, such as \u2018Wait For\u2019, \u2018Tap On,\u2019 and \u2018Type In.\u2019 Click \u2018Continue\u2019 to proceed.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdcroToEErISVU1oJ_Mv7xCaGl6QLo8g6y_xZjCLxQ1Eb9ye1V4cd5_O3bGG5ECijzFlkAo6J5Gz2vEJaIRn23X5GnA3ywWk2wfubhXrgqppQHzUi2ksGVU0JFBvtJ635kBQEeP?key=skDq78I8YMOLI9CutURuyebM\" alt=\"salesforce test custom domain login dashboard\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>8. Once the custom domain is accepted, you\u2019ll be redirected to the Salesforce login screen. Enter the username and password fields as you normally would.<\/p>\n\n\n\n<p>On the right panel, you\u2019ll see the password field being selected and updated, showing that the test case reflects real-time changes as you type.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfBeRYAdlzKAZ-dfWO-N__OJ_G4GjLPj33g4iWgpaq68g15fjr5vh2R-Hm8IAeuw37nqdhAkzjFjzJ1Oty7GtNBDkQJ5FVA7cep8SlUxjCx4-ksBs-mWK44FGaEj6nG4gPbnb2VyA?key=skDq78I8YMOLI9CutURuyebM\" alt=\"login dashboard salesforce with cotester\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>We\u2019ve covered the first several steps of creating a codeless Salesforce test case\u2014from launching the recorder to capturing the full login flow with a custom domain.<\/p>\n\n\n\n<p>9. Once you\u2019ve completed the actions you want to test, click \u2018Stop\u2019 to end the recording.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXclRWLg13GKMv7vx_p0Z67u6A01WLq_o-6IBe8lybhTUaPfsYL41QW0krFzWgFG2YzRx24p3OJZPesN3iVzSUl6IGH8N6z6e7TmwSjvQR8yDs41vmg5cXMa-woli82Bw7o9lJjT?key=skDq78I8YMOLI9CutURuyebM\" alt=\"salesforce test completed record end\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>10. Click on \u2018Save.\u2019<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXc3X2vHJ3AphdV-kOSzoaZOTZHBuvbtKrCbt0xN9QbWxsGBtXE0tfNLg3fR2ZJj4Glkbhrt-fK-Vjf0K1oYBt-Qt5jAy7oUCnIH5RXErSoitm5QWNtaPG5jsoqy0LhpIk9ilG5_YQ?key=skDq78I8YMOLI9CutURuyebM\" alt=\"salesforce testing user login step wise in cotester\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>11. Once saved, your test case will appear under the selected test suite \u2014 in this case, SalesForce2. You can now view, edit, duplicate, or run it directly from this screen. This confirms that your entire Salesforce flow has been successfully captured and is ready for automated execution.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfe-ddAknI1Gv3J-IV9e8vUkRsjcEc5JvX-EanJpcoWXea3v1wFPpgmtW718JzEA2VA097sRPjFs2rtbZHyB8NP5KQ_phA7yKXCzXpxAx2fhPEJqqacVwKpNiCEqMvBcY6R4pyAJw?key=skDq78I8YMOLI9CutURuyebM\" alt=\"salesforce demo test case\" loading=\"lazy\" title=\"\"><\/figure>\n\n\n\n<p>The rest of the demo walks through deeper interactions inside the Salesforce app, including form submissions, validations, and end-to-end flow recording.<\/p>\n\n\n\n<p>Watch the full demo video below.<\/p>\n\n\n\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/lSqoNwwXa4w?si=hHdgFHBqYpEemOR_\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n\n\n\n<p>If you\u2019d like to try the platform and check out its benefits, <a href=\"https:\/\/public.testgrid.io\/signup\" data-type=\"link\" data-id=\"https:\/\/public.testgrid.io\/signup\">Request free trial with TestGrid<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Picture this scenario: you\u2019ve spent weeks customizing your Salesforce platform. From fine-tuning automation rules and building personalized Lightning components to integrating critical third-party apps and setting user permissions and profiles\u2014you do it all. Everything looks seamless until Salesforce rolls out a major update. Suddenly, key workflows break. Reports stop loading. Integrations fail. The worst part [&hellip;]<\/p>\n","protected":false},"author":40,"featured_media":13818,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[579],"tags":[],"class_list":["post-9788","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guide"],"acf":[],"images":{"medium":"https:\/\/testgrid.io\/blog\/wp-content\/uploads\/2025\/03\/salesforce-test-automation.jpg","large":"https:\/\/testgrid.io\/blog\/wp-content\/uploads\/2025\/03\/salesforce-test-automation.jpg"},"_links":{"self":[{"href":"https:\/\/testgrid.io\/blog\/wp-json\/wp\/v2\/posts\/9788","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/testgrid.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/testgrid.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/testgrid.io\/blog\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/testgrid.io\/blog\/wp-json\/wp\/v2\/comments?post=9788"}],"version-history":[{"count":10,"href":"https:\/\/testgrid.io\/blog\/wp-json\/wp\/v2\/posts\/9788\/revisions"}],"predecessor-version":[{"id":17516,"href":"https:\/\/testgrid.io\/blog\/wp-json\/wp\/v2\/posts\/9788\/revisions\/17516"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/testgrid.io\/blog\/wp-json\/wp\/v2\/media\/13818"}],"wp:attachment":[{"href":"https:\/\/testgrid.io\/blog\/wp-json\/wp\/v2\/media?parent=9788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/testgrid.io\/blog\/wp-json\/wp\/v2\/categories?post=9788"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/testgrid.io\/blog\/wp-json\/wp\/v2\/tags?post=9788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}