Day 01 to 04 - Selenium IDE, WebDriver

Day 1 : Session 1 

  1. Manual QA
  2. Basics of Automation
  3. Thumb Rules : E R A 
  4. Writing Test Cases Manually.
  5. Improving Test Cases
  6. Selenium IDE, 
  7. 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/

  1. To ensure everything works good. 
  2. Break it down. 
  3. Modules are functional components that are usually independent from other modules. Yes there is overall integration.
  4. QA Engineer : 
  5. 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.
  6. Result : TC passed or failed (or warning) or screenshot or email-alert or log a defect
  7. AUT : In general, dont expect too much documentation or spoon feeding over them.
  8. We need to spend time in dissecting the entire app, make summary scenarios and get them reviewed. 
  9. AUT Modules : 
  10. User Admin : Signup, SignIn, Profile Settings : 
  11. Search
  12. Find Job
  13. Post Job
  14. 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 : 

  1. Writing Tests (avg/TC): 
  2. Manual : 2 hours
  3. Automation : 3 hours
  4. Execution of Tests (avg/TC): 
  5. Manual : 1 hour
  6. Automation : 1/10th  hour
  7. ROI : Return on Investment. 
  8. 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. 

  1. Install JDK
  2. Install Eclipse IDE - will help us to write, maintain, run Java programs/projects.
  3. Create and add Selenium WebDriver and Browser Drivers.



Day 1 : Session 4 :

  1. Selenium Web Driver with Java and Eclipse IDE
  2. Eclipse :  will help us to write, maintain, run Java programs/projects. 
  3. We can avoid CLI (command line interface 
  4. Workspaces >>> Projects >>> Programs 



Selenium Server from : https://www.selenium.dev/downloads/ 

https://chromedriver.chromium.org/downloads

Day 02 

  1. Any line starting with a hash sign (#) is considered a comment (single-line-comment)
  2. Comments are used for 
  3. Purpose of the code that helps to do easier KT in future. 
  4. Documenting your code in english.
  5. Comment old code and replace with new code. You are not deleting, and can easily change it back if needed. 
  6. Multi line comment (we use “”” at the beginning and “”” at the end)
  7. Helps us to comment a block of code or do a more detailed write-up.
  8. PyCharm helps us to color our code based on the keyword or character or variable/object
  9. Change the editor settings to make it larger font or change colors and preferences. 
  10. Personalize PyCharm to your needs or likings. 
  11. 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.” 
  12. You cannot run the code till you correct the syntax error (will run only till that point).
  13. Comments are exempt from Syntax. All else in the code needs to match with the Programming Language Syntax. 
  14. RunTime Error comes only during execution. 
  15. 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 - 



Complete and Continue  
Discussion

0 comments