使用Yaml文件和控制台在Azure Pipelines中使用Appium服务器执行

问题描述 投票:0回答:1

使用Microsoft托管代理在Azure管道控制台中执行Appium服务器的最佳方法是什么?甚至可行吗?我正在使用vmImage:'vs2017-win2016'

我设法使用Cmdline和powershell脚本启动服务器,但是我不确定服务器是否实际上在后台运行。

到目前为止,我已经尝试过-

  1. 纯Cmdline脚本。 “ appium -p 4723”。这将启动服务器,但永远保持在Cmdline作业中。
  2. 带有开始调用的普通Cmdline脚本。 “启动appium -p 4723”。我相信这会在另一个控制台中启动Appium,但是我敢保证服务器始终在后台运行。 Cmdline作业传递到下一个作业。我没有看到标准的紫色Appium服务器启动命令。
  3. Powershell启动过程命令。 “开始处理appium -p 4723”。与2具有相同的影响。

有没有办法验证appium服务器是否存在?

我正在尝试使用Azure Repo&Pipelines,Robot Framework,Appium和Android Studio模拟器来实现移动应用程序自动化测试。为此,我需要在后台运行Appium服务器。在进入Appium运行阶段之前,我正在管道中进行所需的工具安装。

powershell android-studio robotframework azure-pipelines appium-android
1个回答
0
投票

有没有办法验证appium服务器是否存在?

尝试使用TASKLIST /FI "IMAGENAME eq cmd.exe" /V之类的命令。

[对我来说,我使用三个cmd脚本(CMD任务)进行测试,task1 => npm install -g appiumtask2 => start appium -p 4723task3 => TASKLIST /FI "IMAGENAME eq cmd.exe" /V。这是task3的输出:

enter image description here

由于cmd.exe将在任务完成时被杀死,因此cmd.exe(task1)和cmd.exe(task2)不存在。

直到第三个任务,只有新创建的控制台(appium -p 4723)和cmd.exe(task3)确实存在。 appium -p 4723是您想要的,如果我们不杀死它的话,它确实存在于后台。

注意:

1.I使用second命令start appium -p 4723进行测试。预期的行为是您的first命令将启动服务器,但它永远保留在Cmdline作业中。如果当前任务尚未完成,则Azure Devops管道不会转到下一个任务。因此,如果cmd任务是一个持续运行的侦听器,则它将一直停留在Cmdline任务中,直到超时为止。

第二个命令在Azure Devops管道环境中更好。

2。您使用的是microsoft-hosted agent,它将在管道完成后恢复。因此,在作业/管道完成后,您的Appium监听器将被杀死。

3。关于Azure Devops中的Appium测试,可以检查this document

© www.soinside.com 2019 - 2024. All rights reserved.