【问题标题】:How to set up codecept.conf.js for both android native and ios native in the same project如何在同一个项目中为 android native 和 ios native 设置 codecept.conf.js
【发布时间】:2021-10-08 03:25:00
【问题描述】:

我已经阅读了文档,但没有找到解决此问题的方法。我要做的是正确配置codeceptJS,以便能够在同一个项目中对原生iOS和原生Android执行测试。文档似乎建议可以制作可以同时针对 android 和 iOS 的测试用例,例如

I.click({android: '//android.widget.Button', ios: '//UIAApplication[1]/UIAWindow[1]/UIAButton[1]'});

但是,目前尚不清楚如何在 codecept.conf.js 中配置 appium 帮助程序以完成此操作,而且我无法找到任何解释它的文档。特别是,Appium 帮助器似乎可以接受 任一 android .apk 或 iOS .app / .ipa for app,但不能同时接受。

感谢社区对如何实现这一目标的任何见解。我可以通过不同的项目在 android 或 iOS 上运行……但我更愿意通过同一个项目,如果可能的话,从同一个测试用例中进行。

【问题讨论】:

    标签: android ios codeceptjs


    【解决方案1】:

    您需要在 package.json 中为 android 和 ios 配置一个脚本,如下所示:

    "scripts": {
      "test": "echo \"Error: no test specified\" && exit 1",
      "ios": "PLATFORM=iOS APP='/path/to/example.app' DEVICE='iPhone 12 Pro Max' VERSION=14.4 npx codeceptjs run --steps",
      "android": "PLATFORM=Android APP='/path/to/example.apk' DEVICE='Pixel 2' VERSION=9 PACKAGE=com.exampleapp ACTIVITY=MainActivity npx codeceptjs run --steps"},
    

    那么你就可以在终端中使用下面的每一个命令了:

    npm run ios
    
    npm run android
    

    如果你使用的是 Appium,那么你需要这样配置你的 codecept.conf.js 文件:

      helpers: {
       Appium: {
       //platform: 'Android',
       platform: 'iOS',
       //app: '/path/to/example.apk',
       app: '/path/to/example.app',
       desiredCapabilities: {
        deviceName: 'iPhone 12 Pro Max',
        platformVersion: undefined,
        appPackage: '',
        appActivity: '',
        automationName: 'XCUITest' //in case your xcode version is not updated
      }
     }
    

    【讨论】:

      猜你喜欢
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-20
      • 1970-01-01
      • 1970-01-01
      • 2019-07-23
      • 1970-01-01
      相关资源
      最近更新 更多