【问题标题】:How to Run Appium Test in Real Android device or Emulator while building project in Jenkins server hosted in VM(Virtual Machine)如何在虚拟机(虚拟机)中托管的 Jenkins 服务器中构建项目时在真正的 Android 设备或模拟器中运行 Appium 测试
【发布时间】:2017-01-10 09:55:26
【问题描述】:

我尝试在虚拟机中安装和配置appium,并成功安装了Appium。我在将本地的真实设备或模拟器配置到服务器中的 Appium 时遇到了困难。在通过 Jenkins 构建进行测试时,是否可以将 Real device 或 Emulator 配置到 appium 服务器?或者是否有任何插件可用于实现这一点?

【问题讨论】:

    标签: android jenkins jenkins-plugins emulation appium


    【解决方案1】:

    Jenkins 中有一个 Android 模拟器插件。 见:https://wiki.jenkins-ci.org/display/JENKINS/Android+Emulator+Plugin

    您可以尝试:

    1.安装Android SDK并下载模拟器镜像 2.在jenkins管理中安装模拟器插件 3.在您的jenkins作业中添加启动模拟器步骤

    但是插件不是很好用,有时候模拟器启动超时。

    【讨论】:

    • 感谢您的回复。我已经尝试过使用该插件。我的问题是是否可以从 Jenkins 服务器构建在真实设备中执行测试?
    • 应该也可以,你可以将设备连接到jenkins,并在jenkins作业中运行单元测试。但是您必须确保设备没有屏幕锁定。或者您可以在作业中添加一些命令来解锁屏幕。
    • 我有 Jenkins 的远程虚拟服务器,我想知道是否可以连接到主机上的设备。
    【解决方案2】:

    我找到了在 Remote Jenkins Server 中构建项目时运行自动化 Appium Test 的解决方案。

    最初,我安装了 Android Emulator 插件并通过在 Jenkins 中配置构建步骤来运行 Android Emulator。它在 Jenkins 构建期间启动模拟器,Android 模拟器在后台和平运行。但问题是当我通过 Shell 脚本运行 appium 服务器时,它没有检测到 Jenkins 的模拟器。

    所以,我尝试通过 Shell Script 和 Appium Server 并行启动默认模拟器。现在,Appium 检测到 Emulator,我可以成功运行测试用例了。

    我在 Jenkins 的构建步骤中使用了如下的 Shell 脚本来运行测试。

    #!/bin/sh
    echo Kill adb:
    killall adb &
    wait
    
    echo Start adb:
    adb start-server &
    wait
    
    echo Kill Node:
    killall node &
    wait
    
    echo Start Appium:
    emulator -avd Test -noaudio -no-boot-anim -no-snapshot-load -no-snapshot-save -no-window &
    appium &
    sleep 2m
    

    【讨论】:

      【解决方案3】:

      同意你可以使用 jenkins 模拟器插件。 以防万一您看到 appium 看不到已连接的 android 模拟器的问题,您可能需要更改 adbport

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-25
        • 2017-06-28
        • 1970-01-01
        • 1970-01-01
        • 2020-08-14
        • 2016-04-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多