Most of the time we would like to check the performance of site like the page load time. But in WebDriver we don't have any direct method to do this. So here is the sample code to achieve this using TestNG framework:
- import java.util.concurrent.TimeUnit;
- import org.openqa.selenium.By;
- import org.openqa.selenium.WebDriver;
- import org.openqa.selenium.WebElement;
- import org.openqa.selenium.firefox.FirefoxDriver;
- import org.openqa.selenium.firefox.FirefoxProfile;
- import org.testng.annotations.BeforeTest;
- import org.testng.annotations.Test;
- public class CheckPageLoadTime{
- WebDriver driver;
- @BeforeTest
- public void start(){
- driver = new FirefoxDriver();
- }
- @Test
- public void LoadTime(){
- long startTime = System.currentTimeMillis()/1000;
- System.out.println("The startTime is "+startTime);
- //Set the acceptable Page load time to 60 sec
- driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
- driver.get("http://google.com/");
- WebElement search = driver.findElement(By.name("q"));
- //Iterate through the loop as long as time(60sec) is with in the acceptable Page load time
- while(((System.currentTimeMillis()/1000)-startTime)<60){
- if(search.isDisplayed()){
- long endTime = System.currentTimeMillis()/1000;
- System.out.println("The endTime is "+endTime);
- long loadTime = endTime - startTime;
- System.out.println("Totaltime: " +loadTime + " seconds");
- break;
- }
- }
- }
- }
Here is the output of above program(It may vary for you)
- The startTime is 1338712185
- The endTime is 1338712215
- Totaltime: 30 seconds
Am new to java.. Where is the main method? How to compile it?
ReplyDeleteq is the name of search box.
ReplyDelete