Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Automation] Migrate FTR to webdriverio #87279

Open
4 of 8 tasks
dmlemeshko opened this issue Jan 5, 2021 · 0 comments
Open
4 of 8 tasks

[Automation] Migrate FTR to webdriverio #87279

dmlemeshko opened this issue Jan 5, 2021 · 0 comments

Comments

@dmlemeshko
Copy link
Member

dmlemeshko commented Jan 5, 2021

Describe the feature: Migrate FTR from selenium-webdriver to webdriverio

Advantages over selenium-webdriver:

  • Continuous development and support, patch releases are coming every 10-15 days
  • It uses Puppeteer by default to automate a browser like Chrome, Firefox or Chromium Edge: we can use Puppeteer features for the new and existing tests, the ones that WebDriver does not provide.
  • We can switch between Puppeteer and WebDriver still using the same API (Note: we probably will continue running tests with WebDriver after migration, we need to review stability while running all the existing tests with Puppeteer)
  • TS project

API is simple and very similar to the one we use today, so migration should go smoothly:

import { remote } from 'webdriverio'

let browser = await remote({ capabilities: { browserName: 'chrome' }})
await browser.navigateTo('https://www.google.com/ncr')
const searchInput = await browser.$('#lst-ib')
await searchInput.setValue('WebdriverIO')

await browser.deleteSession()

The following services needs to be migrated:

Some things might be broken/should be reimplemented:

  • browser console error logging
  • code coverage
  • cross-browser support (firefox, edge)
  • error reporting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant