【问题标题】:Setup gitlab cicd for mobile automation using appium?使用appium为移动自动化设置gitlab cicd?
【发布时间】:2019-04-09 12:20:31
【问题描述】:

是否有人致力于使用 appium 工具设置 Gitlab CICD 以实现移动自动化?

我想知道如何在 gitlab 中设置模拟器/设备以实现自动化,以及如何在 gitlab 中设置 appium 服务器。

非常感谢您的意见 :)

【问题讨论】:

  • 目前我也被困在同一点,虽然我正在使用 CircleCI。如果您想避免在 CI/CD 中设置模拟器的麻烦,您可以尝试使用 BrowserStack、SauceLabs 等云解决方案。
  • 感谢 Wasiq 的回复。有没有可用于安卓模拟器的开源服务?

标签: gitlab appium gitlab-ci appium-ios appium-android


【解决方案1】:

我找到了这个关于 gitlab-ci 和 android 项目的相关链接:https://about.gitlab.com/2018/10/24/setting-up-gitlab-ci-for-android-projects/

然而,appium 似乎没有在这个示例链接中使用,但我相信如果你稍微调整一下它仍然很有用。

基本上,这里是你需要使用的 yml 文件:

image: openjdk:8-jdk

variables:
  ANDROID_COMPILE_SDK: "28"
  ANDROID_BUILD_TOOLS: "28.0.2"
  ANDROID_SDK_TOOLS:   "4333796"

before_script:
  - apt-get --quiet update --yes
  - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
  - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip
  - unzip -d android-sdk-linux android-sdk.zip
  - echo y | android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
  - echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" >/dev/null
  - echo y | android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null
  - export ANDROID_HOME=$PWD/android-sdk-linux
  - export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/
  - chmod +x ./gradlew
  # temporarily disable checking for EPIPE error and use yes to accept all licenses
  - set +o pipefail
  - yes | android-sdk-linux/tools/bin/sdkmanager --licenses
  - set -o pipefail

stages:
  - build
  - test

lintDebug:
  stage: build
  script:
    - ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint

assembleDebug:
  stage: build
  script:
    - ./gradlew assembleDebug
  artifacts:
    paths:
    - app/build/outputs/

debugTests:
  stage: test
  script:
    - ./gradlew -Pci --console=plain :app:testDebug

我还发现这个相关的 StackOverflow 答案非常有用:how to set up a Appium UI test maven project to work with Gitlab CI to test Android App?

【讨论】:

    【解决方案2】:

    我在 GitHub 上找到了一个在 Microsoft Azure DevOps CI 环境中运行 Appium 测试的存储库。查看回购here

    查看它的 CI 构建是如何设置的,您最好继续使用 Azure DevOps 而不是 GitLab。

    【讨论】:

      【解决方案3】:

      我已经在 Gitlab 中使用快速通道设置了一个构建管道,用于自动构建 apk 和 ipa,并使用快速通道将它们分别上传到 Play Store 和 App Store。

      您可以扩展它以添加在 Appium 上运行的测试

      这是学习如何为 Flutter 应用设置 CICD 管道的良好起点。 https://appditto.com/blog/automate-your-flutter-workflow

      【讨论】:

        猜你喜欢
        • 2020-02-04
        • 2018-09-15
        • 1970-01-01
        • 2013-07-25
        • 2014-01-10
        • 1970-01-01
        • 2021-12-25
        • 2020-06-30
        • 2015-03-28
        相关资源
        最近更新 更多