ich eine Checkbox haben, mit einem Text einen Link einschließlich wie folgt:Nightwatch.js klickt auf verschachtelte Anker, wenn auf einen Klick auf Checkbox Etikett sagte
<div id="agreementDiv" class="cust-pad-bot1">
<input id="inputAgreement" type="checkbox">
<label for="inputAgreement">I have read and agree to the <a target="_blank" href="http://example.com/terms-and-conditions"><u>Terms & Conditions</u></a></label>
</div>
(Bitte beachten Sie, dass dieser Code-Schnipsel ist nur eine Skizze der tatsächlichen Implementierung. CSS-Klassen werden entfernt.)
Verwenden von Nightwatch.js Ich möchte das Kontrollkästchen automatisch aktivieren. In meiner Benutzeroberfläche wird durch Klicken auf den Beschriftungstext das Kontrollkästchen aktiviert.
browser
.useXpath()
.waitForElementPresent(`//*[@id="agreementDiv"]/label`, 10000)
.click(`//*[@id="agreementDiv"]/label`)
Aber wenn ich versuche, es zu tun Nachtschwärmer verwenden, klickt auf den Link und den Link in einem neuen Tab geöffnet wird. Aber das Kontrollkästchen wurde nicht angeklickt. Ein Klick auf das Kontrollkästchen mit css/xpath funktioniert auch nicht. Ich schätze es, wenn jemand erklären kann, wie man verhindern kann, dass Nightwatch auf den Kinderanker klickt.
Vielen Dank.
Nein. Durch Klicken auf das Kontrollkästchen mit "Klick" wurde es nicht überprüft. Ich hatte 'useXpath' bereits im vorherigen Schritt verwendet, den ich hier nicht aufgenommen habe. Schließlich fand ich 'jqueryClick'-Funktion in der Checkbox von https://github.com/maxgalbu/nightwatch-custom-commands-assertions und es funktionierte. Wird eine Antwort geben. – Deepal
Ok. Die meisten Entwickler sind mit diesem Problem konfrontiert und verwenden jQuery. Ich hatte auch das gleiche Problem während der Arbeit an einem Testfall, aber in meinem Fall war das Kontrollkästchen deaktiviert. Daher konnte ich es nicht überprüfen –