我想在UI测试期间从启动的应用程序的App Delegate访问特定的属性路由器,但我无法弄清楚这是否可行.我试过了: let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegatelet router = appDe
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate let router = appDelegate.router
但这会导致失败,甚至无法建立.我在我的项目模块上使用@testable.有任何想法吗?
Xcode UI测试的设计使得测试代码只能看到用户可以看到的内容,因此测试代码中不能使用或检查被测应用程序中的任何对象.这也是为什么屏幕上的视图表示为XCUIElement对象而不是UIView后代的原因.UI测试在与测试中的应用程序不同的可执行文件中运行.将附加信息从应用程序传递到UI测试的唯一方法是构造一个包含信息的字符串,并将其用作元素的可访问性标识符.
如果要测试需要从应用程序代码访问对象的内容,则很可能需要编写单元测试而不是UI测试.