web-dev-qa-db-fra.com

Comment sélectionner un élément dans le rapporteur ayant plusieurs classes?

J'ai un div comme ça:

<div class="class1 class2 class3" ng-click="displayItems(category.categoryId, category.categoryDescription, category.associatedToElements, 'isItemChecked')"> </div>

Lorsque j'essaie d'obtenir l'élément dans Protractor par css:

var elementList =  element.all(by.css('class2'));

Je deviens indéfini.

Quand j'essaye la même chose avec ng-click:

var elementList = element.all(by.css('[ng-click="displayItems(category.categoryId, category.categoryDescription, category.associatedToElements, "isItemChecked")"]'))

je ne suis toujours pas en mesure de suivre un élément.

Les suggestions sont les bienvenues.

Voici mon code:

var categoryList, firstCategory;
beforeEach(function(){
    categoryList = element.all(by.css('.class2'));
    firstCategory = categoryList.last();
});

it('Should display values correctly', function(){
    firstCategory.click();
});
15
Jyotirmoy Pan

Essayez de remplacer class2 à .class2.

12
IProblemFactory

Si vous apprenez à utiliser le rapporteur, je vous suggère d'essayer elementor . Il proposera des sélecteurs en fonction de l'élément actuellement sélectionné.

Tu peux le faire:

$('.class1.class2.class3')

C'est la même chose que:

element(by.css('.class1.class2.class3'))
28
Andres D