【发布时间】:2011-11-07 12:05:34
【问题描述】:
我将应用程序生成的内容放入UIWebView,并尝试测试我是否正确执行。这是我放入 Web 视图的 HTML 字符串:
@"<html><head></head><body><p>Come, let me clutch thee. I have thee not, and yet I see thee still. Art thou not, fatal vision, sensible to feeling as to sight?</p></body></html>"
然后它进入 web 视图:
[self.webView loadHTMLString: [self HTMLStringForSnippet: model.body] baseURL: nil];
其中model.body 仅包含<p/> 元素,而-HTMLStringForSnippet: 将其包装成格式良好的HTML。在我的测试中,我依靠答案 to this question 通过 JavaScript 检索正文的 HTML 内容:
- (void)testCorrectHTMLLoadedInWebView {
UIWebView *bodyView = controller.webView;
NSString *bodyHTML = [bodyView stringByEvaluatingJavaScriptFromString: @"document.body.innerHTML"];
STAssertEqualObjects(bodyHTML, model.body, @"Model body should be used for the web view content");
}
虽然我可以通过单步执行代码看到UIWebView 已正确创建并在-loadHTMLString:baseURL: 中传递了正确的HTML,但在测试中bodyHTML 是空的。那么我必须做什么才能看到我期望的实际内容并之前传递给 Web 视图?
【问题讨论】: