2016-10-12 4 views
1

Ich benutze Laravel-Tests, um ein Formular zu testen.Ist JS beim Testen mit Laravel aktiviert?

Ich versuche $this->select('value','selectName') zu verwenden, um eine Option auf einem ausgewählten einzustellen, aber dies wählt man auf der Seite mit dem folgende Skript gefüllt wird:

<script> 
    for(var i = 1940; i < 2020; i++){ 
     document.write('<option value="'+i+'">'+i+'</option>'); 
    } 
</script> 

Aber wenn ich den Test ausführen, erhalte ich:

Wenn ich nur die Optionen mit HTML-Tags mache, läuft alles gut, also rate ich JS ist nicht aktiviert oder läuft nach dem Parsen.

Ist das erwartete Verhalten? Was kann ich tun, um es mit aktiviertem JS zu testen?

Antwort

3

Da JavaScript eine clientseitige Skriptsprache ist, die zur Laufzeit im Browser ausgeführt wird, kann sie von Laravel nicht in Tests verwendet werden. Davon abgesehen gibt es einige Erweiterungen/Treiber für Laravel, die diese Funktion aktivieren können. Sie können Selen überprüfen.

Hier ist ein großartiger Ort, zu diesem Thema zu lesen: https://laracasts.com/discuss/channels/testing/has-anyone-tried-laravel-integrated-package-in-laravel-52

+0

Nun, offenbar ist es nicht. Das ist also die Antwort. Danke für den Link. – user2430929

Verwandte Themen