mirror of
https://github.com/grafana/grafana.git
synced 2025-07-28 11:02:23 +08:00

* UserAdmin: Inform about enterprise user features * Update * Update * Update * Update * Update * New design * Update * Update * Update * Update * Update link * fix import * refactor to brand badge to component * Update * Update * Update * Update * Update links
141 lines
3.7 KiB
JavaScript
141 lines
3.7 KiB
JavaScript
const config = {
|
|
defaults: {
|
|
concurrency: 1,
|
|
runners: ['axe'],
|
|
useIncognitoBrowserContext: false,
|
|
standard: 'WCAG2AA',
|
|
chromeLaunchConfig: {
|
|
executablePath: '/usr/bin/google-chrome',
|
|
args: ['--no-sandbox'],
|
|
},
|
|
// see https://github.com/grafana/grafana/pull/41693#issuecomment-979921463 for context
|
|
// on why we're ignoring singleValue/react-select-*-placeholder elements
|
|
hideElements: '#updateVersion, [class*="-singleValue"], [id^="react-select-"][id$="-placeholder"]',
|
|
reporters: ['cli', ['json', { fileName: './pa11y-ci-results.json' }]],
|
|
},
|
|
|
|
urls: [
|
|
{
|
|
url: '${HOST}/login',
|
|
threshold: 0,
|
|
},
|
|
{
|
|
url: '${HOST}/login',
|
|
actions: [
|
|
"wait for element input[name='user'] to be added",
|
|
"set field input[name='user'] to admin",
|
|
"set field input[name='password'] to admin",
|
|
"click element button[data-testid='data-testid Login button']",
|
|
"wait for element button[data-testid='data-testid Skip change password button'] to be visible",
|
|
],
|
|
threshold: 2,
|
|
},
|
|
{
|
|
url: '${HOST}/?orgId=1',
|
|
threshold: 0,
|
|
},
|
|
{
|
|
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge',
|
|
threshold: 0,
|
|
},
|
|
|
|
// Dashboard settings
|
|
{
|
|
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=settings',
|
|
threshold: 0,
|
|
},
|
|
{
|
|
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=annotations',
|
|
threshold: 0,
|
|
},
|
|
{
|
|
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=variables',
|
|
threshold: 0,
|
|
},
|
|
{
|
|
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=links',
|
|
threshold: 0,
|
|
},
|
|
{
|
|
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=versions',
|
|
threshold: 0,
|
|
},
|
|
{
|
|
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=permissions',
|
|
// TODO: improve the accessibility of the permission tab https://github.com/grafana/grafana/issues/77203
|
|
threshold: 5,
|
|
},
|
|
{
|
|
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=dashboard_json',
|
|
threshold: 2,
|
|
},
|
|
|
|
// Misc
|
|
{
|
|
url: '${HOST}/?orgId=1&search=open',
|
|
threshold: 0,
|
|
},
|
|
{
|
|
url: '${HOST}/alerting/list',
|
|
// the unified alerting promotion alert's content contrast is too low
|
|
// see https://github.com/grafana/grafana/pull/41829
|
|
threshold: 7,
|
|
},
|
|
{
|
|
url: '${HOST}/datasources',
|
|
threshold: 0,
|
|
},
|
|
{
|
|
url: '${HOST}/org/users',
|
|
threshold: 2,
|
|
},
|
|
{
|
|
url: '${HOST}/org/teams',
|
|
threshold: 1,
|
|
},
|
|
{
|
|
url: '${HOST}/plugins',
|
|
threshold: 0,
|
|
},
|
|
{
|
|
url: '${HOST}/org',
|
|
threshold: 2,
|
|
},
|
|
{
|
|
url: '${HOST}/org/apikeys',
|
|
threshold: 4,
|
|
},
|
|
{
|
|
url: '${HOST}/dashboards',
|
|
threshold: 2,
|
|
},
|
|
],
|
|
};
|
|
|
|
function myPa11yCiConfiguration(urls, defaults) {
|
|
const HOST_SERVER = process.env.HOST || 'localhost';
|
|
const PORT_SERVER = process.env.PORT || '3001';
|
|
const noThresholds = process.env.NO_THRESHOLDS === 'true';
|
|
|
|
urls = urls.map((test, index) => {
|
|
return {
|
|
...test,
|
|
url: test.url.replace('${HOST}', `${HOST_SERVER}:${PORT_SERVER}`),
|
|
screenCapture: `./screenshots/screenshot-${index}.png`,
|
|
rootElement: '.main-view',
|
|
wait: 500,
|
|
|
|
// Depending on NO_THRESHOLDS (--no-threshold-fail in the dagger command), clear the thresholds
|
|
// to allow pa11y to fail the check and include error details in the results file
|
|
threshold: noThresholds ? undefined : test.threshold,
|
|
};
|
|
});
|
|
|
|
return {
|
|
defaults: defaults,
|
|
urls: urls,
|
|
};
|
|
}
|
|
|
|
module.exports = myPa11yCiConfiguration(config.urls, config.defaults);
|