我目前正在使用KIF Framework为iOS应用程序开发一些UIAutomation测试。在某些时候,应用程序必须打开带有登录页面的WebView,输入用户名和密码,然后按登录按钮,所有这些都必须自动完成。
我的问题是:知道在某个特定时刻应用程序显示该登录页面,我如何获得WebView UI元素,如:
UIWebView *webView = // . . . ?
另外,如果您能告诉我如何获取这两个文本字段(用户名和密码),那将会非常棒,例如:
UITextField *textField = // ... ?
谢谢。
答案 0 :(得分:3)
使用此代码:
NSString *myText = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.textContent"];
OR对于所有数据
NSString *html = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"];
我希望这段代码对你有用。
答案 1 :(得分:2)
这个想法是你想要在加载webview之后抓住webview 。 为此,您必须将通知代码放在webview委托函数webViewDidFinishLoad
中在那里..你可以提出一个NSNotification ..如果你已经使用KIF一段时间了,你知道只有在你收到NSNotification
后才能实例化行动.. this是kif中的方法:
+ (id)stepToWaitForNotificationName:(NSString*)name object:(id)object;
至于找到UIWebView本身,你只需要给它与iOS中任何其他UIElement相同的accessibility label。