Web Dev Solutions

Catalin Mititiuc

From ac71447aee59daa5693cc09a50b4b3101fbdefb2 Mon Sep 17 00:00:00 2001 From: Catalin Mititiuc Date: Thu, 18 Apr 2024 15:11:04 -0700 Subject: Add another integration test; document debugging integration tests --- test/integration/page.test.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'test') diff --git a/test/integration/page.test.js b/test/integration/page.test.js index 7157bff..452d542 100644 --- a/test/integration/page.test.js +++ b/test/integration/page.test.js @@ -1,4 +1,4 @@ -const { Builder } = require('selenium-webdriver'), +const { Builder, By } = require('selenium-webdriver'), chrome = require('selenium-webdriver/chrome.js'), { expect, it } = require('@jest/globals'), chromeOptions = new chrome.Options(); @@ -7,12 +7,25 @@ let driver; chromeOptions.addArguments('--headless', '--disable-gpu', '--no-sandbox'); -beforeAll(async () => { +beforeEach(async () => { driver = new Builder().forBrowser('chrome').setChromeOptions(chromeOptions).build(); + await driver.get("http://localhost:3005"); }); it('loads the page', async () => { - await driver.get("http://localhost:3005"); - expect(await driver.getTitle()).toEqual('Infantry Combat Solo Basic'); }); + +it('selects a trooper by clicking on their counter', async () => { + await driver.switchTo().frame(driver.findElement(By.css('object'))); + + const selector = 'use.counter[data-allegiance="liao"][data-number="1"]', + svg = await driver.findElement(By.css('svg')), + counter = await driver.findElement(By.css(selector), svg); + + await counter.click(); + + expect(await counter.getAttribute('class')).toEqual(expect.stringContaining('selected')); +}); + +afterEach(async () => await driver.quit()); -- cgit v1.2.3