Вычисление времени загрузки страницы с помощью Selenium или других инструментов тестирования? - PullRequest
0 голосов
/ 15 апреля 2020

Я хотел измерить время загрузки страницы для каждой страницы веб-приложения.

Ранее мы использовали расширение Google Page Load Time для приложения с несколькими страницами, и оно даст подробности.

В настоящее время мы точно пытаемся: I wanted to measure the page load time before and after build and should present because of the performance tuning is there any improvement or not.

Поскольку это single page angular application, мера увеличения времени загрузки страницы, когда страница полностью обновляется. Так как это одностраничное приложение, я могу измерять только войдите после этого, страница не обновляется, поэтому это расширение бесполезно ..

Основано на приведенном ниже посте Инструменты для измерения производительности пользовательского интерфейса

Я использовал этот селен код.

        WebDriver driver;
        System.out.println("Running on Chrome");
        System.setProperty("webdriver.chrome.driver", "./chromedriver.exe");
        driver = new ChromeDriver();
        JavascriptExecutor js = (JavascriptExecutor)driver;
        driver.get("http://www.google.com");
        System.out.println(driver.getTitle());
        String scriptToExecute = "var performance = window.performance || window.mozPerformance || 
        window.msPerformance || window.webkitPerformance || {}; var network = 
        performance.getEntries() || {}; return network;";
        String netData = ((JavascriptExecutor)driver).executeScript(scriptToExecute).toString();
        System.out.println(netData);

он дает много информации, но мне нужно только only page load time, чтобы я мог сравнить список до и после изменения кода ..

    @Test(priority = 0, enabled = true)
    public void AuthorizaationAutomation()
            throws IOException, InterruptedException, ATUTestRecorderException, APIException, AWTException {
        ATUTestRecorder record = new ATUTestRecorder("./video",
                Thread.currentThread().getStackTrace()[1].getMethodName(), false);
        record.start();

        WebDriver driver;
        System.out.println("Running on Chrome");
        System.setProperty("webdriver.chrome.driver", "./chromedriver.exe");
        driver = new ChromeDriver();
        JavascriptExecutor js = (JavascriptExecutor)driver;
        driver.get("https://testapplication.com/");
        long loginPage = responseTime(driver, "Loginpage");
        System.out.println("TimeTakenToLoadLoginPage:"+ loginPage);
        driver.findElement(By.id("login-input")).sendKeys("app1");
        //driver.findElement(By.xpath("//*[@id='usernameForm']/div[3]/div/button[1]")).click();;
        driver.findElement(By.id("userPassword")).sendKeys("user1");
        driver.findElement(By.xpath("//*[@id='usernameForm']/div[3]/div/button[1]")).click();;
        long 

homePage = responseTime(driver, "HomePage");
        System.out.println("TimeTakenToLoadHomePage:"+ homePage);
        }


    public long responseTime(WebDriver driver, String PageName) {
        String navigationStart = "return window.performance.timing.navigationStart";
        String responseStart = "return window.performance.timing.responseStart";
        String domComplete = "return window.performance.timing.domComplete";
        String navstart= ((JavascriptExecutor)driver).executeScript(navigationStart).toString();
        String res= ((JavascriptExecutor)driver).executeScript(responseStart).toString();
        String dom= ((JavascriptExecutor)driver).executeScript(domComplete).toString(); 
        long backendPerformance_calc= Long.parseLong(res) -Long.parseLong(navstart);
        long frontendPerformance_calc= Long.parseLong(dom) -Long.parseLong(res);
        //System.out.println(backendPerformance_calc);
        System.out.println(PageName+" "+frontendPerformance_calc);
        return frontendPerformance_calc;
}

я получаю ниже результатов. перед сбором самого homePage он завершает прогон и показывает те же результаты для домашней страницы.

Loginpage 13951
TimeTakenToLoadLoginPage:13951
HomePage 13951
TimeTakenToLoadHomePage:13951
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...