Day 01 to 04 - Selenium IDE, WebDriver
Day 1 : Session 1
- Manual QA
- Basics of Automation
- Thumb Rules : E R A
- Writing Test Cases Manually.
- Improving Test Cases
- Selenium IDE,
- Create and execute a few Tests.
AUT’s : Application Under Test. Focus is always on how the AUT behaves with overall CI/CD.
Manual QA : Test suite.
AUT ::: Modules ::: TestCases ::: Detailed Steps
Example : AUT : https://qaonair.com/
- To ensure everything works good.
- Break it down.
- Modules are functional components that are usually independent from other modules. Yes there is overall integration.
- QA Engineer :
- Test Cases. I am expecting my AUT to behave in a certain way. If I perform the same steps, I need to get the same expected results, each time.
- Result : TC passed or failed (or warning) or screenshot or email-alert or log a defect
- AUT : In general, dont expect too much documentation or spoon feeding over them.
- We need to spend time in dissecting the entire app, make summary scenarios and get them reviewed.
- AUT Modules :
- User Admin : Signup, SignIn, Profile Settings :
- Search
- Find Job
- Post Job
- UI/UX Testing :
Test Case :
- What to do, what are the inputs, what is the expected output?
- Module : Search, TC : Find Freelancers, Go to AUT, click on Find Freelancers, Type in search field, get results, see if any issue.
- Any other human should also understand.
- We need to use a template. So there is more clarity across teams.
- Notepad, Word become not very interactive. Yes u can embed images etc into word, but not filter, sort so on.
- MS Excel is a good option. Optionally use Google Sheets.
- Sequence of Test Steps is very critical.
QA Effort being spent:
- Understanding the AUT
- Create Test Artefacts (Test Cases, Docs)
- Standardization or good practices or methodologies. Team effort pays out.
Day 1 : Session 2
- How we can teach an automation tool or Robot to execute the same manual steps?
- Why should we move from Manual to Automation? Thumb Rules:
- E : Efficiency (faster, easier to maintain than manual)
- R : Reusability (build once, but run many times, maintenance)
- A : Accuracy (should be more predictable and dependable than manual testing)
- Selenium IDE : Open source Test Automation Tool
- https://selenium.dev/
- https://www.selenium.dev/downloads/
- Selenium IDE UI : User Interface.
- Selenium is for web only.
- IDE : Integrated Development Environment (easy to write, run and manage programs)
- Step 1 :
- Learn Sel IDE : Record and Run/Playback.
- Edit Tests
- Build own tests without record and run.
- Captures your keyboard and mouse commands.
- Understands and stores info on what and how to do next time with manual intervention.
- Instruction to automation uses
- What, Where, Data to execute
Element Identifiers [Targets]:
- ID or Name
- CSS or Class
- LinkText or PartialLink Text
- xPath
- TAG…
- Navigates through the DOM (Document Object Model)
- HTML Hyper Text Markup Language … each object within it is considered an element.
Register here for LIVE Sessions : https://ITeLearn.com/SDET-Training
Day 1 : Session 3 :
- Create a Selenium IDE Test without Record. Not yet master EI.
- E R A ???
Effort :
- Writing Tests (avg/TC):
- Manual : 2 hours
- Automation : 3 hours
- Execution of Tests (avg/TC):
- Manual : 1 hour
- Automation : 1/10th hour
- ROI : Return on Investment.
- R1 : no ROI, R2 no ROI, 3rd Release Automation will save?
Selenium WebDriver using Java. (https://docs.google.com/document/d/1vztK6k2PsmAhppdqoJ-xvkKvSqpjHNBKCzvtoD3z-GU/edit for core Java)
ERA has a new level of achievement.
- Install JDK
- Install Eclipse IDE - will help us to write, maintain, run Java programs/projects.
- Create and add Selenium WebDriver and Browser Drivers.
Day 1 : Session 4 :
- Selenium Web Driver with Java and Eclipse IDE
- Eclipse : will help us to write, maintain, run Java programs/projects.
- We can avoid CLI (command line interface
- Workspaces >>> Projects >>> Programs
Selenium Server from : https://www.selenium.dev/downloads/
https://chromedriver.chromium.org/downloads
Day 02
- Any line starting with a hash sign (#) is considered a comment (single-line-comment)
- Comments are used for
- Purpose of the code that helps to do easier KT in future.
- Documenting your code in english.
- Comment old code and replace with new code. You are not deleting, and can easily change it back if needed.
- Multi line comment (we use “”” at the beginning and “”” at the end)
- Helps us to comment a block of code or do a more detailed write-up.
- PyCharm helps us to color our code based on the keyword or character or variable/object
- Change the editor settings to make it larger font or change colors and preferences.
- Personalize PyCharm to your needs or likings.
- Syntax Error - A message from Code or IDE to us that “I do not understand your instructions. You wrote something that does not resonate with me.”
- You cannot run the code till you correct the syntax error (will run only till that point).
- Comments are exempt from Syntax. All else in the code needs to match with the Programming Language Syntax.
- RunTime Error comes only during execution.
- Debug and ensure our code is defect free. Internal testing for our code. Unit Testing. We are the developers.
Programming language:
- Store data. User Details, Bank A/C details, Linked A/C….
- Stored in your local machine.
- Variables - Help us to store information.
- Avoid hardcoding
- Anything in double quotes is considered a string. String is a variable type.
- Unlike other PL like Java, you do NOT have to declare a variable and give its type before we use it.
- Coding there is a lot of focus on the aesthetics. How we do coding?
- Code as much as you can. You need to be comfortable on basic Python commands and also typing speed.
- Process, Methodologies, Naming Conventions etc…
- Variable Types - based on what we put into and Python automatically assigns it.
- Sometimes, there is an error which we overlook. Pay a lot of attention to detail.
- Think of the expected output, before you run the code. It becomes a good practice and helps us to become a better developer.
- String - Anything in double quotes.
- Int - A positive or negative number with no decimals.
- Float - Numbers that have decimals
- Boolean
- Long
- # CamelCase ... all Lower Case, 1stCharacter of each word except for 1st word is upper case
Conditions - If Statement
- Change the direction of program flow depending on a condition being true or not.
Day 03 -
Python is case sensitive. It is better always for US to be case sensitive too.
How can we write the same logic with fewer characters/lines of code compared to Java, C#.
Day 04 -
- Last free session.
- https://www.youtube.com/user/QTPeLearn/videos
- Monday members only.
0 comments