Automation Testing using Selenium

News
Automation Testing using Selenium on Jul
In July 2018, S3Corp organized a four-day internal training course on Automation Testing using Selenium. The training was conducted in two separate sessions, held on the 4th and 5th of July and continued on the 9th and 10th of July. Mr. Tuan Nguyen led all sessions and shared practical knowledge along with theoretical foundations. This course supported the professional development of internal testing teams and improved their capabilities in web application automation.
12 Jul 2018
Automation Testing Using Selenium Training in July by S3Corp
In July 2018, S3Corp organized a four-day internal training course on Automation Testing using Selenium. The training was conducted in two separate sessions, held on the 4th and 5th of July and continued on the 9th and 10th of July. Mr. Tuan Nguyen led all sessions and shared practical knowledge along with theoretical foundations. This course supported the professional development of internal testing teams and improved their capabilities in web application automation.
Session One: Selenium WebDriver and Environment Setup
The first session, held on July 4th, began with an introduction to Selenium WebDriver. This is a powerful tool used for automating web application testing. It allows testers to simulate user actions like clicking buttons, filling out forms, and navigating pages across multiple browsers. Selenium WebDriver supports Firefox, Chrome, Internet Explorer, and Safari. Its compatibility with various browsers makes it a flexible choice for cross-browser testing.
Another key advantage of Selenium WebDriver is its support for multiple programming languages. These include Java, C#, PHP, Perl, and Ruby. This flexibility allows teams to choose the language that best fits their existing development stack or individual expertise. During the session, Java was used for demonstrations and scripting examples.
The training emphasized that Selenium WebDriver is strictly for web application testing. It cannot be used for window-based application automation. Understanding this limitation is essential when planning automated testing strategies in mixed-technology environments.
The session also focused on setting up the testing environment. Mr. Tuan Nguyen explained how to configure necessary components such as browser drivers and integrated development environments. This setup process is foundational for ensuring that Selenium WebDriver runs smoothly and integrates with other development tools.
Session Two: Web Elements Interaction and JavaScript Integration
On July 5th, the second part of the training covered interaction with web elements using Selenium WebDriver. Participants learned how to locate elements on a web page using various locator strategies. These included ID, name, class name, tag name, link text, and CSS selectors. XPath was also introduced as a powerful method to handle dynamic elements or complex DOM structures.
The training provided examples of how to perform operations on these elements, such as clicking, typing text, selecting from dropdowns, and handling checkboxes and radio buttons.
Another important part of this session was the integration of JavaScript within Selenium test scripts. JavaScript execution allows testers to handle scenarios where Selenium commands may fall short, such as interacting with hidden elements or waiting for certain conditions. The ability to run JavaScript within test scripts enhances the scope and effectiveness of test automation.
At the end of these two sessions, participants had acquired essential skills for setting up an automation environment, writing test scripts, and performing interaction with web elements. This formed a strong foundation for more advanced testing techniques.
Session Three: Introduction to the Page Object Model
On July 9th, Mr. Tuan Nguyen resumed the training with an introduction to the Page Object Model. This design pattern improves the structure and maintainability of test automation scripts. In this approach, each page of the application is represented as a separate class. This class contains the elements and actions that can be performed on that page.
Using the Page Object Model reduces code duplication and makes the test scripts easier to update when the user interface changes. For example, if a button ID is modified on a web page, the change needs to be made only in the corresponding page class rather than in multiple test scripts.
Participants were shown how to build page classes and how to reference these classes within test cases. Java remained the language used for coding examples. The importance of separating test logic from UI structure was emphasized as a best practice.
This session gave participants the tools to create scalable and reusable test suites. It prepared them for working on large automation projects where maintaining clean and organized code becomes critical.
Session Four: UFT Overview and Framework Introduction
The final session was conducted on July 10th. Mr. Tuan Nguyen presented an overview of UFT (Unified Functional Testing). UFT is a commercial tool used for both functional and regression testing. Unlike Selenium, UFT supports both web-based and desktop application testing.
During this part of the training, participants were shown a demo of UFT. The session included an introduction to the UFT framework and how it is structured for real-world testing projects. VBScript, the scripting language used in UFT, was introduced briefly.
Although the main focus of the course was Selenium, this session helped participants understand the capabilities and limitations of other testing tools in comparison. It also provided a perspective on tool selection based on application type and project requirements.
Conclusion
This four-day training course concluded with a clear understanding of Selenium WebDriver, its setup, and practical application for web testing. The course also introduced advanced concepts such as the Page Object Model and provided a glimpse into UFT for broader test automation knowledge.
Mr. Tuan Nguyen delivered the sessions in a structured and practical manner. His efforts were appreciated by all participants. This training has contributed to building stronger testing capabilities at S3Corp. and aligned with the company's goal of maintaining high software quality standards.