Bonjour tous,ReactJS DropDown et PhantonJS Headless ne joue pas bien ensemble
J'essaie actuellement d'exécuter des tests de concombre sur un composant reactjs, sélection de recherche déroulant, en cours d'exécution en mode sans tête, en utilisant PhantonJS, mais il est à l'origine une situation étrange qui m'empêche complètement de ces tests.
En utilisant le menu déroulant ci-dessous reactJs, http://jedwatson.github.io/react-select/, ce sont les « utilisateurs « Github (Async avec fetch.js) » »
La question actuelle qui est quand selon les scénarios arrive à ce quatrième exemple tester échoue mais le même code est utilisé pour passer les trois premiers tests. Je pensais que c'était le quatrième exemple, donc je l'ai changé avec d'autres valeurs et il échoue toujours à la quatrième étape.
C'est le code utilisé pour entrer la valeur dans le menu déroulant recherche
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
Le contrôle réagit fait appel asynchrone pour rechercher les données d'entrée à partir d'un point final de l'API.
Je peux exécuter le test dans un navigateur sans problème.
L'erreur renvoyée par le test est que je ne trouve pas la valeur dans la liste déroulante.
J'ai ajouté les options à la configuration de l'environnement quand je me inscris poltergeist,
options = {:js_errors => false, phantomjs_options: ['--debug=true'], debug: false }
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, options)
end
pour voir s'il y a une erreur interne qui ne figure pas dans la console de débogage.
J'ai fait un page.save_screenshot pour voir l'état juste avant l'erreur et la liste déroulante a la valeur correcte.
Questions
Y at-il d'autres options qui peuvent être ajoutées pour afficher plus d'informations/erreurs?
Quelqu'un a déjà rencontré ce problème?
Je suis ouvert à toutes les suggestions pour corriger ce comportement étrange.
détails supplémentaires
bijou 'Poltergeist', '= 1.9.0' bijou 'concombre', '~> 2.0'
J'ai fait un changement à la question que j'ai énuméré dans la liste déroulante incorrecte –
J'ai essayé votre méthode @Thomas Walpole, qui fonctionne très bien pour les « Villes (grand Dataset) », mais ne semblent fonctionner pour les utilisateurs 'Github (Async avec fetch.js)'. Il semble y avoir un problème à la base du '. VirtualizedSelectOption 'valeur. –
Capybara :: ElementNotFound: Impossible de trouver css ".VirtualizedSelectOption" avec le texte exact craig-davis ./features/step_definitions/test_peter.rb:11:in '/^J'ai entré des données $/' ./features/ online_v2/create_ea_business.feature: 90: dans 'Et j'ai entré des données ' ./features/online_v2/create_ea_business.feature:86:in' Et j'ai entré des données' 1 scénario (1 échoué) 2 étapes (1 échec, 1 réussi) –