2017-05-01 2 views
0

Ich verwende PhantomJS für ein UI-Test-Framework in C#. Ich versuche, in einer Aktion auf ein Element zu klicken, das ein Bestätigungsfeld anzeigt, und dann mit dem noch offenen Bestätigungsfeld zur aufrufenden C# zurückzukehren. Dann versuche ich in PhantomJS zurückzurufen, um in einer zweiten Aktion auf das Dialogfeld "OK" zu klicken.Deaktiviere Rückrufe in PhantomJS (Javascript)

Das Problem ist, dass ein Rückruf an das Bestätigungsfeld angehängt ist, das true/false (OK/Cancel) zurückgibt, so dass das Standardverhalten das Bestätigungsfeld einfach abbricht. Ich kann meine eigenen benutzerdefinierten Rückruf, wobei die Nachricht an den tatsächlichen (var result = confirm ('message')) Aufruf, wie so weitergegeben anhängen:

page.onConfirm = function(msg) { 
    console.log('Confirmation box showing for: ' + msg); 
    return someBooleanValue; 
} 

Aber wegen der truthy/Falsey Sachen in Javascript, was auch immer Ich komme hier zurück, entweder OK oder Abbrechen des Bestätigungsdialogs - ich kann es anscheinend nicht einfach offen lassen.

Es ist erwähnenswert, dass ich versuche, immer noch zu einfach Javascript statt Einführung von JQuery, weil es ein Test-Framework ist.

Irgendwelche Ideen, wie ich das mache?

Antwort

0

Für den Vorteil von jedermann mit dem gleichen Problem, ist im Wesentlichen die Antwort, dass Sie dies nicht tun können. Ich musste einfach ein Standardverhalten für diese Callbacks definieren.