Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Может ли codeception получить TTFB, скорость отдачи первого байта?

codeception
php
Теги: #<Tag:0x00007fedb8820728> #<Tag:0x00007fedb8820548>

(Руслан Бондаренко) #1

Проблема (Вопрос) заключается что есть 600 страниц сайта, тест проходится по каждой и смотрит скорость загрузки каждой страницы и делает отчет в excel

Я попытался сделать
через phpbrowser, делал:

try {
                    $I->sendGET($value);
                    $I->seeResponseCodeIs(200);
                    $time_post = microtime(true);
                    $exec_time = $time_post - $time_pre;
                    $reports[$urlKey][] = array(
                        "uri" => $value,
                        "time" => $exec_time,
                    );
                } catch (Exception $e) {
                    $time_post = microtime(true);
                    $exec_time = $time_post - $time_pre;
                    $reports[$urlKey][] = array(
                        "uri" => $value,
                        "time" => $exec_time,
                    );
                }

У меня не получилось …
но данная скорость это скорее всего скорость отдачи полного ответа, а хотелось бы получить именно ttfb


#2

Сперто отсюда stackoverflow

$url = 'https://www.example.com/';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);

curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);

echo "TTFB of ".$url." is: ".$info['starttransfer_time'];

(Руслан Бондаренко) #3

Спасибо большое) уже и не надеялся…


(Руслан Бондаренко) #4

Спасибо, работает)
Забыл совсем про curl…


(Сергей Кузьмин) #5

еще есть



он правда не совсем те что вы указвали поля собирает …
https://w3c.github.io/perf-timing-primer/