0% found this document useful (0 votes)
10 views1 page

UI Automation Assignment Guide

Uploaded by

mannudrock 1
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views1 page

UI Automation Assignment Guide

Uploaded by

mannudrock 1
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

UI Automation Assignment

The purpose of this assignment is to understand your abilities around UI Automation, Automation Best Practices, OOP (Object Oriented Programming),
and Automated Testing.
Choose whatever object oriented programming language and automation framework that you are most familiar with.
This exercise should not take more than a couple of hours but spend as much time on it as you feel comfortable.

Instructions:

1. Create a new public repo on GitHub or Bitbucket (You can create a free account in either service).
a. Name your repo, “firstname_lastname_teladoc_challenge”
2. Using a BDD automation framework of your choice, write some automated tests to validate the scenarios below.
3. Add a README to your repository with instructions on how to run your tests
4. This project will be used as a vital part of the following phase of the interview process. Please use whatever tools you are most comfortable but be
prepared to share your screen to present/execute your working code and to expand upon it with the panel

Webtables Automation
Story:

As an Engr. Candidate
I need to automate [Link]
So that I can show my awesome automation skills

Scenario 1

Add a user and validate the user has been added to the table

Scenario 2

Delete the user "novak" from the table and validate the user has been deleted.

Common questions

Powered by AI

Implementing a BDD automation framework would impact a candidate's approach by encouraging the design of tests from the user's perspective, focusing on behavior and outcomes rather than the underlying implementation. This approach fosters collaboration between technical and non-technical stakeholders by using natural language to describe test scenarios, making them easier to understand and validate. As a result, the candidate would emphasize writing descriptive and context-driven tests that succinctly convey the purpose and expected results of operations like adding or deleting users in a web table .

The assignment assesses best practices in automation by requiring candidates to create automated tests using a BDD framework, reflecting industry standards for writing clear and maintainable test scripts. The task to automate scenarios like adding and deleting users from a web table and validating these actions simulates real-world requirements and evaluates the candidate's ability to implement effective and efficient test cases. Additionally, the need to document the project with a README guides candidates to articulate instructions clearly, highlighting their communication skills alongside technical capabilities .

Validation after each scenario in automated testing is important because it ensures that each part of the specification behaves as expected after execution. In the context of this assignment, validating after operations like adding or deleting a user guarantees that the system responds correctly, maintaining data integrity and reflecting the intended changes in the user interface. It provides immediate feedback and helps in identifying issues early, facilitating prompt debugging and increasing the reliability of the testing process .

The UI Automation Assignment leverages Object Oriented Programming (OOP) principles by instructing candidates to choose any object oriented programming language they are most familiar with to create automated tests. This inherently requires the use of OOP principles such as encapsulation, inheritance, and polymorphism to design modular, reusable, and scalable code that validates specified scenarios in web tables .

To ensure that automated tests remain maintainable as the application evolves, I would adopt a modular design pattern such as the Page Object Model to separate the test logic from page elements. This abstraction allows changes to the web interface without altering the test logic directly. Additionally, implementing systematic documentation and leveraging continuous integration processes can help in adapting and monitoring changes effectively. Regular code reviews and refactoring ensure that tests remain efficient, readable, and aligned with evolving requirements .

A candidate might face challenges such as dynamically interacting with elements in a frequently changing web table, ensuring the stability and reliability of tests across different browser environments, and managing data dependency where test results rely on previous tests. To overcome these challenges, they could implement robust locators strategies like XPath or CSS Selectors to reliably identify elements and employ page objects to decouple tests from UI changes. They could also use setup and teardown methods to maintain data independence and implement cross-browser testing strategies to ensure compatibility .

Preparing for the assignment enhances proficiency with collaborative tools by requiring candidates to create a public repository on GitHub or Bitbucket, where they must push their code, manage version control, and document their project. This necessitates familiarity with git commands and version control workflows, assisting in gaining confidence in code sharing, and collaborative development processes. It prepares candidates to work in a team setting where multiple developers might interact with the codebase .

The inclusion of a README file with instructions for running tests is significant because it demonstrates the candidate's ability to clearly communicate how to set up and execute the automated tests. This aids others in understanding and using the repository efficiently. Providing detailed and accurate documentation is crucial for maintaining usability and sharing knowledge among team members, making the project accessible to other developers or non-technical stakeholders .

The effectiveness of automated tests in this context could be evaluated using criteria such as coverage, robustness, reliability, and clarity. Coverage assesses if all crucial user interactions with the web table are tested. Robustness examines whether tests handle failures gracefully. Reliability evaluates consistent test outcomes across different environments or runs. Clarity ensures that tests are understandable and maintainable, potentially influenced by good use of a BDD framework where test scenarios are described in plain language .

The UI Automation Assignment evaluates the candidate's understanding of UI Automation, best practices in automation, Object Oriented Programming (OOP), and automated testing skills. The task requires creating automated tests using a Behavior Driven Development (BDD) framework and incorporating these into a public repository, demonstrating both technical proficiency and familiarity with collaborative coding platforms like GitHub or Bitbucket .

You might also like