CodeceptJS icon indicating copy to clipboard operation
CodeceptJS copied to clipboard

AppiumV2 config is not working well with LambdaTest

Open AllysonYuShiong opened this issue 1 year ago • 1 comments

What are you trying to achieve?

To output the correct test case title in the LambdaTest dashboard. When I commented appiumV2: true, I can get the correct title displayed on the LambdaTest dashboard, when I use appiumV2: true, I get duplicate test title on the LambdaTest dashboard. I'm running 2 test cases continually as below. FYI, I have reached out to LambdaTest team and confirm this is not an issue from their side, as their appium version displayed from console is already version 2.X.

Screenshot 2024-11-14 at 11 34 01 AM

Adding appiumV2: true into the config file will dismiss the message below.

The Appium core team does not maintain Appium 1.x anymore since the 1st of January 2022. Please migrating to Appium 2.x by adding appiumV2: true to your config. More info: https://bit.ly/appium-v2-migration This Appium 1.x support will be removed in next major release.

However, it doesn't work well with my config below for LambdaTest

Appium: {
    automationName: 'uiautomator2',
    platform: 'Android',
    hostname: 'mobile-hub.lambdatest.com',
    port: 80,
    timeout: 60000,
    user: process.env.LAMBDATEST_USERNAME,
    key: process.env.LAMBDATEST_ACCESS_KEY,
    appiumV2: true,
    desiredCapabilities: {
      platformName: 'Android',
      isRealMobile: true,
      deviceName: 'Galaxy S23+',
      platformVersion: '1[0-4]',
      project: 'Android Mobile Automation',
      build: process.env.BUILD_VERSION_NUMBER,
      name: 'Android Regression Test',
      idleTimeout: 900,
      queueTimeout: 900,
      autoGrantPermissions: process.env.DEFAULT_AUTO_GRANT_PERMISSIONS === 'true' ? false : true,
      app: appId,
      appiumVersion: '2.11.2',
    },
  },

and produce error below:

Error: Can't connect to WebDriver.
Error: Invalid or unsupported WebDriver capabilities found ("appiumVersion"). 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 your vendor support team if you have further questions.

Please make sure Selenium Server is running and accessible
  • CodeceptJS version: 3.6.5
  • NodeJS Version: v22.7.0
  • Operating System: MacOS 14.6.1 (23G93)
  • Appium

AllysonYuShiong avatar Nov 14 '24 03:11 AllysonYuShiong

Try to use platform "android" instead of "Android" . (don't use capital A). also as error mentioned, your config doesn't match with W3C driver capacities. try to add prefix for those configs for appium. for example for appiumVersion use "appium:appiumVersion" Here is one example:
Appium: { appiumV2: true, platform: "android", path: "/", app: "D:/a/android.apk", desiredCapabilities: { "appium:platformVersion": "10", "appium:automationName": "UiAutomator2", "appium:deviceName": "Test", "appium:appiumVersion": "2.11.2" },

},

mjalav avatar Nov 19 '24 12:11 mjalav