diff --git a/test/helpers/selenium-helper.js b/test/helpers/selenium-helper.js index ce2d6a533e35a43b07ae7557b64b0d96ebadccf5..2d979e4486221ed08b770c2a572572d4f2e8f498 100644 --- a/test/helpers/selenium-helper.js +++ b/test/helpers/selenium-helper.js @@ -44,6 +44,9 @@ class SeleniumHelper { args.push('--headless'); } chromeCapabilities.set('chromeOptions', {args}); + chromeCapabilities.setLoggingPrefs({ + performance: 'ALL' + }); this.driver = new webdriver.Builder() .forBrowser('chrome') .withCapabilities(chromeCapabilities) diff --git a/test/integration/examples.test.js b/test/integration/examples.test.js index f745dc24d2c0101582e5901d581d7dd901f717d7..ecaeb56f2fa36f9bd83095563395f72a7759426f 100644 --- a/test/integration/examples.test.js +++ b/test/integration/examples.test.js @@ -35,6 +35,14 @@ describe('player example', () => { await clickXpath('//img[@title="Stop"]'); const logs = await getLogs(); await expect(logs).toEqual([]); + const projectRequests = await driver.manage().logs() + .get('performance') + .then(pLogs => pLogs.map(log => JSON.parse(log.message).message) + .filter(m => m.method === 'Network.requestWillBeSent') + .map(m => m.params.request.url) + .filter(url => url === 'https://projects.scratch.mit.edu/internalapi/project/96708228/get/') + ); + await expect(projectRequests).toEqual(['https://projects.scratch.mit.edu/internalapi/project/96708228/get/']); }); }); @@ -58,6 +66,14 @@ describe('blocks example', () => { await clickXpath('//img[@title="Stop"]'); const logs = await getLogs(); await expect(logs).toEqual([]); + const projectRequests = await driver.manage().logs() + .get('performance') + .then(pLogs => pLogs.map(log => JSON.parse(log.message).message) + .filter(m => m.method === 'Network.requestWillBeSent') + .map(m => m.params.request.url) + .filter(url => url === 'https://projects.scratch.mit.edu/internalapi/project/96708228/get/') + ); + await expect(projectRequests).toEqual(['https://projects.scratch.mit.edu/internalapi/project/96708228/get/']); }); test('Change categories', async () => {