blob: e21c0a6c12ab794b672a1f3306a197c630414c2c [file] [log] [blame]
import { assert } from 'chai';
import {
loadCachedTestBed,
takeScreenshot,
TestBed,
} from '../../../puppeteer-tests/util';
describe('explore-sk', () => {
let testBed: TestBed;
before(async () => {
testBed = await loadCachedTestBed();
});
beforeEach(async () => {
testBed.page.on('dialog', async (dialog) => {
await dialog.accept();
});
await testBed.page.goto(testBed.baseUrl);
await testBed.page.setViewport({ width: 1600, height: 1600 });
await testBed.page.click('#close_query_dialog');
});
it('should render the demo page', async () => {
// Smoke test.
assert.equal(await (await testBed.page.$$('explore-sk')).length, 1);
});
describe('screenshots', () => {
it('shows the default view', async () => {
await takeScreenshot(testBed.page, 'perf', 'explore-sk');
});
it('shows the query dialog', async () => {
await testBed.page.click('#demo-show-query-dialog');
await testBed.page.waitForSelector('#query-dialog', {
visible: true,
});
await takeScreenshot(testBed.page, 'perf', 'explore-sk_query_dialog');
});
it('loads the traces', async () => {
await testBed.page.click('#demo-load-traces');
await testBed.page.waitForSelector('#traceButtons', {
visible: true,
});
await takeScreenshot(testBed.page, 'perf', 'explore-sk_traces_loaded');
});
it('displays bisect button if window.perf.fetch_chrome_perf_anomalies is true', async () => {
await testBed.page.click('#demo-show-bisect-button');
await testBed.page.waitForSelector('#traceButtons', {
visible: true,
});
await takeScreenshot(
testBed.page,
'perf',
'explore-sk_display_bisect_button'
);
});
it('highlights a trace when the plot is clicked on', async () => {
await testBed.page.click('#demo-select-trace');
await testBed.page.waitForSelector('#controls', {
visible: true,
});
await takeScreenshot(testBed.page, 'perf', 'explore-sk_trace_selected');
});
it('displays a subset of data when a calculated trace is clicked on', async () => {
await testBed.page.click('#demo-select-calc-trace');
await testBed.page.waitForSelector('#details', {
visible: true,
});
await takeScreenshot(
testBed.page,
'perf',
'explore-sk_trace_calc_selected'
);
});
it('loads shows the help dialog on a keypress of ?', async () => {
await testBed.page.click('#demo-show-help');
await testBed.page.waitForSelector('#help', {
visible: true,
});
await takeScreenshot(testBed.page, 'perf', 'explore-sk_help_dialog');
});
it('loads the traces and collapses the details section', async () => {
await testBed.page.click('#demo-load-traces');
await testBed.page.waitForSelector('#traceButtons', {
visible: true,
});
await testBed.page.click('#collapseButton');
await takeScreenshot(testBed.page, 'perf', 'explore-sk-collapse-details');
});
it('loads the traces and hovers over a trace to display trace information', async () => {
await testBed.page.click('#demo-load-traces');
await testBed.page.waitForSelector('#traceButtons', {
visible: true,
});
await testBed.page.hover('plot-simple-sk');
await takeScreenshot(testBed.page, 'perf', 'explore-sk-trace-details');
});
});
});