Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • 17:58

    christian-bromann on main

    run coverage as part of the com… (compare)

  • 17:55

    christian-bromann on main

    minor tweak (compare)

  • 17:45

    christian-bromann on main

    wait for project to be bootstra… (compare)

  • 17:41
    mighty98 commented #8349
  • 17:35

    christian-bromann on main

    run unit tests in the background (compare)

  • 17:31

    christian-bromann on main

    fix start script (compare)

  • 17:20
    mighty98 synchronize #8349
  • 17:17
    christian-bromann commented #8349
  • 17:17
    christian-bromann commented #8156
  • 17:08
    mighty98 commented #8349
  • 17:04
    christian-bromann commented #8307
  • 16:59
    christian-bromann commented #8349
  • 16:56
    linux-foundation-easycla[bot] commented #8349
  • 16:53
    mighty98 edited #8349
  • 16:53
    mighty98 edited #8349
  • 16:52
    mighty98 commented #8335
  • 16:52
    gitpod-io[bot] edited #8349
  • 16:52
    linux-foundation-easycla[bot] commented #8349
  • 16:52
    mighty98 opened #8349
  • 16:36
    christian-bromann unlabeled #8348
Christian Bromann
mhm .. maybe it does? I am not aware
Bruno Alassia
could that also depend on the underlying driver?
running a test
Christian Bromann
Bruno Alassia
cool, I can say webdriverio7 makes it fail as I get a 408
HTTP Status: 408
    "message": "Automation Server Error -- Selenium didn't complete your last command on time.\nFor help, please check https://docs.saucelabs.com/dev/error-messages"
I'm trialling some wdio tests on Browserstack, to see if we can get some coverage for older iOS. Having a spot of bother
This is for an Ember.js Single Page Application, so part of the URL is managed by Ember's router
when i call await browser.url('https://example.com/my-ember-app/#/my/ember/route'), it the page loads as expected
when the next test runs and await browser.url() is called with a different Ember route, the page reloads but the Ember route stays the same. It seems like the page hash isn't being honoured?
This issue is only hitting me when running with iOS and Appium, locally or on Browserstack
Has anyone else hit an issue like this, and can offer any leads I can follow to try and solve?

Hey everyone.

Still need help with that one.

I got a question regarding preparing data in onPrapare() hook.

We started to work with an old legacy project and the only way to prepare the test data for it, is the UI.
I need to create a couple of users before all the tests in all browser will be run, so only onPrepare() fits the purpose. But the problem is that global browser isn't instantiated yet during onPrepare() hook. The solution can be to use webdriver in standalone mode:

const { remote } = require('webdriverio');

