如何解决如何检查wkwebview是否在UItest中完成加载
我想在加载HTML文件时对应用程序进行截图。但是有时wkwebview需要很长时间才能加载html文件。
当前,我必须使用sleep(5)等待wkwebview完成加载。
//uitest.swift
sleep(5)
takeScreenshot()
有什么方法可以检查wkwebview是否在UItest中完成加载?
解决方法
我在尝试弄清楚如何制作它时遇到了一些问题,因此我决定使用此解决方法。在wkwebview didfinishload中,如果那里有任何变量,则可以检查它是否存在或其值。如果那里没有任何变量,则必须在全局范围内创建它,对吗?例如,如果wkwebview结束加载时我们有以下代码:
func webView(_ webView: WKWebView,didFinish navigation: WKNavigation!) {
myTopLabel.text = "Content Loaded"
print("loaded")
}
'myTopLabel'是一个UILabel,用于显示我的网络状态,因此我要做的就是在UITest中执行以下命令:
let nextGameLabel = self.app.staticTexts["Content Loaded"]
app.buttons["Reload Web"].tap()
XCTAssert(nextGameLabel.waitForExistence(timeout: 5))
因此,当我按下应用程序按钮时,UITest等待5秒钟,以查看是否加载了Web。希望对老兄有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。