licanhua / wdio-winappdriver-example

Example to demonstrate the integration of wdio + winappdriver/ywinappdriver
3 stars 2 forks source link

Not working with the latest version 8.X #2

Open diptilenka opened 1 year ago

diptilenka commented 1 year ago

I have my package.json file as { "name": "webdriverio-test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "prettier": "prettier --write --loglevel warn \"//*.ts\"", "test": "wdio wdio.conf.js" }, "keywords": [], "author": "", "license": "MIT", "devDependencies": { "@wdio/cli": "^8.2.3", "@wdio/dot-reporter": "^8.1.2", "@wdio/jasmine-framework": "^8.2.3", "@wdio/junit-reporter": "^8.2.0", "@wdio/local-runner": "^8.2.3", "@wdio/spec-reporter": "^8.1.2", "prettier": "^2.8.3", "ts-node": "^10.4.0", "typescript": "^4.5.4", "webdriverio":"^8.2.3", "wdio-winappdriver-service": "^0.1.1" }, "dependencies": {} }

The error sown in te wdio log is @wdio/runner: Error: Invalid or unsupported WebDriver capabilities found ("app"). Ensure to only use valid W3C WebDriver capabilities (see https://w3c.github.io/webdriver/#capabilities).If you run your tests on a remote vendor, like Sauce Labs or BrowserStack, make sure that you put them into vendor specific capabilities, e.g. "sauce:options" or "bstack:options". Please reach out to to your vendor support team if you have further questions.

diptilenka commented 1 year ago

my wdio.config.js file as `require('ts-node').register({ transpileOnly: true }); exports.config = { runner: "local",

specs: ["./test/specs/*.ts"],

maxInstances: 1,

port: 4723,
capabilities: [
  {
    app: "Microsoft.WindowsAlarms_8wekyb3d8bbwe!App",
    "ms:experimental-webdriver": false,
    browserName: "",
  },
],
logLevel: "trace",
services: ["winappdriver"],
framework: "jasmine",
outputDir: ".\\reports",
reporters: ["dot", ["junit", { outputDir: ".\\reports" }]],

before() {
  //implicit wait for 5 seconds
  browser.setTimeout({ implicit: 5000 });
},

jasmineNodeOpts: {
  defaultTimeoutInterval: 30000,
  expectationResultHandler: function (passed, assertion) {
    /**
     * only take screenshot if assertion failed
     */
    if (passed) {
      return;
    }

    browser.getPageSource();
    browser.saveScreenshot(
      `.\\reports\\assertionError_${assertion.error.message}.png`
    );
  },
}

} `