无需命令行即可在任何硬件上测试您的应用程序

记住要设置团队并选择“包括UI测试”

创建您的UI测试

如果您不是从头开始创建项目,则需要创建一个包含UI测试的目标。 否则,请跳过本节。

在左侧的项目导航器中选择您的项目,然后单击屏幕底部的“ +”。

在打开的对话框中,选择“ iOS UI测试包”,然后单击“下一步”。

仔细检查测试包的所有设置是否符合您的喜好,然后单击“完成”。

建立测试包

在这里,您将了解到直到最近才知道的Xcode功能。 您可以针对特定目的进行构建,在我们的情况下,我们希望构建用于测试的测试包。 这将生成一个应用程序,稍后再上传到AWS Device Farm。

请注意,AWS Device Farm要求针对iOS设备而不是针对模拟器构建测试包,因为测试将在实际设备上运行。 如果您错过了此步骤,则会收到一个神秘错误,即您上传的文件无效…

首先是命令行,下面我将对其进行解释(请记住用您的工作空间和方案名称替换适当的字符串)。

  xcodebuild -workspace“ aws设备场博客post.xcworkspace” \ 
-scheme“ aws设备场博客\
-destination“ generic / platform = iOS” \
-derivedDataPath“ ./build” \
-配置“调试”
测试构建
CODE_SIGN_IDENTITY =“” \
CODE_SIGNING_REQUIRED =否

所以我在这里做什么:

  1. -workspace:使用选项构建的工作空间
  2. -scheme:要构建的方案,从您项目的方案的Xcode列表中获取
  3. -destination:设置为设备而非模拟器构建
  4. -derivedDataPath:指定本地派生的数据路径,因此您不必去挖掘构建产品
  5. -configuration:指定要使用的配置,这是可选的,但是指定它可以确保您知道要构建的内容
  6. 测试构建:将构建测试运行器的魔术命令
  7. 我发现CODE_SIGN_IDENTITY =“”和CODE_SIGNING_REQUIRED只是解决您项目中可能存在的任何类型的代码签名问题的一种方法

构建完成后,您将拥有AWS设备场所需的测试运行程序,但是由于某种原因,他们需要将其作为.IPA文件。 因此,以下是创建该.IPA文件的步骤:

  #创建有效负载目录 
mkdir -p ./有效载荷
  #将测试运行程序复制到有效负载目录中 
cp -R“ ./build/Build/Products/Debug-iphoneos/aws设备场博客postUITests-Runner.app” ./有效载荷
  #压缩文件夹 
#此命令对正确操作很重要,因此存档仅包含相对路径
zip -r ./Payload.ipa ./Payload

./payload.ipa是包含您的测试包的IPA,并将通过几个步骤将其上传到AWS Device Farm。