Guten Tag alle,ReactJS DropDown und PhantonJS Headless spielen nicht schön zusammen
Ich bin derzeit versucht, Gurken Tests auf einer reactjs Komponente, Drop-Down-Suche Auswahl, laufen in kopflos Modus auszuführen, PhantonJS verwenden, aber es verursacht eine seltsame Situation, die mich komplett von diesen Tests abhält.
Unter Verwendung der folgenden reactJs Drop-down-http://jedwatson.github.io/react-select/, es ist die „‚Github Benutzer (Async mit fetch.js)‘“
Die aktuelle Ausgabe, die entsprechend ist, wenn die Szenarien wird es viertes Beispiel testen, es scheitert aber der gleiche Code wird verwendet, um die ersten drei Tests zu bestehen.
Ich dachte, es war das vierte Beispiel, also änderte ich es mit anderen Werten und es schlägt immer noch im vierten Schritt fehl.
Dies ist der Code verwendet, um den Wert in der Dropdown-Suche
find(".Select").trigger("click")
fix_overlap = %{ $('.Select-placeholder').css('z-index', -99999) }
page.execute_script(fix_overlap)
find(".Select .Select-input input").native.send_keys(with)
find(".Select-menu-outer", text: with, visible: :all, match: :first).click
Die reagieren einzugeben Steuer async Aufruf für die Eingangsdaten von einem API-Endpunkt suchen tut.
Ich kann den Test in einem Browser ohne Probleme ausführen.
Der Fehler, der aus dem Test zurückgegeben wird, ist, dass ich den Wert in der Dropdownliste nicht finden kann.
Ich habe die Optionen für die Umwelt-Setup hinzugefügt, wenn ich Poltergeist Registrierung bin,
options = {:js_errors => false, phantomjs_options: ['--debug=true'], debug: false }
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, options)
end
zu sehen, ob es ein interner Fehler ist, die in der Debug-Konsole nicht angezeigt wird.
Ich habe eine page.save_screenshot gemacht, um den Zustand kurz vor dem Fehler zu sehen und das Dropdown hat den richtigen Wert.
Fragen
Gibt es keine anderen Optionen, die mehr Informationen/Fehler hinzugefügt werden können, zeigen?
Hat jemand dieses Problem schon einmal erlebt?
Ich bin offen für alle Vorschläge, um dieses seltsame Verhalten zu beheben.
Extra Details
gem 'Poltergeist', '= 1.9.0' Juwel 'Gurke', '~> 2.0'
ich habe eine Änderung auf die Frage, wie ich die falsche Dropdown –
aufgeführt habe ich versucht, Ihre Methode @Thomas Walpole, die für die ‚Städte (Large Dataset)‘ große Arbeit, aber nicht scheinen die für die Github-Benutzer (Async mit fetch.js) zu arbeiten. Es scheint ein Problem zu haben, das die Gründung der ". VirtualizedSelectOption 'Wert. –
Capybara :: ElementNotFound: Kann ".VirtualizedSelectOption" mit exaktem Text craig-davis nicht finden ./features/step_definitions/test_peter.rb:11:in '/^Ich habe in Daten $/' ./features/ eingegeben online_v2/create_ea_business.feature: 90: in 'Und ich habe in Daten eingegeben ' ./features/online_v2/create_ea_business.feature:86:in' Und ich habe in Daten eingegeben' 1 Szenario (1 fehlgeschlagen) 2 Schritte (1 fehlgeschlagen, 1 bestanden) –