随着iOS 13的发布,苹果现在包含了原生iOS W3C WebDriver支持。除了先前在Safari 10中添加的WebDriver支持之外,WebDriver现在可以轻松地用于移动Safari Web应用程序的高效测试了。
虽然之前可以通过iOS模拟器或各种基于云的测试提供程序在iOS Safari中使用WebDriver,但原生WebDriver支持提供了额外的测试功能以及更好的移动UI测试体验。
原生WebDriver API提供了针对恶意代码和脆弱测试的保护。Safari WebDriver实现会限制WebDriver会话中的浏览行为。测试被隔离在一组单独的窗口、选项卡、首选项和持久存储中,现有的选项卡被隐藏,带有橙色Smart Search字段的特殊颜色的WebDriver窗口被显示。这种方法有助于提高安全性和私密性,并确保测试不会受到以前会话的影响。测试完成后,任何本地状态(如Cookie)都会被删除。
为了防止在自动化测试会话期间出现意外的用户交互,Safari在自动化浏览器窗口上添加了一个窗格来阻止任何交互行为。如果运行中的测试卡住或失败,开发人员可以点击屏幕并选择结束WebDriver会话。WebDriver发起的导航不能在Safari之外处理。例如,单击应用商店链接不会重定向到App Store。
要开始在运行Safari 13及更新版本的macOS设备上使用WebDriver支持,开发人员需要运行safaridriver --enable并进行管理员身份验证。然后在用于测试的iOS设备上,开发人员需要启用远程自动化(设置→Safari→高级→远程自动化)。然后,开发人员需要将他们的iOS设备插入macOS主机,信任主机,并在启动WebDriver会话时解锁iOS设备。
WebDriver配置应该包括’platformName’: ‘ios’;,以区分运行iOS模拟器和原生macOS测试。要使用iOS模拟器进行测试,请添加 ‘safari:useSimulator’: true。
iOS的WebDriver支持随iOS 13及更高的版本提供,需要macOS主机运行Safari 13或更高版本。
原文链接:
领取专属 10元无门槛券
私享最新 技术干货