You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置Xamarin.UITest套件默认使用iPhone 12 Pro模拟器?

修改Xamarin.UITest默认模拟器为iPhone 12 Pro的几种方法

方法1:在UITest初始化代码中固定默认设备

你可以把目标设备的UUID直接整合到UITest的启动配置里,不用每次写测试都手动加.DeviceIdentifier:

  • 先通过Xcode的Window > Devices and Simulators找到iPhone 12 Pro的UUID
  • 在UITest项目的AppInitializer.cs(或测试启动类)里修改iOS配置:
public static IApp StartApp(Platform platform)
{
    if (platform == Platform.iOS)
    {
        // 替换为你的iPhone 12 Pro的UUID
        return ConfigureApp.iOS()
            .DeviceIdentifier("你的设备UUID")
            .StartApp();
    }
    // Android配置部分省略
}

要是后续需要换设备,直接改这里的UUID就行;嫌硬编码麻烦的话,也可以把UUID存在appsettings.json这类配置文件里,读取后传入。

方法2:设置Xcode默认模拟器

UITest会优先使用Xcode设置的默认模拟器,操作步骤如下:

  • 打开Xcode(随便打开一个iOS项目或你的Xamarin.iOS项目)
  • 在顶部工具栏的设备选择下拉框里选中iPhone 12 Pro
  • 点击Product > Destination > Destination Architectures > Show All Destinations,右键点击iPhone 12 Pro选择Make Default
    之后UITest不指定DeviceIdentifier时,就会自动用这个默认模拟器。

方法3:让UITest和调试模式设备同步

如果想让UITest跟着你调试时选的设备走,需要动态获取当前选中的设备ID:

  • 调试会话启动时,通过脚本把选中的设备ID注入到UITest的运行环境变量中
  • 在UITest启动代码里读取这个环境变量,传入DeviceIdentifier:
var deviceId = Environment.GetEnvironmentVariable("SELECTED_IOS_DEVICE_ID");
// 没获取到的话用预设的默认UUID
return ConfigureApp.iOS()
    .DeviceIdentifier(deviceId ?? "你的iPhone 12 Pro UUID")
    .StartApp();

这样调试时切换设备,UITest就会自动对应上选中的设备。

内容的提问来源于stack exchange,提问作者Kikanye

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 08:45:49