在 Swift 2.0 中编写自动化 UI 测试时,有没有办法模拟请求。据我所知,UI 测试应该独立于其他功能。有没有办法模拟服务器请求的响应,以便测试依赖于响应的 UI 行为。例如,如果服务器关闭,UI 测试仍应运行。简单的示例,对于登录,模拟如果密码失败,则 UI 应显示警报,但是,如果登录成功,则应显示下一页。
在当前的实现中,这不是directly可以通过 UI 测试实现。框架直接连接到代码的唯一接口是通过它的启动参数/环境 http://masilotti.com/xctest-documentation/Classes/XCUIApplication.html#//api/name/launchArguments.
您可以让应用程序在此上下文中查找特定的键或值并切换某些功能。例如,如果MOCK_REQUESTS
键已设置,注入MockableHTTPClient
而不是真实的HTTPClient
在你的网络层。我写过关于设置参数 http://masilotti.com/ui-testing-xcode-7#launching-the-app-xcuiapplicationNSHipster 有一篇关于如何阅读它们 http://nshipster.com/launch-arguments-and-environment-variables/.
虽然并不理想,但从技术上讲,通过一些跑腿工作就可以实现您正在寻找的目标。
这是一个用于 UI 测试的存根网络数据教程 http://masilotti.com/ui-testing-stub-network-data/我放在一起。它会引导您完成启动和运行该程序所需的所有步骤。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)