What is Selenium :
- selenium was first created by Jason Huggins in 2004
- Selenium is a software testing tool which can automate your entire testing phase .
Components of Selenium :
Selenium is a package which has different components for different use cases .
- Selenium RC It is an web server which acts as an HTTP proxy .
- Selenium IDE It's just a plugin . Mainly used for recording and playback the script .
- Selenium Grid Multiple test cases can be executed simentaniously.
- Selenium WebDriver Main component of selenium which used for cross-platform testing .
Features :
- Open source .
- Easy to implement .
- less hardware usages .
- multi browser support .
- different language support .
- Parallel test execution .
Set up :
- Download
- Download the chrome driver (Different browser have diff driver)
Install Selenium standalone server
Open eclipse
- create a new project
- right click on it
- Navigate to properties
- Build paths
- click on classpath library .
- Add external jar
- Navigate to the folder (Where you have downloaded your selenium click on that and under lib folder we have our jar files(executable files) ) .
- Apply and close
A simple test case written on java :
public class Lunch { public static void main(String[] args) { System.setProperty("webdriver.chrome.drive", "C://selenium//chromedriver.exe"); //We need to create the object for our chromedriver WebDriver driver = new chromeDriver(); driver.get("https://www.facebook.com"); //Then we can perform Desired testing with driver object driver.findElement(By.id("email")).sendKeys("hlw"); driver.findElement(By.id("pass")).sendKeys("1234"); driver.findElement(By.name("login")).click(); } }
So here we are automating the task we might do manually like
- opening the browser .
- Insert the credentials .
- Then click on Log in .
- What we are defining Selenium is to go to the Facebook's URL and by using selectors .
We can find the selectors by inspecting the page (ctl + shift + i).
After Entering the credentials for username and password fields we then click on the login button .
How can we optimize more .
public class Lunch { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\\Selinium\\chromedriver.exe"); //we need create a object for the chromedriver WebDriver driver = new ChromeDriver(); driver.get("https://www.facebook.com"); String title = driver.getTitle(); //Actual title // Facebook β log in or sign if(title.matches("Facebook β log in or sign up")) { System.out.println("valid page"); driver.findElement(By.id("email")).sendKeys("hlw"); driver.findElement(By.id("pass")).sendKeys("1234"); driver.findElement(By.name("login")).click(); }else { System.out.println("Invalid page"); driver.close(); } } }
Upon the validity of the mentioned URL we are performing the task otherwise simply close the connection .
we can use TestNg for generating the test reports . where NG means "next generation" . It is a testing framework like Junit .
Features of TestNG :
- annotations are easy to create test cases .
- Test case can be grouped by prioritized more easily .
- It supports parameterization .
- supports data-driven testing using DataProviders .
- Generates HTML reports .
- Parallel test execution is possible .
Annotations in TestNG :
Annotations in TestNG are used to decide the flow of the program .
- @BeforeSuite
- @BeforeTest
- @BeforeClass
Why do we need Maven :
- Imagine a scenario where we want to give the same test case file to other person then we have to also include the jar files which is time taking because sending a lot of jar files over the internet could be inappropriate .
- Here we could use Maven .
- Maven is used to download dependencies for a software program .
- dependencies are downloaded are included inside a POM file .
- Once the dependencies are included simply save the project and all the dependencies will automatically downloaded .
Top comments (0)