{"id":4366,"date":"2015-03-28T14:10:39","date_gmt":"2015-03-28T14:10:39","guid":{"rendered":"http:\/\/www.jitendrazaa.com\/blog\/?p=4366"},"modified":"2015-03-28T14:11:06","modified_gmt":"2015-03-28T14:11:06","slug":"getting-started-with-selenium-and-salesforce-salesforce-automation-testing-video-tutorial-part-1","status":"publish","type":"post","link":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/getting-started-with-selenium-and-salesforce-salesforce-automation-testing-video-tutorial-part-1\/","title":{"rendered":"Selenium and Salesforce &#8211; Salesforce automation testing &#8211; Video tutorial &#8211; Part 1"},"content":{"rendered":"<p style=\"text-align: justify;\">This is first post of multi-series article on using Selenium with Salesforce for Automation testing. Testing has always been integral part of any software development life cycle and Salesforce has already taken it to next level by making<a title=\"Salesforce apex best practices\" href=\"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/apex\/faq-writing-test-class-in-salesforce\/\"> mandatory to have 75% of code coverage<\/a> before any code deployment. These apex test classes, however has its limitations where we can only test Apex code written. I have seen most of Salesforce project ending with manual testing. Audience for this series is not only developer but Salesforce admin and of course manual testers as well\u00a0and please feel free to drop comment throughout this series if\u00a0I left any area or topic uncleared.<\/p>\n<p style=\"text-align: justify;\"><strong>What is Selenium\u00a0<\/strong><\/p>\n<p style=\"text-align: justify;\">Selenium is a portable software testing framework for web applications. Selenium provides a record\/playback tool for authoring tests without learning a test scripting language (Selenium IDE). It also provides a test domain-specific language (Selenese)[1] to write tests in a number of popular programming languages, including Java, C#, Groovy, Perl, PHP, Python and Ruby. The tests can then be run against most modern web browsers like firefox, Chrome, Internet explorer. Selenium deploys on Windows, Linux and Macintosh platforms.<\/p>\n<figure id=\"attachment_4376\" aria-describedby=\"caption-attachment-4376\" style=\"width: 625px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Selenium-Salesforce-Like.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-4376\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Selenium-Salesforce-Like.png?resize=625%2C192&#038;ssl=1\" alt=\"Selenium and Salesforce\" width=\"625\" height=\"192\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Selenium-Salesforce-Like.png?resize=1024%2C314&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Selenium-Salesforce-Like.png?resize=300%2C92&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Selenium-Salesforce-Like.png?resize=624%2C192&amp;ssl=1 624w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Selenium-Salesforce-Like.png?w=1893&amp;ssl=1 1893w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><figcaption id=\"caption-attachment-4376\" class=\"wp-caption-text\">Selenium and Salesforce<\/figcaption><\/figure>\n<p><!--more--><\/p>\n<p><strong>How Selenium can benefit me\u00a0<\/strong><\/p>\n<p style=\"text-align: justify;\">Its not only Automation testing where you can leverage selenium. You can use this tool to move some manual changes from one Salesforce organization to another, to avoid preparing test data every time when sand box is refreshed and so on.. usability is endless.<\/p>\n<p><strong>Installing Selenium<\/strong><\/p>\n<ol>\n<li><a title=\"Download and Install Firefox\" href=\"https:\/\/www.mozilla.org\/en-US\/firefox\/new\/\">Download and install<\/a> Firefox browser<\/li>\n<li>Add <a title=\"Selenium IDE plugin\" href=\"http:\/\/release.seleniumhq.org\/selenium-ide\/2.9.0\/selenium-ide-2.9.0.xpi\">Selenium IDE Plugin<\/a> for Firefox from official <a title=\"Download Selenium IDE\" href=\"http:\/\/www.seleniumhq.org\/download\/\">Selenium download<\/a> website<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Once Selenium plugin is installed in Firefox\u00a0we can launch\u00a0Selenium IDE and it will look like below screen<\/p>\n<figure id=\"attachment_4369\" aria-describedby=\"caption-attachment-4369\" style=\"width: 754px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Selenium-IDE.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4369\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Selenium-IDE.png?resize=754%2C692&#038;ssl=1\" alt=\"Firefox Selenium IDE\" width=\"754\" height=\"692\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Selenium-IDE.png?w=754&amp;ssl=1 754w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Selenium-IDE.png?resize=300%2C275&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Selenium-IDE.png?resize=624%2C573&amp;ssl=1 624w\" sizes=\"auto, (max-width: 754px) 100vw, 754px\" \/><\/a><figcaption id=\"caption-attachment-4369\" class=\"wp-caption-text\">Firefox Selenium IDE<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">As you can see in above image, red circle icon is used to record step and once it is recorded, can be re-run using green symbol. Complete step are explained in Video tutorial.<\/p>\n<p><strong>Error : Selenium element not found<\/strong><\/p>\n<p style=\"text-align: justify;\">Chances are very high, where we will receive error in selenium script about &#8220;Element not found&#8221;. This is because if some content is loaded via Ajax, Selenium doesnt know that it needs to wait. There are many ways to handle it, but for me &#8220;<strong><em>waitForElementPresent<\/em><\/strong>&#8221; works in most cases.<\/p>\n<p><strong>\u00a0Selenium Test Case code snippet<\/strong><\/p>\n<figure id=\"attachment_4372\" aria-describedby=\"caption-attachment-4372\" style=\"width: 550px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Sample-Selenium-Script.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-4372\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Sample-Selenium-Script.png?resize=550%2C214&#038;ssl=1\" alt=\"Sample Selenium Script\" width=\"550\" height=\"214\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Sample-Selenium-Script.png?w=790&amp;ssl=1 790w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Sample-Selenium-Script.png?resize=300%2C117&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Sample-Selenium-Script.png?resize=624%2C242&amp;ssl=1 624w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><figcaption id=\"caption-attachment-4372\" class=\"wp-caption-text\">Sample Selenium Script<\/figcaption><\/figure>\n<p><strong>Video Tutorial\u00a0<\/strong><br \/>\n<iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/8CRsCmM_jyI\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is first post of multi-series article on using Selenium with Salesforce for Automation testing. Testing has always been integral part of any software development life cycle and Salesforce has already taken it to next level by making mandatory to have 75% of code coverage before any code deployment. These apex test classes, however has [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"jz_research_post":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9],"tags":[303,331,305,304,212],"class_list":["post-4366","post","type-post","status-publish","format-standard","hentry","category-salesforce","tag-automated-testing","tag-salesforce","tag-selenium","tag-testing","tag-video-tutorial"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":6216,"url":"https:\/\/www.jitendrazaa.com\/blog\/java\/performing-load-testing-in-salesforce-using-selenium-and-testng\/","url_meta":{"origin":4366,"position":0},"title":"Performing Load Testing in Salesforce using Selenium and TestNG","author":"Jitendra","date":"August 28, 2017","format":false,"excerpt":"Parallel execution of browsers in Selenium with the help of TestNG and determining maximum operating capacity of custom code in Salesforce","rel":"","context":"In &quot;JAVA&quot;","block_context":{"text":"JAVA","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/java\/"},"img":{"alt_text":"Selenium Salesforce load Testing","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/08\/Selenium-Salesforce-load-Testing.jpg?fit=964%2C848&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/08\/Selenium-Salesforce-load-Testing.jpg?fit=964%2C848&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/08\/Selenium-Salesforce-load-Testing.jpg?fit=964%2C848&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/08\/Selenium-Salesforce-load-Testing.jpg?fit=964%2C848&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":4402,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/using-selenium-to-test-workflow-field-update-action-salesforce-automated-testing-video-tutorial-part-2\/","url_meta":{"origin":4366,"position":1},"title":"Using Selenium to test workflow field update action &#8211; Salesforce automated testing &#8211; Video tutorial &#8211; Part 2","author":"Jitendra","date":"April 27, 2015","format":false,"excerpt":"We have already discussed\u00a0basics of selenium and how we can use this tool for automated testing.\u00a0Here we will see how we can take advantage of Selenium to test workflow field update. in this article we will create a simple workflow rule on Lead object and update \"Description\" field by adding\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce Workflow rule - field update on Lead","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/04\/Salesforce-Workflow-rule-field-update-on-Lead.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/04\/Salesforce-Workflow-rule-field-update-on-Lead.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/04\/Salesforce-Workflow-rule-field-update-on-Lead.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/04\/Salesforce-Workflow-rule-field-update-on-Lead.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":7041,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-load-testing-using-soapui\/","url_meta":{"origin":4366,"position":2},"title":"Salesforce Load Testing using SOAPUI","author":"Jitendra","date":"April 23, 2020","format":false,"excerpt":"Previously, I have added multiple posts in this blog on how you would face governor limit errors on each step of Salesforce implementation and how we can leverage selenium to perform load testing of Salesforce to some extent. SOAP UI is powerful tool and in this post we will see\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"API Load Testing using SOAPUI","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/04\/API-Load-Testing-using-SOAPUI.png?fit=1029%2C529&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/04\/API-Load-Testing-using-SOAPUI.png?fit=1029%2C529&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/04\/API-Load-Testing-using-SOAPUI.png?fit=1029%2C529&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2020\/04\/API-Load-Testing-using-SOAPUI.png?fit=1029%2C529&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":6419,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/introduction-to-lightning-test-services-with-jasmine\/","url_meta":{"origin":4366,"position":3},"title":"Introduction to Lightning Test Services with Jasmine","author":"Jitendra","date":"March 10, 2018","format":false,"excerpt":"Complete Source code and video of using Lightning Datatable Component and Jasmine in Salesforce","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Lightning Testing Service (LTS)","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/03\/Lightning-Testing-Service-LTS.png?fit=1200%2C433&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/03\/Lightning-Testing-Service-LTS.png?fit=1200%2C433&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/03\/Lightning-Testing-Service-LTS.png?fit=1200%2C433&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/03\/Lightning-Testing-Service-LTS.png?fit=1200%2C433&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/03\/Lightning-Testing-Service-LTS.png?fit=1200%2C433&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4584,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/continuous-integration-in-salesforce-using-flosum-appexchange\/","url_meta":{"origin":4366,"position":4},"title":"Continuous Integration in Salesforce using Flosum AppExchange","author":"Jitendra","date":"June 22, 2015","format":false,"excerpt":"Native Force.com solution for Continuous Integration using AppExchange product Flosum","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Flosum AppExchange","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/06\/Flosum-AppExchange.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/06\/Flosum-AppExchange.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/06\/Flosum-AppExchange.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/06\/Flosum-AppExchange.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":31927,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-scale-center-complete-guide-performance\/","url_meta":{"origin":4366,"position":5},"title":"Salesforce Scale Center Complete Guide: Performance Monitoring &#038; Optimization | March 2026","author":"Jitendra","date":"March 12, 2026","format":false,"excerpt":"Master Salesforce Scale Center for performance monitoring and optimization. Learn setup, ApexGuru integration, concurrent Apex analysis, and best practices for enterprise scalability with 9 analysis report types.","rel":"","context":"In &quot;Apex&quot;","block_context":{"text":"Apex","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/apex\/"},"img":{"alt_text":"Salesforce Scale Center Infographic - Free self-serve performance monitoring platform with 9 report types, 30-day data retention, and 10-12 minute latency for Enterprise, Unlimited, and Professional Edition orgs","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2026\/03\/Salesforce-Scale-Center-Complete-Guide-infographic.png?fit=1200%2C1148&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2026\/03\/Salesforce-Scale-Center-Complete-Guide-infographic.png?fit=1200%2C1148&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2026\/03\/Salesforce-Scale-Center-Complete-Guide-infographic.png?fit=1200%2C1148&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2026\/03\/Salesforce-Scale-Center-Complete-Guide-infographic.png?fit=1200%2C1148&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2026\/03\/Salesforce-Scale-Center-Complete-Guide-infographic.png?fit=1200%2C1148&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/comments?post=4366"}],"version-history":[{"count":8,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4366\/revisions"}],"predecessor-version":[{"id":4378,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4366\/revisions\/4378"}],"wp:attachment":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media?parent=4366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/categories?post=4366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/tags?post=4366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}