2 Stimmen

Cocoa automatisierte WebView

Ich habe mir überlegt, eine Art Robotertest-Browser zu entwickeln. Wie Selenium, aber eine, die wir verwenden können, um vollständige Integrationstests unserer Website zu machen. Ich frage mich, ob es möglich ist, eine Cocoa-Anwendung zu erstellen, die eine Webseite in einer WebView lädt und sie programmatisch sendet Klick-Ereignisse. Ich weiß, dass man verwenden könnte:

- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script

Um js-Klick-Events zu senden, aber es wäre besser, wenn Sie Klick-Events an die DOMElemente selbst senden könnten. Auf diese Weise könnten Sie Dateiuploads und andere Elemente testen, die nicht über Javascript wie Flash zugegriffen werden kann. Weiß jemand, ob dies möglich ist?

2voto

millenomi Punkte 6561

Sie können DOMNode*-Objekte erhalten, die genau den JavaScript-Node-Objekten entsprechen, indem Sie eine WebView 's -windowScriptObject Methode (die die WebScriptingObject* die dem JavaScript entspricht window Objekt) oder eines beliebigen Frame's -DOMDocument Methode, um das JavaScript dieses Frames zurückzugeben document Methode.

Beispiel:

DOMDocument* d = [[webView mainFrame] DOMDocument];
[[[d getElementsByTagName:@"a"] item:0] click];

0voto

Collin Allen Punkte 4328

Gefälschte klingt nach genau dem, was Sie wollen. Es ist WebKit-basiert, automatisiert, hat Tab-Unterstützung und eine riesige Bibliothek voller nützlicher Dinge wie die Auswertung von JavaScript, Assertions, Variablen, Ereignisse und Schleifen. Äußerst empfehlenswert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X