Как мы можем использовать существующие сценарии селена (java), чтобы получить некоторые сквозные показатели производительности (низкая нагрузка) - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь использовать существующие сценарии автоматизации селена в java, разработанные командой Automation, чтобы получить некоторые сквозные показатели производительности (общее время загрузки страницы и c) - очень минимальная нагрузка, параллельно тестированию API-нагрузки.

Пожалуйста, дайте мне знать, что будет наиболее эффективным способом сделать это. Кроме того, я ищу минимальные изменения в сценариях селена, потому что это будет постоянное действие с каждым выпуском, и я хочу использовать функциональные сценарии в том виде, в котором они используются для повышения производительности.

Ваши предложения будут оценил.

спасибо!

1 Ответ

0 голосов
/ 05 февраля 2020

Я бы не использовал Selenium для нагрузочного тестирования. Если настройка выделенных тестов производительности не подходит, вы могли бы по крайней мере сделать это:

//Put this into the loaded scripts of your page under test. Make sure loadTimeMs is a global variable or saved to a hidden control.
var loadTimeMs = 0;
var pageContentRecieved = (new Date()).getTime();
$(window).load(function () {
    var pageLoaded = (new Date()).getTime();
    loadTimeMs = pageLoaded - pageContentRecieved;
});

Это даст вам приблизительное время для загрузки частей страницы syn c. Более важно, чтобы веб-сервер предоставил вам контент. Я рекомендую делать это контролируемым образом, вызывая страницу обратно как API в javascript.

//Return previous value for page load time.
JavascriptExecutor je = (JavascriptExecutor)driver;
int pageLoad = je.executeAsyncScript("return loadTimeMs;");

//Goes into Java code.
je = (JavascriptExecutor)driver;
int apiResponseTime = je.executeAsyncScript(
    "var loadTimeMs = 0;" +
    "var pageContentRecieved = (new Date()).getTime();" +
    "$.ajax({url: "demo_test.txt", success: function(result){" +
        "var pageLoaded = (new Date()).getTime();" +
        "return pageLoaded - pageContentRecieved;" +
    "}});" +
);
int fullLoadTime = pageLoad + apiResponseTime;

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

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