Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • 05:19
    vishanthQA commented #6553
  • Mar 06 18:01
    AlexGrs commented #6550
  • Mar 06 17:15
    DudaGod opened #6559
  • Mar 06 15:18
    iamkenos opened #6558
  • Mar 06 14:25
    flunderpero opened #6557
  • Mar 06 13:47
    flunderpero opened #6556
  • Mar 06 12:40
    azygis commented #6555
  • Mar 06 12:40
    azygis closed #6555
  • Mar 06 12:40
    azygis commented #6549
  • Mar 06 12:40
    azygis commented #6549
  • Mar 06 12:39
    azygis commented #6549
  • Mar 06 12:18
    azygis commented #6549
  • Mar 06 12:06

    christian-bromann on main

    Support Selenium 4.0 Grid CDP f… (compare)

  • Mar 06 12:06
    christian-bromann closed #6508
  • Mar 06 12:05
    christian-bromann labeled #6508
  • Mar 06 12:05
    christian-bromann commented #6508
  • Mar 06 12:03
    christian-bromann closed #6551
  • Mar 06 12:03
    christian-bromann labeled #6554
  • Mar 06 12:03
    christian-bromann labeled #6554
  • Mar 06 12:01
    christian-bromann commented #6549
Caleb Jaquith

Is this warning suppressable?

[0-0] RUNNING in chrome - /tests/specs/basic.js
[0-0] Warning! Unsupported expect lib is used.
Only Jasmine >= 3.3.0 and Jest's expect are supported.
expect-webdriverio is assigned to global.expectWdio

I imagine if I let the native assertion library use expect that'd be fine, but I like using that instead of chai.expect

4 replies
Appium with webdriverio I am getting following errors. Any idea why its coming ?

A service failed in the 'onPrepare' hook
Error: Appium exited before timeout (Exit code: 2)
at ChildProcess.exitCallback (/private/tmp/scratchkLlkKg.scratch/test-packageVJzcYO/node_modules/wdio-appium-service/build/launcher.js:94:28)
at Object.onceWrapper (events.js:317:30)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)

at new RuntimeError (/private/tmp/scratchkLlkKg.scratch/test-packageVJzcYO/node_modules/webdriverio/build/lib/utils/ErrorHandler.js:143:12)
at Request._callback (/private/tmp/scratchkLlkKg.scratch/test-packageVJzcYO/node_modules/webdriverio/build/lib/utils/RequestHandler.js:332:43)
at self.callback (/private/tmp/scratchkLlkKg.scratch/test-packageVJzcYO/node_modules/request/request.js:185:22)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at ClientRequest.<anonymous> (/private/tmp/scratchkLlkKg.scratch/test-packageVJzcYO/node_modules/request/request.js:819:16)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:106:13)
at ClientRequest.emit (events.js:208:7)
at Socket.emitTimeout (_http_client.js:718:34)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:106:13)
at Socket.emit (events.js:208:7)
at Socket._onTimeout (net.js:422:8)
at ontimeout (timers.js:498:11)
at tryOnTimeout (timers.js:323:5)

@ofindley , that {reverse:true} parameter syntax is only for v6. For v5 it's $(selector).waitForExist(ms, reverse, error) (documentation: https://v5.webdriver.io/docs/api/element/waitForExist.html)
1 reply
Hello. Is there any way to match in case insensitive mode. I'm thinking of iframe(src*='ExampleApp') which is sometimes served as exampleapp, sometimes as ExampleApp.
@Lecale, how about iframe(src*='xample') :D There is also an 'or' syntax for xpaths, match a or b
Owen Carter

Hi All i'm a bit new to the 'setting up' of automation frameworks. I've got an electron desktop app which I've configured to run spectron which under the hood accesses webdriverIO. Now i've used webdriver before i.e I recall the browser object. Reading online the browser object is application.client.

My automation test access the webdriverIO functions which is awesome! The only problem is. The intelisense for webdriverIO in spectron application.client does not show in VSCode for methods like element(), .getText(), pause(). The things native to webdriverIO how do I get them to appear to the programmer?

but risky to cut out parts of the src tag unfortunately
Martijn Kuhlemeier
Hey, does anyone know if you can define custom matchers for expect-webdriverio? there is no mention about it here: https://webdriver.io/docs/api/expect.html
Erwin Heitzman
Not sure but quite likely as it's just an extension @martijnhjk I'd just try it out as it's the fastest way to an answer to that question
12 replies
@kraggerz not sure if I am right on this but I think you need to extend you app with the WebdriverIO types
@Lecale then you can try the xpath 'or' syntax; iframe(src='ExampleApp') or iframe(src='exampleapp')
okay, i will try that. Is it in the webdriverio docs? I don't find it.
Erwin Heitzman
@Lecale sounds like a nice thing to fix in the frontend code rather then to create a workaround in the test ;)
tell me about it :)
@Lecale it's not in the webdriverio docs; just basic xpath operators: https://www.w3schools.com/xml/xpath_operators.asp.
But actually something like this might be better:
 //iframe[contains(lower-case(@src), ‘exampleapp’)]
Documentation for xpath contains syntax: https://www.scientecheasy.com/2019/11/xpath-contains-text.html/

@Lecale Apparently there's also a 'matches' option with a case-insensitive flag 'i' in xpath 2.0:


Ref. https://stackoverflow.com/questions/2893551/case-insensitive-matching-in-xpath

