Ios 如何检查wkwebview是否已在UItest中完成加载

Ios 如何检查wkwebview是否已在UItest中完成加载,ios,wkwebview,uitest,webviewdidfinishload,Ios,Wkwebview,Uitest,Webviewdidfinishload,我想拍摄应用程序加载html文件时的屏幕截图。但是,有时wkwebview加载html文件需要很长时间 目前,我必须使用sleep(5)来等待wkwebview完成加载 //uitest.swift sleep(5) takeScreenshot() 有没有办法检查wkwebview是否已在UItest中加载完毕?我在尝试如何加载时也遇到了一些问题,因此我决定使用此解决方案。在wkwebview didfinishload中,如果有任何变量,可以检查它是否存在或其值。若你们并没有任何变量,你

我想拍摄应用程序加载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,我用它来显示web的状态,所以我要做的是在UITest中执行以下命令:

let nextGameLabel = self.app.staticTexts["Content Loaded"]
app.buttons["Reload Web"].tap()
XCTAssert(nextGameLabel.waitForExistence(timeout: 5))

因此,当我按下应用程序按钮时,UITest会等待5秒钟,以查看web是否已加载。希望它能帮上忙。

我也遇到了一些问题,所以我决定利用这项工作。在wkwebview didfinishload中,如果有任何变量,可以检查它是否存在或其值。若你们并没有任何变量,你们必须在全局范围内创建它,对吗?例如,如果我们在wkwebview结束加载时有以下代码:

func webView(_ webView: WKWebView,didFinish navigation: WKNavigation!) {
   myTopLabel.text = "Content Loaded"
   print("loaded") 
}
“myTopLabel”是一个UILabel,我用它来显示web的状态,所以我要做的是在UITest中执行以下命令:

let nextGameLabel = self.app.staticTexts["Content Loaded"]
app.buttons["Reload Web"].tap()
XCTAssert(nextGameLabel.waitForExistence(timeout: 5))
因此,当我按下应用程序按钮时,UITest会等待5秒钟,以查看web是否已加载。希望对你有帮助