XCUITest 预测试设置
XCUITest pre-testing setup
我需要进行预测试配置,在 运行 XCUITest(自动化测试)用例之前设置一次,
预测试设置示例:(这需要为测试周期完成一次,以下 API 的输出用于所有测试用例)
- 正在获取
qTest
访问令牌
- 正在从远程配置文件中获取
qTest
URL。
从文档中我发现 XCTestObservation
协议的 testBundleWillStart
方法是进行预测试设置的理想场所。
但是
-testBundleWillStart
方法 未被调用或执行 ,
XCTestObservation
下面列出的所有方法都已正确执行。
testSuiteWillStart
testCaseWillStart
testCaseDidFinish
testSuiteDidFinish
我尝试在 UITest info.plist
中设置 Principal Class
但没有成功,它显示以下错误
Test bundle Info.plist at /var/containers/Bundle/Application/BEAFB0C2-43D5-4C90-B50F-B1FF1A16BC23/MyAppUITests-Runner.app/PlugIns/MyAppUITests.xctest/Info.plist specified MyAppUItests.TestObserver for NSPrincipalClass, but no class matching that name was found.
如何让方法 testBundleWillStart
执行?
任何帮助将不胜感激。
发现问题,
我的项目名称有一个 space,所以用 _
替换 space 是可行的。
关于我的项目的信息:
- 我的项目名称:
My App
- 我的项目测试包名称:
My-AppUITests
工作解决方案:(将 space 替换为 _
字符)
<key>NSPrincipalClass</key>
<string>My_AppUITests.SOTestObserver</string>
让我也分享一下看似正确但仍然行不通的事情:
无效 #1:(将 space 替换为 -
字符)
<key>NSPrincipalClass</key>
<string>My-AppUITests.SOTestObserver</string> //Didn't work
无效 #2:(用 $(PRODUCT_NAME)
环境变量替换项目名称)
<key>NSPrincipalClass</key>
<string>$(PRODUCT_NAME).SOTestObserver</string> //Didn't work
我需要进行预测试配置,在 运行 XCUITest(自动化测试)用例之前设置一次,
预测试设置示例:(这需要为测试周期完成一次,以下 API 的输出用于所有测试用例)
- 正在获取
qTest
访问令牌 - 正在从远程配置文件中获取
qTest
URL。
从文档中我发现 XCTestObservation
协议的 testBundleWillStart
方法是进行预测试设置的理想场所。
但是
-testBundleWillStart
方法 未被调用或执行 ,
XCTestObservation
下面列出的所有方法都已正确执行。
testSuiteWillStart
testCaseWillStart
testCaseDidFinish
testSuiteDidFinish
我尝试在 UITest info.plist
中设置 Principal Class
但没有成功,它显示以下错误
Test bundle Info.plist at /var/containers/Bundle/Application/BEAFB0C2-43D5-4C90-B50F-B1FF1A16BC23/MyAppUITests-Runner.app/PlugIns/MyAppUITests.xctest/Info.plist specified MyAppUItests.TestObserver for NSPrincipalClass, but no class matching that name was found.
如何让方法 testBundleWillStart
执行?
任何帮助将不胜感激。
发现问题,
我的项目名称有一个 space,所以用 _
替换 space 是可行的。
关于我的项目的信息:
- 我的项目名称:
My App
- 我的项目测试包名称:
My-AppUITests
工作解决方案:(将 space 替换为 _
字符)
<key>NSPrincipalClass</key>
<string>My_AppUITests.SOTestObserver</string>
让我也分享一下看似正确但仍然行不通的事情:
无效 #1:(将 space 替换为 -
字符)
<key>NSPrincipalClass</key>
<string>My-AppUITests.SOTestObserver</string> //Didn't work
无效 #2:(用 $(PRODUCT_NAME)
环境变量替换项目名称)
<key>NSPrincipalClass</key>
<string>$(PRODUCT_NAME).SOTestObserver</string> //Didn't work