(async () => {
    const standalone_browser = await remote({
        logLevel: 'trace',
        capabilities: {
            browserName: 'chrome'

but unfortunatelly some part of the code that I need to use during setup are already wrote in a pageObject pattern. And to use it, I need to use standalone_browser instead of a global browser, so pageObjects can use methods e.g. $ and $$. And I don't really want to rewrite those pageObjects because they are using my own framework wrappers that adds information to report automatically.

So the question is, is there a way to instantiate browser and use it globally on the onPrepare() hook. My first idea was just set global.browser = standalone_browser but unfortunately PageObjects still don't see $ method in this case.

When I use global.browser = standalone_browser it will allow to use browser.url in pageObject. But on first find methods it falls with ReferenceError: $ is not defined so my suggestion that this method references to global browser was wrong.

May be @christian-bromann can help with such specific question.

Hi all,
I'm using wdio and trying to type enter/search with the keyboard on an iOS device, but so far no success. I've tried pressKey() and sendKeyEvent, but realized those are not supported in iOS. And while browser.keys("\ue00D") and browser.keys("Enter") do not produce any error, they do not press anything either. Any help is super appreciated, I assume there is a simple solution for this, but have not found it yet.
Christian Bromann

@7artur7 pinging individual contributor is not necessary 😉

if you want to create users in a DB I recommend to call the DB directly or request and endpoint that does that for you, no need to use a browser

2 replies
Lay Mui
https://webdriver.io/docs/frameworks/#cucumber-options. the multiple expression does not work
12 replies
Ayushi Srivastava

If a webdriver io project is created on Linux and we want to run the scripts on windows do I need to make any configuration changes? Or just go ahead and run:
npm install
npm run test

please help!

3 replies
I am trying to utilize my node.js imap script with WDIO. I tried using browser.execute but it won't read variables that require npm packages (even if I installed those packages to my package.json).
  1. Can I run a file in the middle of a test spec?
  2. Is there a way to pass variables requiring packages to the parameters (currently showing as undefined/null)?
  3. Is there a way to explicitly define these variables in the browser.execute (it is not understanding the 'require' word).
  4. Are there any Imap packages supported by wdio?
1 reply
Hi Team, hope you are good. Kindly can you share how to check if the test case is failed and and at the same time its retry is left provided spec file retry is set to 1 ?
3 replies
Does anyone know if there is any possibility of generating Allure reports when running WebdriverIO tests as GitHub actions, as similar to the Allure plugin in Jenkins?
2 replies
Paul Grossman

I have a coding standard in JavaScript to use accent backtick marks with template literals.

Like this:

let celebrity = `Duane “The Rock” Johnson` 
let venue = `Moe’s Tavern`
console.log `Meet ${celebrity} at ${venue}`
*I missed the parents in the console.log() 🤦‍♂️
Paul Grossman
*Imma gonna stop as I can’t code or type from my mobile worth a dang.🤣
1 reply
Hi everyone,
is there is any way to set window size in safari?
i tried the following and it didn't worked
    'safari:options': {
      technologyPreview: true,
      args: ['--window-size=414,896'],
5 replies
Annotation 2022-05-12 101458.png
8 replies
Hello everybody,
I can't find how do I select another row from another table? In fact when I want to have the value of the row of a table I use xpath, except that there are several "tr" and "td" of different tables so the value of the first one comes out well in my test but for the others I don't know how to do. When I try to count the number to get to the line I need for example: if it's tr 8 I put $('//tbody/tr[8]/td[2]' but it doesn't work not.
Spas Genov
Guys, please help me with setting up the eslint rules, that's the error I am getting in WebStorm:
TS2304: Cannot find name 'browser'.
5 replies
Has anyone run webdriverio on a AWS (Amazon workspace) virtual desktop and found a way to increase window size? setWindowSize doesn't seem to do anything there and the window is truncated

Hello all.. I know we can pass the baseurl via wdio/cli .. but is there a way to pass just a string say 'QA' rather the complete URL and choose the url within the wdio config.. I have tried setting the env variable but it doesnt work.. TEST_ENV="WWW2" npx wdio CA-Indv-wdio.conf.js

TEST_ENV=WWW2 : The term 'TEST_ENV=WWW2' is not recognized as the name of a cmdlet, function, script file, or
operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
At line:1 char:1

  • TEST_ENV="WWW2" npx wdio CA-Indv-wdio.conf.js
  • ~~~
    • CategoryInfo : ObjectNotFound: (TEST_ENV=WWW2:String) [], CommandNotFoundException
    • FullyQualifiedErrorId : CommandNotFoundException
2 replies
Is there a way to use one config to run one set of features in chrome and another set of features in edge or safari
Artem Ovcharenko
Hi everyone, I'm trying to configure safari tests and realize the documentation is really poor. It would be really great if someone can give me some useful reading link/s or point to a project for a reference. I'm interested in browser capabilities config options and wdio-safaridriver-service usage.
Thank you in advance & happy coding!
2 replies
Hello. Just headbanging over some performActions() tests failing - there is currently a difference between running tests locally and running them via a selenium standalone container - locally requires value: 'Escape' and selenium still requires value: '\uE00C' for pressing the escape key. Was thinking about raising an issue for it, but wasn't sure if it should be a webdriver issue or a selenium issue? (example of failing test using container https://gitlab.com/MeldCE/first-draft/-/jobs/2450578640 when works locally [test is https://gitlab.com/MeldCE/first-draft/-/blob/e5726c55c90f3b57538b5775164f2558554e24eb/test/specs/pen.ts#L282])
1 reply
Aaron Elliott

Dear webdriverio community,
I am just getting started with wdio, and it seems I can even get the simplest functionality out of it. Every page I have tried to open up gives me a data:, - Chromium blank page, and I don't even know where to begin addressing this issue. At the bare minimum, I tried following the Getting Started and have the same results there. I would like to get a basic "hello world" functionality, but I seem blocked.
I'm running Ubuntu 20.04

$ node -v
$ npm ls webdriverio
├─┬ @wdio/cli@7.19.7
│ └── webdriverio@7.19.7
├─┬ @wdio/local-runner@7.19.7
│ └─┬ @wdio/runner@7.19.7
│   └── webdriverio@7.19.7 deduped
└─┬ wdio-chromedriver-service@7.3.2
  └── webdriverio@7.19.7 deduped
$ cat package.json 
    "name": "webdriverio-tests",
    "version": "0.1.0",
    "private": true,
    "devDependencies": {
        "@wdio/cli": "^7.19.7",
        "@wdio/local-runner": "^7.19.7",
        "@wdio/mocha-framework": "^7.19.7",
        "@wdio/spec-reporter": "^7.19.7",
        "chromedriver": "^101.0.0",
        "wdio-chromedriver-service": "^7.3.2"
    "scripts": {
        "wdio": "wdio run wdio.conf.js"

And here is a pastebin of the log output

Christian Bromann
@MosesBro hey Aaron, seems like your system can launch Chrome properly, I recommend inject the Chromedriver service https://www.npmjs.com/package/wdio-chromedriver-service
actually you already have that
are you on Linux?
Request failed with status 500 due to unknown error: DevToolsActivePort file doesn't exist tells me Chrome can’t launch properly which is not WebdriverIO related
Aaron Elliott
@christian-bromann Thanks so much for taking the time to respond. Yes, I'm on Linux, and you seem to be hinting that my OS is the issue. Could you point me in the right direction as to where I could debug that?
Christian Bromann
google the problem ;-)

We've been using WebdriverIO for a couple years, and I've observed that other QA teams will add babel support. My understanding is that this gives engineers the ability to use the latest JavaScript features, but it comes with more maintenance and debugging cost than just using the native JavaScript.

What features are folks using that require them to use the Babel transpiler, or are teams just including Babel because they think they need it? Can anyone provide some insight on what features they were missing that led them to use Babel in WebdriverIO? Thank you.

For the team I work with primarily, we do not use a transpiler.
1 reply
Christian Bromann

Can anyone provide some insight on what features they were missing that led them to use Babel in WebdriverIO?

Would it be better to ask those teams?

9 replies
My understanding of Babel is that it's valuable for development teams who want to use the latest JS features, but they also need their product to run in old legacy browsers that don't support the new features. With a Node.js app, we're all running on the same engine.

Can someone here please help...
shared-store-service getValue return undefined in onComplete hook

As per above PR this should have been fixed right??

Im using version 7.19.7


In onComplete result object is always undefined..
onComplete = async (exitCode: number, config: any, capabilities: any, result: any) => {
// emitter.emit('teams', { teams });

Can someone please help understand this

Tomás Garcia
Hi guys,
I don't understand how to tell a wdio cucumber feature to get steps form specific step-definition file.
My problem is if I write two gherkin steps (in different feature files) with the same text, the will collide. Even if they are, like I said, in different files.
I would like, for example that my 'login.feature' and ''dashboard.features' takes Given, Then and When steps from 'login.steps.ts' and 'dashboard.steps.ts' respectively.
4 replies
Hi guys can someone help me with code tobeclickable(), how to write using page object model in webdriver io
Hello. My tests run automatically. If any test fails, then I need to run the tests again manually to understand the cause of the error. Is it possible to take a screenshot of the browser after each test crash in wdio?
1 reply

Hello. I have a question about deleteCookies. I see from source code https://github.com/webdriverio/webdriverio/blob/f9eae7a6747b4bf55975a891f25643bba2165936/packages/webdriverio/src/commands/browser/deleteCookies.ts#L49

If name is not provided this.deleteAllCookies() wil be called, but there is no await and deleteAllCookies is async function.

Is this a mistake and can I contribution or I'm missing something?

2 replies

According to the cucumber documentation, it's possible to add descriptions to Features, Scenarios and other feature file properties.

I have added a description to my feature and I can see this description in the result file generated by wdio-cucumberjs-json-reporter. However it doesn't look like Scenario descriptions are being captured and added to the result file generated by wdio-cucumberjs-json-reporter. Has anyone done this before, or is this an issue? And if it is an issue, which package? For reference here are the cucumber packages I am using, "@cucumber/cucumber": "^7.3.2", "@cucumber/pretty-formatter": "1.0.0-alpha.0", "@wdio/cucumber-framework": "7.16.5", "wdio-cucumberjs-json-reporter": "^3.0.0".

1 reply
Is there a way to use one config to run one set of features in chrome and another set of features in edge or safari