comment obtenir un outerHTML, innerHTML, et getText() d'un élément
Je suis novice sur le rapporteur cadre, et j'ai essayé pendant un certain temps à comprendre comment obtenir les outerHTML/InnerHTML/getText() (éléments d'enfant), de sorte que je peux tester si un élément <img>
est rendu sur une vue. Heads up, nous avons un ng-grid
et je suis en train de chercher dans sa première colonne pour voir si elle contient une img
élément vérifiez également si il contient un attribut c'est à dire src=res/someImg.png
.
Voici ce que j'ai
html
<div>
<a>
<div>
<div>
<span>
<i><img src="res/someImg.png"></i>
</span>
</div>
<div>
...
</div>
<div>
...
</div>
</div>
</a>
</div>
test
it('should render an icon in agent list', function () {
var row = element.all(by.repeater('row in renderedRows')).get(3);
expect(row).not.toEqual(null); //pass
expect(row.element(by.css('img')).getAttribute('src').getText()).toMatch(/someImg.png/);//fail with null
expect(row.element(by.css('span')).outerHTML).toBe('<i><img src="res/someImg.png"></i>'); //fails
expect(row.element(by.css('i')).innerHTML).toBe('<img src="res/someImg.png">'); //fails
});
Quelqu'un peut dire ce que je fais mal s'il vous plaît?
Avez-vous résolu le problème? A la réponse a aidé?
OriginalL'auteur Simple-Solution | 2014-12-19
Vous devez vous connecter pour publier un commentaire.
Un peu plus explicite:
getOuterHtml()
etgetInnerHtml()
sont désormais obsolète dans WebDriverJS et du Rapporteur.OriginalL'auteur Justin Acount
Utilisation
getAttribute()
dans tous les 3 cas - poursrc
,outerHTML
etinnerHTML
:Testé - fonctionne pour moi.
OriginalL'auteur alecxe