【问题标题】:WebdriverIO not using config.path to access Appium ServerWebdriverIO 不使用 config.path 访问 Appium Server
【发布时间】:2022-07-15 18:39:19
【问题描述】:

我正在尝试开始使用 appium,并使用 Appium Server 和 Appium Inspector 成功地将自己连接到我的设备(我必须将远程路径更改为 /wd/hub)。现在,我正在尝试使用 https://github.com/webdriverio/appium-boilerplate 使用 WebdriverIO 来做同样的事情

首先我启动appium服务器:

现在我从 https://github.com/webdriverio/appium-boilerplate 克隆 Appium 样板并运行 npm install。然后我把config/wdio.android.app.conf.ts中的路径改成了'/wd/hub':

import { join } from 'path';
import config from './wdio.shared.local.appium.conf';

// ============
// Specs
// ============
config.specs = [
    './tests/specs/**/app*.spec.ts',
];

// ============
// Capabilities
// ============
// For all capabilities please check
// http://appium.io/docs/en/writing-running-appium/caps/#general-capabilities
config.capabilities = [
    {
        // The defaults you need to have in your config
        platformName: 'Android',
        maxInstances: 1,
        // For W3C the appium capabilities need to have an extension prefix
        // http://appium.io/docs/en/writing-running-appium/caps/
        // This is `appium:` for all Appium Capabilities which can be found here
        'appium:deviceName': 'Pixel_3_10.0',
        'appium:platformVersion': '10.0',
        'appium:orientation': 'PORTRAIT',
        'appium:automationName': 'UiAutomator2',
        // The path to the app
        'appium:app': join(process.cwd(), './apps/Android-NativeDemoApp-0.4.0.apk'),
        // @ts-ignore
        'appium:appWaitActivity': 'com.wdiodemoapp.MainActivity',
        // Read the reset strategies very well, they differ per platform, see
        // http://appium.io/docs/en/writing-running-appium/other/reset-strategies/
        'appium:noReset': true,
        'appium:newCommandTimeout': 240,
    },
];

config.path = '/wd/hub';
console.log(config);
exports.config = config;

现在我打电话给npm run android.app,console.log 命令显示:

{
  runner: 'local',
  specs: [ './tests/specs/**/app*.spec.ts' ],
  capabilities: [
    {
      platformName: 'Android',
      maxInstances: 1,
      'appium:deviceName': 'Pixel_3_10.0',
      'appium:platformVersion': '10.0',
      'appium:orientation': 'PORTRAIT',
      'appium:automationName': 'UiAutomator2',
      'appium:app': '<<removed initially ;-)>>',
      'appium:appWaitActivity': 'com.wdiodemoapp.MainActivity',
      'appium:noReset': true,
      'appium:newCommandTimeout': 240
    }
  ],
  logLevel: 'silent',
  bail: 0,
  baseUrl: 'http://the-internet.herokuapp.com',
  waitforTimeout: 45000,
  connectionRetryTimeout: 120000,
  connectionRetryCount: 3,
  services: [ [ 'appium', [Object] ] ],
  framework: 'mocha',
  reporters: [ 'spec' ],
  mochaOpts: { ui: 'bdd', timeout: 180000 },
  port: 4723,
  path: '/wd/hub'
}

...这对我来说似乎没问题,但 Appium 服务器显示:

[HTTP] Waiting until the server is closed
[HTTP] Received server close event
[Appium] Welcome to Appium v1.22.0
[Appium] Non-default server args:
[Appium]   address: 127.0.0.1
[Appium]   sessionOverride: true
[Appium]   relaxedSecurityEnabled: true
[Appium]   allowInsecure: {
[Appium]   }
[Appium]   denyInsecure: {
[Appium]   }
[Appium] Appium REST http interface listener started on 127.0.0.1:4723
[HTTP] --> POST /session
[HTTP] {"capabilities":{"alwaysMatch":{"platformName":"Android","appium:deviceName":"Pixel_3_10.0","appium:platformVersion":"10.0","appium:orientation":"PORTRAIT","appium:automationName":"UiAutomator2","appium:app":"<<removed ;-)>>","appium:appWaitActivity":"com.wdiodemoapp.MainActivity","appium:noReset":true,"appium:newCommandTimeout":240},"firstMatch":[{}]},"desiredCapabilities":{"platformName":"Android","appium:deviceName":"Pixel_3_10.0","appium:platformVersion":"10.0","appium:orientation":"PORTRAIT","appium:automationName":"UiAutomator2","appium:app":"<<removed ;-)>>","appium:appWaitActivity":"com.wdiodemoapp.MainActivity","appium:noReset":true,"appium:newCommandTimeout":240}}
[HTTP] No route found for /session
[HTTP] <-- POST /session 404 8 ms - 211
[HTTP] 
[HTTP] --> POST /session
[HTTP] {"capabilities":{"alwaysMatch":{"platformName":"Android","appium:deviceName":"Pixel_3_10.0","appium:platformVersion":"10.0","appium:orientation":"PORTRAIT","appium:automationName":"UiAutomator2","appium:app":"<<removed ;-)>>","appium:appWaitActivity":"com.wdiodemoapp.MainActivity","appium:noReset":true,"appium:newCommandTimeout":240},"firstMatch":[{}]},"desiredCapabilities":{"platformName":"Android","appium:deviceName":"Pixel_3_10.0","appium:platformVersion":"10.0","appium:orientation":"PORTRAIT","appium:automationName":"UiAutomator2","appium:app":"<<removed ;-)>>","appium:appWaitActivity":"com.wdiodemoapp.MainActivity","appium:noReset":true,"appium:newCommandTimeout":240}}

看起来 WebdriverIO 无法识别 config.path 设置。我已经在检查 Testing Mobile App with Appium & WebdriverIO: "No route found for /session" 但解决方案正在更改 config.path 值(我做了)但我不知道为什么它没有被识别...有人知道吗?

【问题讨论】:

    标签: appium webdriver-io appium-android


    【解决方案1】:

    我刚刚遇到了同样的问题,当您在功能下设置它时,它看起来好像可以工作:

     capabilities: [{
        "path": "/wd/hub",
        ...
    

    【讨论】:

      猜你喜欢
      • 2022-06-12
      • 2020-10-07
      • 1970-01-01
      • 1970-01-01
      • 2019-08-24
      • 1970-01-01
      • 2021-01-04
      • 1970-01-01
      • 2021-10-30
      相关资源
      最近更新 更多