Hi, there is beautiful app for VSCode Mocha Test Explorer which allow to run tests individualy through editor UI. I just can not figure out if it can be used for WebdriverIO as well?
Felix Ivan Romero Rodríguez

Hi, faced the issue of stand-alone seleniun driver, there is already a solution?

Could not load plugin wdio from module './plugin/wdio':
Couldn't initialize service selenium-standalone from wdio plugin config.
It should be available either in '@wdio/selenium-standalone-service' package

My config is as follow

  "name": "automate-qa",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  "keywords": [],
  "author": "felix<firomerorom4>",
  "license": "ISC",
  "dependencies": {
    "@codeceptjs/ui": "^0.3.8"
  "devDependencies": {
    "@wdio/selenium-standalone-service": "5.16.10"

Installed codecepts globally

So, I've been running my tests using webdriver.io v6 with 2 capabilities: chrome and firefox. It seems at max instances of 1, it runs both capabilities in parallel. Is this expected? And, if I had 10 different capabilities defined, would it run 10 test specs at a time? Is there a way to limit this? Also, on webdriver.io v5, it used to run each test spec on each capability serially.
@firomero , I imagine you need to install and run wdio to load @wdio/selenium-standalone-service
Orane Findley
Using webdriver v5 whats the best/recommended way to set the date on a calendar field?
Samuel Freiberg
Has anyone performed some type of accessibility testing for a React-Native windows application using WebDriverIO?
Felix Ivan Romero Rodríguez

@firomero , I imagine you need to install and run wdio to load @wdio/selenium-standalone-service


It's not in your package.json dependencies though. So you must be using a global wdio? The global wdio may not see the local @wdio/selenium-standalone-service. Recommend having all packages available locally.
Hey Everyone
Is it a known issue that moveTo function does not work on Safari? is there any workaround?

Context: webdriverIO v5
Issue : console ouput variation makes me think local runner doesnt shutdown properly
Normal console log :

Spec Files:     1 passed, 1 total (100% completed) in 00:00:16 

2020-05-22T19:48:56.766Z INFO @wdio/local-runner: Shutting down spawned worker
2020-05-22T19:48:57.018Z INFO @wdio/local-runner: Waiting for 0 to shut down gracefully
2020-05-22T19:48:57.018Z INFO @wdio/local-runner: shutting down

Suspected issue console:

[firefox 3.10.0-1062.4.3.el7.x86_64 linux #0-0] 29 passing (10m 3.4s)

Spec Files:     1 passed, 1 total (100% completed) in 00:10:08

This matters because I am running it in a script that should return 0 and I am wondering why the difference in console ouput.

Jeremy Schneider

My screenshots on failure are not happening as I want. I have this as my afterTest function:

  afterTest: function (test) {
    if (!test.passed) {
      const secs = Math.floor(new Date().getTime() / 1000);
      const fname = `${encodeURIComponent(test.title.trim().replace(/\s+/g, '-'))}_${secs}.png`;
      const fp = join(process.cwd(), this.screenshotPath, fname);
      console.info(`saving screenshot: ${fp}`);

but it doesn't seem to happen right at the point of failure, but rather, later, after the bad page state is no longer shown. What would be causing this, and how can I work around/fix it?

Felix Ivan Romero Rodríguez

It's not in your package.json dependencies though. So you must be using a global wdio? The global wdio may not see the local @wdio/selenium-standalone-service. Recommend having all packages available locally.

thanks a lot

Nitin Venkat Rachabathuni
Hey All, any hints on how to test md-select ?
Erwin Heitzman
something like that
and this goes for any select
sometimes the options are part of the select and sometimes not but the basics stay the same
@YmerejRedienhcs that can happen if the command triggered an action that caused your test to fail but wasn't expected in the test
Erwin Heitzman
What would be causing this, and how can I work around/fix it? => can you provide more info on what it is you get and what you expect?
Nitin Venkat Rachabathuni

sometimes the options are part of the select and sometimes not but the basics stay the same

Thanks Erwin :)

Is it possible to get the WebElement type object in wdio? The return type of $('selector') is WebdriverIO.Element
Ambreen Khan
Anyone have experienced this error while running the test:
ERROR @wdio/local-runner: Failed launching test session: TypeError: Cannot convert undefined or null to object for node_modules/@wdio/sync/build/executeHooksWithArgs
As a result of this error, it shows an additional failed Test case…If I run 1 TC that is passed, it shows 1 Passed, 1 Failed!
Luc Verdier
Hi there, some one know why the browser restarts after each test file, even when grouped inside a suite? Is there a way to prevent this behavior? I have search in every part of the documentation but there is no other mention that a very old restart: false which looks to be deprecated... :/
Phil Merwin
@alorlov Man that is awesome , thanks for the tip!
Hi guys, in wdio v4 there was a swipe command, now there isn't, and there's a touchAction command that only works with Appium, but I need to test a slide swipe functionality on my laptop on the browser, do you have any idea how to do that?
I'll try something like this:
browser.execute(() => {
        // @ts-ignore
        (document as HTMLDocument).querySelector('html').scroll();
Daljit Singh

Hi , am getting an abrupt error without much showing in the context with appium 1.17.1 and webdriverIo any version. So i assume its appium issue. if anything incorrect providedin config or a loose wire connection to devices or any other things, running the script always shows

ERROR webdriver: RequestError: read ECONNRESET. always shows this generic message.

Earlier with appium 1.15.1 it shows some specific error string e.g device of os 10 not found or etc...
so does it something with node_modules as i have 12.17.0. or what?