Comment obtenir la valeur de l'option de sélectionner l'élément
J'essaie d'obtenir la valeur de l'option de sélectionner l'élément à l'aide du Rapporteur. Cependant, je ne suis pas en mesure de trouver l'option élément.
HTML
<select ng-options="opions.c as options.n for option in options" ng-model="model">
<option value="0">Option 1</option>
<option value="1">Option 2</option>
</select>
Spec-fichier
describe('testing select option', function() {
it('', function() {
ptor = protractor.getInstance();
//This will not get the option required
ptor.findElement(protractor.By.binding('model'));
});
});
Je n'arrive pas à trouver un moyen de saisir la valeur de l'option que je n'ai pas trouvé une fonction que je peux utiliser ce n'est pas donner et d'exception ou un message d'erreur.
Personne ne sait comment résoudre ce problème?
Personne dans ce thread a répondu à la question posée par l'op-pas même l'op dans leur réponse! Tous réponses downvoted.
Si vous regardez la réponse posté par lui-même, vous saurez ce qu'il veut savoir, c'est en fait différente de la question qu'il a posté . Il pose des questions sur la façon d'obtenir la valeur sélectionnée dans la liste déroulante, tandis que sa réponse est en fait la façon de sélectionner l'une des options de la liste déroulante en cliquant sur elle. Il n'a aucune idée sur ce qu'il veut.
Je pense disant que je ne savais pas ce que je voulais n'est pas utile à tous. Si vous n'êtes pas en mesure d'offrir une réponse constructive à ce fil de discussion, merci de ne pas répondre ou de commenter. Ce n'aide pas la communauté que de critiquer les membres. Je n'ai pas réussi à l'état de l'option sélectionner une valeur dans la réponse, cependant le code montre ce qui était prévu.
Si vous regardez la réponse posté par lui-même, vous saurez ce qu'il veut savoir, c'est en fait différente de la question qu'il a posté . Il pose des questions sur la façon d'obtenir la valeur sélectionnée dans la liste déroulante, tandis que sa réponse est en fait la façon de sélectionner l'une des options de la liste déroulante en cliquant sur elle. Il n'a aucune idée sur ce qu'il veut.
Je pense disant que je ne savais pas ce que je voulais n'est pas utile à tous. Si vous n'êtes pas en mesure d'offrir une réponse constructive à ce fil de discussion, merci de ne pas répondre ou de commenter. Ce n'aide pas la communauté que de critiquer les membres. Je n'ai pas réussi à l'état de l'option sélectionner une valeur dans la réponse, cependant le code montre ce qui était prévu.
OriginalL'auteur Ian Richards | 2013-08-23
Vous devez vous connecter pour publier un commentaire.
J'ai eu quelques problèmes pour faire des listes déroulantes de travail bien et que vous avez passé un certain temps aujourd'hui de travail (et donc je partage ici au cas où quelqu'un d'autre le trouve utile).
Sur des versions antérieures de Rapporteur, il y avait une par.selectedOption, qui a effectivement fait la même chose que par.sélectionnez, mais renvoie uniquement l'élément sélectionné. Donc, pour obtenir le texte de l'option sélectionnée ci-dessus, vous pourriez avoir:
J'ai écrit un post de blog si vous voulez plus de détails, il couvre également une fonction d'aide pour la sélection de l'option dans la liste déroulante: http://technpol.wordpress.com/2013/12/01/protractor-and-dropdowns-validation/
Les versions récentes de rapporteur ont supprimé cette fonction, en le remplaçant par:
Qui est plus souple, car il peut être appliqué à n'importe quel chercheur, alors que selectedOption seulement travaillé avec un détecteur de modèle.
Mais comment voulez-vous obtenir la valeur de la "valeur" de la propriété? J'ai essayé getCssValue('valeur') mais cela ne fonctionne pas pour moi.
Merci. Ce fut une révélation pour moi a été le
option:checked
sélecteur. J'avais déjà essayé leoption:selected
en vain, même si elle est revenue au bon éléments dans ma console Chromée.OriginalL'auteur PaulL
ok, je suis maintenant en mesure de comprendre comment attraper l'élément option avec le rapporteur.
l'exemple de code ci-dessous montre comment accomplir cette.
OriginalL'auteur Ian Richards
Essayez d'utiliser xPath:
ptor.findElement(protractor.By.xpath('//select/option[1]'));
Vous pouvez utiliser la même technique pour choisir une option en valeur:
protractor.By.xpath('//select/option[text()="Option 2"]'));
J'ai eu besoin de le faire pour la mise en place des formes où les entrées sont visibles basé sur des listes déroulantes, par exemple:
OriginalL'auteur corinna000
Ici est de savoir comment vous pouvez obtenir la valeur d'une option d'un select:
HTML
.le fichier de spécification
Pour obtenir la valeur d'un option sélectionnée (qui peut être une option par programme sélectionné avec le rapporteur en appelant cliquez sur() sur une option):
OriginalL'auteur 7stud
.
OriginalL'auteur Priyalal Koggalage
Afin d'énumérer les balises d'option, vous pouvez essayer d'utiliser le
.all
méthode et vous devez y accéder par le parent en premier.Ont un look à la référence de l'API pour l'inspiration
http://www.protractortest.org/#/api?view=ElementArrayFinder.prototype.all
Edit: suivez le guide de style qui décourage l'utilisation de XPath
http://www.protractortest.org/#/style-guide
OriginalL'auteur H.Rabiee