Showing posts with label Selenium. Show all posts
Showing posts with label Selenium. Show all posts

Wednesday, October 21, 2020

A fun case to automate cont.

A few month earlier I wrote an automation script in Robot framework which will go to bongobd and navigate to a specific section and play a video. Few days ago I tried to run it and found out it is failing. Upon further investigation I realize the whole section is removed from the site thus the locator is not able to find it and the whole case is failing. I decide to fix it to run it again.

When I was fixing it I feel the need to validate all category pages first so that I can find it in advance if any sections are missing or updated. Then search for the same video and play it. While updating I feel the need to redesign the code for the ease of maintenance, reusability and better understanding. So I decided to go for page object modelling (POM).

In order to design it in POM first I investigate which parts of the website is remaining the same across all pages so I can model them as page objects. Find out header navigation bar and footer are always remaining the same. So, created headerBar.robot and footer.robot objects.

After that as I am interacting with the search result page, I created another object called searchResult.robot and all my test cases were listed in bongo.robot like before. And also make sure that all validations are done here and no where else.

Project was running fine and notice that some actions need to taken at start and writing those action in test case file does not feel right to me. So, I created another object called initial.robot and call it upon setup. And put all locators and inputs in variable so future updates will be easy.

I know that there is still room for improvement but still I am satisfied with all changes I have done. I think it is much more maintainable and reusable than before.

Here is the git hub repository link,

github.com/wasiqul/robotframework_bongobd

Sunday, February 2, 2020

A fun case to automate

Github repository link: https://github.com/wasiqul/robotframework_bongobd

Test Case Descritions: User will click the free content,load the content & play it

Detail steps,
Step 1: Open the Chrome browser
Step 2: Go to https://www.bongobd.com
Step 3: Click on Classic
Step 4: Scroll till Most Watched section
Step 5: Click on Ontore Ontore film link
Step 6: Watch advertisement
Step 7: Play the movie
Step 8: Watch the movie for first 1 minute
Step 9: Close the browser

Expected result: The script that automates the flow should work without any errors


Different types of Asserts in Robot Framework

1. Builtin library:
http://robotframework.org/robotframework/latest/libraries/BuiltIn.html
2. Selenium library:
https://robotframework.org/SeleniumLibrary/SeleniumLibrary.html
3. Collections library:
http://robotframework.org/robotframework/latest/libraries/Collections.html

Monday, January 27, 2020

Different types of Waits in Robot Framework (Selenium Library)

1. Sleep
Waits for a specific given time.

2. Set Selenium Speed
Waits given specific time before each Selenium actions performed.

3. Set Selenium Timeout
Waits given specific time before throwing exception for each Selenium Waits.


4. Set Selenium Implicit Wait
Waits given specific time before throwing exception for each Selenium action's locator not found (only when locator is not found, if found it will wait default time).

Wednesday, January 25, 2012

Running test scripts in Selenium 2.0

Following are the steps I used to run selenium webdriver
(Windows, Mozilla Firefox, Eclipse, Java)

Selenium IDE
- Open your Mozilla Firefox browser and Selenium IDE add on
- Record a simple and short test case for your testing application through Firefox and IDE
- Replay it ensure that cases runs alright as you recorded
- Export Test Case as JUnit4(Webdriver) Script from IDE

Selenium Webdriver/ Selenium 2.0
- Run Eclipse
- Create an new project
- Create a Class for the project without Main()
- Add the downloaded webdriver .jar files to your project in Java Build path-> Library
- Paste the JUnit4 code exported from IDE
- Hit the play button and enjoy ;)