index : btroops | |
Virtual board game-aid for BattleTroops, an infantry combat simulator wargame published by FASA in 1989. |
aboutsummaryrefslogtreecommitdiff |
diff options
author | Catalin Mititiuc <webdevcat@proton.me> | 2024-05-23 12:06:01 -0700 |
---|---|---|
committer | Catalin Mititiuc <webdevcat@proton.me> | 2024-05-23 12:06:01 -0700 |
commit | d729079cdf63a4382e3e3225295784124e0a4d5d (patch) | |
tree | d3ccd936e9e294a0492f7cb261d3266f133cc1d5 /test/integration/page.test.js | |
parent | d06277bad51439595a02b449f50ce43645355d45 (diff) |
WIP: intercept request in test
Diffstat (limited to 'test/integration/page.test.js')
-rw-r--r-- | test/integration/page.test.js | 68 |
1 files changed, 59 insertions, 9 deletions
diff --git a/test/integration/page.test.js b/test/integration/page.test.js index 42167ae..e4739b0 100644 --- a/test/integration/page.test.js +++ b/test/integration/page.test.js @@ -1,11 +1,20 @@ const { Builder, By } = require('selenium-webdriver'), chrome = require('selenium-webdriver/chrome.js'), + getNetworkInstance = require('selenium-webdriver/bidi/network.js'), + { AddInterceptParameters } = require('selenium-webdriver/bidi/addInterceptParameters'), + { InterceptPhase } = require('selenium-webdriver/bidi/interceptPhase'), { expect, it } = require('@jest/globals'), chromeOptions = new chrome.Options(), { mkdir, writeFile, symlink, unlink } = require('node:fs/promises'), - path = require('path'); + path = require('path'), + { tmpdir } = require('os'), + puppeteer = require('puppeteer'); + +const DIR = path.resolve(tmpdir(), 'test-dir'); + chromeOptions.addArguments('--headless', '--disable-gpu', '--no-sandbox'); +chromeOptions.enableBidi(); let driver; @@ -18,7 +27,6 @@ beforeEach(async () => { // console.log('manage', await driver.manage()); - await driver.get('http://localhost:3005'); }); it('loads the page', async () => { @@ -42,17 +50,59 @@ it('loads the page', async () => { // console.log('client', await driver.executeScript(`return document.querySelect('object');`)); }); -it('selects an off-board soldier', async () => { +it.only('selects an off-board soldier', async () => { // it.only.each(Array(10).fill(null))('selects an off-board soldier', async () => { - await driver.switchTo().frame(await driver.findElement(By.css('object'))); - const selector = '.counter[data-allegiance="attacker"][data-number="1"]', - svg = await driver.findElement(By.css('svg')), - counter = await driver.findElement(By.css(selector), svg); + const id = await driver.getWindowHandle(); + const network = await getNetworkInstance(driver, id); + await network.beforeRequestSent(function (event) { + console.log('request url', event.request.url); + }); + + // const intercept = await network.addIntercept(new AddInterceptParameters(InterceptPhase.BEFORE_REQUEST_SENT)); + + await driver.get('http://localhost:3005'); + // await driver.switchTo().frame(await driver.findElement(By.css('object'))); + + // const testDir = path.dirname(expect.getState().testPath); + // await writeFile(path.join(testDir, `scenario.svg`), ` + // <?xml version="1.0" standalone="no"?> + // <svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"> + // </svg> + // `); + + + // const browser = await puppeteer.launch(); + + // // Create a page + // const page = await browser.newPage(); + + // await page.setRequestInterception(true); + + // page.on('request', interceptedRequest => { + // console.log('intercept req url', interceptedRequest.url()); + // interceptedRequest.continue(); + // }); + + // // Go to your site + // await page.goto('http://localhost:3005'); + + + // await browser.close(); + + + + // console.log('test dir', testDir); + + // const selector = '.counter[data-allegiance="attacker"][data-number="1"]', + // svg = await driver.findElement(By.css('svg')), + // counter = await driver.findElement(By.css(selector), svg); + + // takeScreenshot(driver); - await counter.click(); + // await counter.click(); - expect(await counter.getAttribute('class')).toEqual(expect.stringContaining('selected')); + // expect(await counter.getAttribute('class')).toEqual(expect.stringContaining('selected')); }); afterEach(async () => { |