gpt4 book ai didi

ios - 为自动化 UITesting 设置模拟器

转载 作者:行者123 更新时间:2023-12-01 17:47:42 24 4
gpt4 key购买 nike

我需要设置我的 模拟器 用于自动化 UI 测试。
特别是从键盘中删除自动更正、拼写检查、预测等。

我正在为这样的一个模拟器这样做:

plutil -replace KeyboardAutocapitalization -bool NO -- ~/Library/Developer/CoreSimulator/Devices/319FF855-F54C-4BB7-BDED-F0CC4B1FF8FC/data/Library/Preferences/com.apple.Preferences.plist

问题是,当测试在另一台设备上运行时,它不会设置模拟器,因为 UUID 是硬编码的。

我也可以像这样启动/选择模拟器:
currentUUID="$(xcrun simctl list devices | grep "iPhone 7 (" | egrep -o -i "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}")"

我必须输入 iPhone 7 (为了得到 UUID只有 iPhone 7 而不是 7+。这也只有在我之前真的选择 iPhone 7 作为 Xcode 中的模拟器时才有效。
另一种方法是替换 iPhone 7 (booted .

但为了使其工作,脚本需要模拟器已经运行。当它已经运行时,更改 plist 文件实际上不会更新模拟器上的设置。

我如何能够启动一个模拟器,然后在设置它之前获取它的 UUID?

谢谢你。

最佳答案

plu已创建 simctl 能够操纵模拟器的 gem 。它可以创建、删除、启动设备等等。一个有趣的功能是禁用键盘助手。
如果您使用 Fastlane您可以创建新的专用 channel ,这将禁用所有键盘助手。

要安装此 gem,请使用:

[sudo] gem install simctl 

Fastfile添加这条车道:

private_lane :disable_keyboard_helpers do
require "simctl"
SimCtl.list_devices.each do |d|
d.settings.disable_keyboard_helpers
end
end

现在在您的测试 channel 中,您可以使用 disable_keyboard_helpers像这个:

lane :test do |options|
disable_keyboard_helpers
scan
end

如果您不使用 FaSTLane,您仍然可以使用 simctl通过直接执行 Ruby 命令:

ruby -e "require 'simctl'; SimCtl.list_devices.each { |d| d.settings.disable_keyboard_helpers }"

关于ios - 为自动化 UITesting 设置模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43318868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com