mochaSetup.mjs 1014 B

123456789101112131415161718192021222324252627
  1. import { Options } from 'selenium-webdriver/chrome.js'
  2. import { Builder, Browser } from 'selenium-webdriver'
  3. import getRunner from './runner.mjs'
  4. export async function mochaGlobalSetup () {
  5. const options = new Options()
  6. options.addArguments('--headless', '--disable-gpu', '--disable-dev-shm-usage')
  7. // Logging in with a test password can raise Chrome's save-password or
  8. // breached-password prompt, which swallows clicks for every later test.
  9. options.setUserPreferences({
  10. credentials_enable_service: false,
  11. 'profile.password_manager_enabled': false,
  12. 'profile.password_manager_leak_detection': false,
  13. })
  14. global.webdriver = await new Builder().forBrowser(Browser.CHROME).setChromeOptions(options).build()
  15. await global.webdriver.manage().setTimeouts({ implicit: 0, pageLoad: 30000, script: 30000 })
  16. global.runner = getRunner()
  17. console.log('Runner constructor: ' + global.runner.constructor.name)
  18. }
  19. export async function mochaGlobalTeardown () {
  20. await global.webdriver.quit()
  21. }