Ich versuche einen Winkelmessertest zu erstellen, der eine Drittanbieterkomponente von Cloudinary verwendet. Ich war bisher erfolglos bei der Suche nach einem Element.Protractor Chained Element Confusion
Das HTML sieht wie folgt aus:
<div class="header" id="cloudinary-navbar">
<ul class="sources clear">
<li class="source local active" data-source="local">
<span class="label" data-text-key="sources.local.title">My files</span>
<span class="icon"></span>
</li>
<li class="source url" data-source="url">
<span class="label" data-text-key="sources.url.title">Web Address</span>
<span class="icon"></span>
</li>
<li class="source camera" data-source="camera">
<span class="label" data-text-key="sources.camera.title">Camera</span>
<span class="icon"></span>
</li>
</ul>
<a class="close" href="#">×</a>
</div>
Ich versuche, die zweite li
und tun dies zu finden:
var webLinkButton = element(by.id('cloudinary-navbar')).element(by.css('.url'));
ich die folgende Fehlermeldung erhalten:
Message:
Failed: No element found using locator: By(css selector, *[id="cloudinary-navbar"])
Stack:
NoSuchElementError: No element found using locator: By(css selector, *[id="cloudinary-navbar"])
Das ist verwirrend für mich, weil ich nicht nach cloudinary-navbar
von CSS suchen.
Wie soll ich dieses Element finden?
Du bist, richtig: Ich habe nicht bemerkt, dass ein iframe durch die erstellt wurde Widget. Ich benutze 'switchTo() .frame (0)', weil ich keine besseren Selektoren finden konnte. Ich habe auch 'switchTo(). DefaultContent()' verwendet, um zurück zu schalten. Vielen Dank! – objectuser