ich eigene JS-Funktion über einige Seitenleistung Details Doing Automatisierung über rubin rspec-Capybara Mit folgendem Code habe:Rubin execute_script für benutzerdefinierte Funktion führt zu keinen Ergebnissen
visit page
execute_async_script("function getPagePerformance(){if (window.performance && window.performance.timing) {
let timing = window.performance.timing;
let timing_obj = {};
/*timing*/
timing_obj.pageLoadingTime = timing.loadEventEnd - timing.navigationStart;
timing_obj.dnsHandshake = timing.domainLookupEnd - timing.domainLookupStart;
timing_obj.tcpConnect = timing.connectEnd - timing.connectStart;
timing_obj.timeToReachServer = timing.responseStart - timing.requestStart;
timing_obj.serverResponseTime = timing.responseEnd - timing.responseStart;
timing_obj.totalNetworkLatency = timing.responseEnd - timing.fetchStart;
timing_obj.domInteractive = performance.timing.domInteractive - performance.timing.navigationStart;return timing_obj;}}
getPagePerformance()")
Ich habe versucht, es mit Alle Methoden, die Rubin hat tatsächlich:
execute_async_script
execute_script
evaluate_script
Und es gibt keine Ergebnisse in der Konsole Aber sie sind, wenn im manuell in zusätzlichen tun habe ich versuchteinstellen 10 oder console.log
innerhalb Funktion nur um zu überprüfen, ob alle Linien überhaupt ausgeführt werden - alle Warnungen werden während des Testlaufs angezeigt
Ich habe hinzugefügt warten, um sicherzustellen, dass diese Seite geladen ist (nur um Fragen zu diesem Fall auszuschließen)
meine Frage ist, warum diese Funktion Wert nicht zurück, wenn Test
, was passiert, wenn Sie 'evaluate_script' tun? Irgendwelche Fehler irgendwo? –
Überprüfen Sie, ob die Standardausgabe und Standardfehler umgeleitet werden –
"Und es gibt keine Ergebnisse in der Konsole" - Ich sehe keinen Code, der auf die Konsole schreibt. –