2

The implementation of webdriverIo is slightly different from selenium. In webdriverIO $('table').$$('td') will check for direct child 'td under 'table', and as td is not a direct child it won't return anything. instead, try: $('table').$$(' td') (See if this works) or $$('table td') Space in 'CSS' is similar to // in xpath Better raise issue with ...


1

Have you tried build in 'process' module: var process = require('process'); if (process.pid) { console.log('This process is your pid ' + process.pid); } Add this to before suite or test step


1

console.log(browser.capabilities) Gives the browser capabilities currently set try changing it browser.capabilities = {new} You can access the entire config file as: console.log(browser.config)


1

I managed to get this working following this advice - https://stackoverflow.com/questions/47388733/selenium-org-openqa-selenium-nosuchwindowexception-currently-focused-window-ha setting the internet options to enable protected mode is now interacting with the site, but the next issue the input is only writing one character every couple of seconds. Off to ...


1

You have to add kilinstances: true to delete everything at the end: export.config = { services: [['iedriver',{killInstances:true}]], // ... capabilities: [ { browserName: 'internet explorer', maxInstances: 1, timeouts: { "implicit": 5000 }, } ] }; http://v4.webdriver.io/guide/services/iedriver.html#killInstances


1

WaitForExit() checks only for the presence of and not the visibility. You could use $(selector).waitForDisplayed instead. And also ensure there is no other element with the same selector.


1

I suggest use pipeable operators : example In TypeScript 2.3 and lower, typings will need to be added to functions passed to operators, as types cannot be inferred prior to TypeScript 2.4. In TypeScript 2.4, types will infer via composition properly. TS 2.3 and under range(0, 10).pipe( map((n: number) => n + '!'), map((s: string) => 'Hello, ' + ...


1

"And" is replaced internally with either "Given", "When", or "Then" since it is an extension of one of those lines. In your case, replace: and('the credit card CVC is "([^"]*)"', function(CVC) { //code here }) with: when('the credit card CVC is "([^"]*)"', function(CVC) { //code here }) And make the same change with the line that follows.


1

One alternative is to use Feature Flags. With these, you can, at compiling time, pick blocks of code, depending on configuration. For instance (pseudo-code): def request_handler(request): #ifdef TESTING_MODE return HTTP(500); #endinf .... production code... TESTING_MODE variable would be set in a kind of config.json file or during the ...


Only top voted, non community-wiki answers of a minimum length are eligible