ios - 如何在 azure devops 管道上运行 iOS 机器人 appium 测试用例?
问题描述
我已经创建了 yml 文件并添加了以下代码,但是每次 azure 创建不同的机器并且设备的 udid 在每次运行时都会发生变化,有没有办法选择特定的设备?
下面的代码正在运行,但每次 Azure 选择新机器时,有人可以解决这个问题吗
trigger:
- master
jobs:
- job: 'Test'
pool:
vmImage: 'macos-latest'
strategy:
matrix:
Python37:
python.version: '3.7'
maxParallel: 1
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
architecture: 'x64'
- script: pip install robotframework robotframework-seleniumlibrary && npm install chromedriver && npm install && npm install -g appium
displayName: 'Install dependencies'
- task: CmdLine@2
displayName: Simulator run
inputs:
script: >
xcrun xctrace list devices
- task: CmdLine@2
displayName: Simulator boot
inputs:
script: >
xcrun simctl boot FD0AC907-0F79-4114-9640-1A87ED697C9A
# open -a Simulator --args -FD0AC907-0F79-4114-9640-1A87ED697C9A
# xcrun xctrace simctl install EA4E533D-3A78-4D30-9EAD-AC61390A6D2C /Users/runner/work/1/s/MachineSetup-TestAutomation/EquipmentPlusDev.app
- task: CmdLine@2
displayName: Simulator launch
inputs:
script: >
open -a '/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator' --args -FD0AC907-0F79-4114-9640-1A87ED697C9A
- task: CmdLine@2
displayName: Navigate to path of script
inputs:
script: >
cd /Users/runner/work/1/s
ls
- task: CmdLine@2
displayName: app install
inputs:
script: >
xcrun simctl install booted /Users/runner/work/1/s/EquipmentPlusDev.app
- task: CmdLine@2
displayName: Req.txt Installation
inputs:
script: >
pip install --user -r requirements.txt
# - task: CmdLine@2
# inputs:
# script: >
# appium --shelladb start-server
- task: CmdLine@2
displayName: Run appium in background
inputs:
script: >
nohup appium --relaxed-security &
# - powershell: Start-Process appium -PipelineVariable 4723
# displayName: 'Run Appium'
# - powershell: python -m robot iOS_B_MenuBar_azure.robot
# displayName: "Run Robot Scripts"
- powershell: robot --pythonpath . -x outputxunit.xml -i IWP /Users/runner/work/1/s/Scripts/iOS/iOS_B_MenuBar.robot
displayName: 'Run Robot Scripts'
- task: PublishTestResults@2
inputs:
testResultsFiles: outputxunit.xml
searchFolder: '/Users/runner/work/1/s/'
condition: succeededOrFailed()
displayName: 'Publish Test Results outputxunit.xml' ```
解决方案
推荐阅读
- python - Python基于匹配用其他列填充空行
- c++ - 由于私有变量声明不继承导致的编译错误
- c++ - 构造后 const char* 的值返回空
- python - 阅读python字典(非标准文件?)
- flutter - 如何解决移动应用程序中的“被 CORS 策略阻止”?不是网络应用程序
- angular - 按文档字段过滤 Firestore 集合
- python - 将 3d numpy 数组的一部分与常数相乘
- android - 如何在 Jetpack Compose 中将当前填充应用于修改器?
- javascript - JavaScript 对象解构中的变量声明错误和混淆
- javascript - Passport cookie 不适用于前端网站