Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
    george romanas
    I don't use appium desktop. My wdio.shared.conf.js is
    const { generate } = require('multiple-cucumber-html-reporter');
    const { removeSync } = require('fs-extra');
    const chai = require('chai');
    const chaiAsPromised = require('chai-as-promised');
    exports.config = {
      specs: [
      // Patterns to exclude.
      exclude: [
      logLevel: 'silent',
      deprecationWarnings: true,
      bail: 0,
      baseUrl: 'http://localhost',
      waitforTimeout: 10000,
      connectionRetryTimeout: 90000,
      connectionRetryCount: 3,
      framework: 'cucumber',
      reporters: ['dot', 'spec',
        [ 'cucumberjs-json', {
          jsonFolder: './test/output/json/',
      cucumberOpts: {
        require: [
        ],        // <string[]> (file/dir) require files before executing features
        backtrace: false,   // <boolean> show full backtrace for errors
        requireModule: [],  // <string[]> ("extension:module") require files with the given EXTENSION after requiring MODULE (repeatable)
        dryRun: false,      // <boolean> invoke formatters without executing steps
        failFast: false,    // <boolean> abort the run on first failure
        format: ['pretty'], // <string[]> (type[:path]) specify the output format, optionally supply PATH to redirect formatter output (repeatable)
        colors: true,       // <boolean> disable colors in formatter output
        snippets: true,     // <boolean> hide step definition snippets for pending steps
        source: true,       // <boolean> hide source uris
        profile: [],        // <string[]> (name) specify the profile to use
        strict: false,      // <boolean> fail if there are any undefined or pending steps
        tagExpression: '(not @wip)',  // <string> (expression) only execute the features or scenarios with tags matching the expression
        timeout: 400000,     // <number> timeout for step definitions
        ignoreUndefinedDefinitions: true, // <boolean> Enable this config to treat undefined definitions as warnings.
        defaultTimeoutInterval: 10000
      services: ['native-app-compare'],
      nativeAppCompare: {
        // Mandatory
        baselineFolder: '.dist/image-compare/baseline',
        screenshotPath: '.dist/image-compare/screenshots',
        // Optional
        autoSaveBaseline: true,
        blockOutIphoneXBottomBar: true,
        blockOutStatusBar: true,
        blockOutNavigationBar: true,
        savePerDevice: true,
        rawMisMatchPercentage: true
      onPrepare() {
      beforeSession: () => {
      before() {
        global.expect = chai.expect;
        global.assert = chai.assert;
        global.should = chai.should();
        global.chaiAsPromise = chai.use(chaiAsPromised);
      onComplete() {
        // Generate the report when it all tests are done
          // Required
          // This part needs to be the same path where you store the JSON files
          // default = '.tmp/json/'
          jsonDir: './test/output/json/',
          reportPath: './test/output/report/',
          openReportInBrowser: true,
          displayDuration: true,
          // for more options see https://github.com/wswebcreation/multiple-cucumber-html-reporter#options

    and the setup for android local is

    const { config } = require("./wdio.shared.conf");
    config.services = config.services.concat('appium');
    config.port = 4723;
    config.capabilities = [
        maxInstances: 1,
        platformName: "android",
        platformVersion: "8.0",
        deviceName: "Galaxy S9 Plus HD API 26",
        unicodeKeyboard: true,
        app: "android/app/build/outputs/apk/release/app-release.apk",
        'cjson:metadata': {
          device: "Galaxy S9 Plus HD API 26",
          app: {
            name: "****",
            version: "1.0"
          platform: {
            name: "android",
            version: "8.0"
    exports.config = config;

    and the devDependencies

    "devDependencies": {
        "@babel/core": "7.5.5",
        "@babel/plugin-proposal-decorators": "7.4.4",
        "@babel/plugin-transform-runtime": "7.5.5",
        "@babel/preset-env": "7.5.5",
        "@babel/register": "7.5.5",
        "@babel/runtime": "7.5.5",
        "@lingui/cli": "2.8.3",
        "@react-native-community/eslint-config": "0.0.5",
        "@testing-library/react-hooks": "2.0.1",
        "@wdio/appium-service": "5.12.1",
        "@wdio/cli": "5.12.5",
        "@wdio/cucumber-framework": "5.12.3",
        "@wdio/dot-reporter": "5.12.1",
        "@wdio/local-runner": "5.12.5",
        "@wdio/sauce-service": "5.12.5",
        "@wdio/spec-reporter": "5.12.1",
        "@wdio/sync": "5.12.3",
        "@welldone-software/why-did-you-render": "3.3.3",
        "appium": "1.14.0",
        "babel-core": "7.0.0-bridge.0",
        "babel-eslint": "10.0.3",
        "babel-jest": "24.9.0",
        "babel-plugin-functional-hmr": "1.0.25",
        "babel-plugin-macros": "2.6.1",
        "babel-plugin-module-resolver": "3.2.0",
        "babel-plugin-transform-remove-console": "6.9.4",
        "body-parser": "1.19.0",
        "chai": "4.2.0",
        "chai-as-promised": "7.1.1",
        "chance": "1.1.0",
        "enzyme-to-json": "3.4.0",
        "eslint": "6.3.0",
        "eslint-config-airbnb": "18.0.1",
        "eslint-plugin-flowtype": "4.2.0",
        "eslint-plugin-import": "2.18.2",
        "eslint-plugin-jsx-a11y": "6.2.3",
        "eslint-plugin-prettier": "3.1.0",
        "eslint-plugin-react": "7.14.3",
        "eslint-plugin-react-hooks": "2.0.1",
        "eslint-plugin-react-native": "3.7.0",
        "eslint-plugin-react-native-a11y": "1.2.0",
        "flow-bin": "0.106.3",
        "fs-extra": "8.1.0",
        "husky": "3.0.5",
        "jest": "24.9.0",
        "jest-extended": "0.11.2",
        "jest-styled-components": "6.3.3",
        "jetifier": "1.6.4",
        "live-server": "1.2.1",
        "metro-react-native-babel-preset": "0.56.0",
        "metro-with-symlinks": "1.3.2",
        "minimist": "1.2.0",
        "multiple-cucumber-html-reporter": "1.13.0",
        "ng-apimock": "1.4.9",
        "prettier-eslint": "9.0.0",
        "react-test-renderer": "16.8.6",
        "reactotron-react-native": "3.6.5",
        "reactotron-redux": "3.1.1",
        "wdio-cucumber-snippet-reporter": "0.0.5",
        "wdio-cucumberjs-json-reporter": "1.0.8",
        "wdio-native-app-compare-service": "1.1.0",
        "yarn-check": "0.0.3"
    thank you in advance!
    Nelson Ramirez
    Hi, does anyone know how to enable the chromedrivers download server feature on the new beta version?
    Hi, how can I test my website through appium?
    can anyone help me in setting up Appium set up for Mac
    Test website on mobile browser, refer
    Can someone assist with how to launch chrome browser on device during automation?
    Chrome version 76.
    It launches and crashes several times before throwing an error.
    The last successful launch was with version 75.
    Hey , everybody ,
    I am designing a software which can automate Xianyu app , But I have a lot of question, plz give me more advices
    Hello @singh-120 . I'll advice using selenium in place of appium.
    hello everyone!
    i want to learn about android automation
    Hardik Desai
    Is anyone able to run test on ios13 real device?
    I am getting an error during ios-deploy
    android phone.
    Vineeth Nambiar
    Hi all,
    when i run the command uiautomator i get the following error
    Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library
    i want to deploy my appium script in remote server using jenkins...can u please suggest any other emulator to run my appium script in remote server apart from default jenkins "Android Emulator" plugin
    I have two issues launching an iPhone simulator on Appium and I wonder if they are related: 1) the constructor to IOSDriver times out (vs2017) 2) Appium complains that it cannot connect to WebDriverAgent at port 8100. Are these related or separate issues?
    Hardik Desai
    just reset simulator and run test again
    or delete wda app and run test
    @patrickinminneapolis ^^^
    Hello. Could anyone indicate a good report to use with Appium running tests in parallel? I currently run my tests with pytest-xdist using the Allure report (each test case runs on 3 different devices), but the problem is that in the allure report it is difficult to differentiate when the tests are running in parallel.
    Get title is not working using appium,I am getting below error.
    getTitle' on the IOS platform is not implemented
    How can I resolve this issue?
    Does anyone know how to avoid this?
    @Pooja0907 Are you trying gettitle for mobile browsers?
    Sid Ferreira
    @sitansu_kar007_twitter Thanks a lot!!!
    Hi , We are newly started using appium tool for automating both iOS and Android Apps.. In iOS, we are observing only "NAMEs" are Object IDs. In otherwords, both "text" and Object ID attributes are same.. How to access the object IDs in iOS Appium
    we have installed *.ipa files in iphone..
    For Android FindBy(id = "com.abc.xx:id/sign_in_btn") . For iOS @FindBy(xpath="//XCUIElementTypeButton[@name='sign_in']")
    But only accesibility names only displayed for iOS .. not actuall Object IDs..
    Is there any way for get the "Object IDs" in iOS as well ?
    Hello everyone. I used googlefirebase for android.But I can't fetch data from google firebase.
    Help me.

    Hi , We are newly started using appium tool for automating both iOS and Android Apps.. In iOS, we are observing only "NAMEs" are Object IDs. In otherwords, both "text" and Object ID attributes are same.. How to access the object IDs in iOS Appium

    Any suggestions ?

    hello sir.
    do you have genymotion personal free?
    sitansu sekhar kar
    Just for an overview: in appium you can use absolute xpath, accessibility id and xpath.
    Using appium inspector or Xcode accessibility inspector you can determine
    xpath: //XCUIElementTypeStaticText[@label=''];
    Accesssinlity id: use directly.
    XPATH: driver.findElement(by.xpath(//XCUIElementTypeStaticText[@label='XYZ']));
    Access id: driver.findElement(MobileBy.id("XYZ"))
    And try to avoild absolute xapth!
    @hardik-plume for iOS 13.0, appium has an issue
    Refer: appium/appium#13072
    This will be fixed in appium release 1.15.0
    Hello, is there any way to start docker appium on ec2 ubuntu? I've been trying for couple days but virtual device doesn't start
    Hello, everyone! when i test a printer which is a android system, page info can not load completely. The findElementByXpath cannot find webElement.What is reason of the problem? How to handle it?