MOBILE-3833 behat: Document performance config
parent
faec9c4a8e
commit
994d1bb149
|
@ -14,6 +14,8 @@
|
|||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
use Behat\Mink\Exception\DriverException;
|
||||
use Facebook\WebDriver\Exception\InvalidArgumentException;
|
||||
use Moodle\BehatExtension\Driver\WebDriver;
|
||||
|
||||
/**
|
||||
|
@ -268,7 +270,7 @@ class performance_measure implements behat_app_listener {
|
|||
$scripting = 0;
|
||||
$styling = 0;
|
||||
$networking = 0;
|
||||
$logs = $this->driver->getWebDriver()->manage()->getLog('performance');
|
||||
$logs = $this->getPerformanceLogs();
|
||||
|
||||
foreach ($logs as $log) {
|
||||
// TODO this should filter by end time as well, but it seems like the timestamps are not
|
||||
|
@ -304,4 +306,39 @@ class performance_measure implements behat_app_listener {
|
|||
$this->networking = $networking;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get performance logs.
|
||||
*
|
||||
* @return array Performance logs.
|
||||
*/
|
||||
private function getPerformanceLogs(): array {
|
||||
try {
|
||||
return $this->driver->getWebDriver()->manage()->getLog('performance');
|
||||
} catch (InvalidArgumentException $e) {
|
||||
throw new DriverException(
|
||||
implode("\n", [
|
||||
"It wasn't possible to get performance logs, make sure that you have configured the following capabilities:",
|
||||
"",
|
||||
"\$CFG->behat_profiles = [",
|
||||
" 'default' => [",
|
||||
" 'browser' => 'chrome',",
|
||||
" 'wd_host' => 'http://selenium:4444/wd/hub',",
|
||||
" 'capabilities' => [",
|
||||
" 'extra_capabilities' => [",
|
||||
" 'goog:loggingPrefs' => ['performance' => 'ALL'],",
|
||||
" 'chromeOptions' => [",
|
||||
" 'perfLoggingPrefs' => [",
|
||||
" 'traceCategories' => 'devtools.timeline',",
|
||||
" ],",
|
||||
" ],",
|
||||
" ],",
|
||||
" ],",
|
||||
" ],",
|
||||
");",
|
||||
"",
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,25 @@
|
|||
@app @javascript @performance
|
||||
Feature: Measure performance.
|
||||
|
||||
# In order to run performance tests, you need to add the following capabilities to your Behat configuration:
|
||||
#
|
||||
# $CFG->behat_profiles = [
|
||||
# 'default' => [
|
||||
# 'browser' => 'chrome',
|
||||
# 'wd_host' => 'http://selenium:4444/wd/hub',
|
||||
# 'capabilities' => [
|
||||
# 'extra_capabilities' => [
|
||||
# 'goog:loggingPrefs' => ['performance' => 'ALL'],
|
||||
# 'chromeOptions' => [
|
||||
# 'perfLoggingPrefs' => [
|
||||
# 'traceCategories' => 'devtools.timeline',
|
||||
# ],
|
||||
# ],
|
||||
# ],
|
||||
# ],
|
||||
# ],
|
||||
# ];
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username |
|
||||
|
|
Loading…
Reference in New Issue