如何在Azure DevOps中使用Appium配置.yaml文件?
Azure DevOps中Appium的YAML配置及连接错误排查
一、Azure DevOps中Appium的YAML配置步骤
1. 前置环境准备
- 使用自托管代理(托管代理默认无Appium环境),并在代理机器上安装:
- Node.js(用于运行Appium)
- Appium:通过
npm install -g appium全局安装 - 移动端SDK:Android SDK(需配置
ANDROID_HOME环境变量)或iOS Xcode - 测试框架:如NUnit、xUnit,以及
Appium.WebDriverNuGet包
2. YAML配置示例
trigger: - main pool: name: '你的自托管代理池名称' # 必须指定已配置Appium环境的自托管代理 steps: # 步骤1:安装Appium依赖(若代理已预装可跳过) - script: | npm install -g appium appium driver install uiautomator2 # Android驱动,iOS对应xcuitest displayName: '安装Appium及驱动' # 步骤2:后台启动Appium服务 - script: | # Windows系统用start /B后台启动 start /B appium --port 4723 --log appium.log # Linux/macOS用nohup后台启动 # nohup appium --port 4723 --log appium.log & displayName: '启动Appium服务' # 步骤3:运行移动端自动化测试 - script: | dotnet test YourTestProject.csproj --configuration Release displayName: '执行Appium测试' # 可选:上传Appium日志用于排查问题 - task: PublishBuildArtifacts@1 inputs: pathtoPublish: 'appium.log' artifactName: 'AppiumLogs' condition: always()
二、"目标计算机主动拒绝连接"错误排查
针对错误OpenQA.Selenium.WebDriverException : 向远程WebDriver服务器发送针对URL http://127.0.0.1:4723/session的HTTP请求时遇到未知异常。异常消息为:无法建立连接,因为目标计算机主动拒绝了它。,按以下顺序排查:
验证Appium服务是否正常启动
- 在代理机器上执行端口检查命令:
- Windows:
netstat -ano | findstr :4723 - Linux/macOS:
lsof -i :4723
- Windows:
- 若无输出,说明Appium未启动,查看
appium.log日志,检查是否有依赖缺失(如Android SDK路径错误、驱动未安装)
- 在代理机器上执行端口检查命令:
修正测试代码中的Appium连接URL
确保代码中指定的URL为http://127.0.0.1:4723/wd/hub,而非仅http://127.0.0.1:4723。示例代码:var driverOptions = new AndroidOptions(); // 配置设备、应用等参数... var driver = new AndroidDriver(new Uri("http://127.0.0.1:4723/wd/hub"), driverOptions);检查代理机器防火墙设置
- 临时关闭防火墙测试连接,若恢复正常,需添加入站规则允许4723端口的TCP连接
- 确保代理机器未启用网络代理,导致请求被拦截
确认版本兼容性
- 检查
Appium.WebDriver版本与Appium服务器版本是否匹配(如Appium 2.x需搭配最新版Appium.WebDriver) - 避免混用不同版本的Selenium和Appium库
- 检查
验证移动端设备/模拟器状态
- Android:执行
adb devices确认设备/模拟器已连接 - iOS:确认模拟器已启动,Xcode命令行工具正常工作
- Android:执行
内容的提问来源于stack exchange,提问作者Carolina Sánchez
相关产品推荐
相关产品推荐

