Ich verwende Selenium, um Aktion auf einer HTML-Seite zu testen. Der, an dem ich gerade arbeite, enthält mehrere Kontrollkästchen. Mein Selen Skript Sie die folgenden Aktionen: -Klick auf der Dropdown-Liste das Kontrollkästchen Liste auf alle KontrollkästchenSelen, stellen Sie sicher, dass alle Kontrollkästchen aktiviert sind
-Klick auf der Dropdown-Liste schließen Sie das Kontrollkästchen Liste
-Click anzuzeigen
-Repeat für die nächste Liste
das Problem ist, dass somtimes das Skript für den Browser zu schnell geht und etwas Box wird nicht überprüft, es passiert wirklich oft, da ich mehr Test zu beheben mein Problem, das ich versuchte zu machen zu machen eine Methode, die überprüft, ob die Checkbox ist aktiviert, wenn nicht, klicke ich erneut, aber es funktioniert nicht und es erhöht die Zeit meines Tests. Hier ist mein Code so weit:
public void clickClearanceListBox(int numberInList) throws InterruptedException {
int iteration = countTheNumberOfElement("//div[5]/div["+numberInList+"]/div[2]");
for(int i = 1; i <= iteration; i++) {
String xpathBox ="//div["+numberInList+"]/div[2]/div["+i+"]/div/div/label/span/span[2]";//xpath de la checkbox
String xpathInput = "//div["+numberInList+"]/div[2]/div["+i+"]/div/div/label/input";
clickTheDOMbyJs(xpathBox);
while(!checkBoxChecked(xpathInput)) {
Thread.sleep(200);
clickTheDOMbyJs(xpathBox);
}
}
}
Oder:
public void clickClearanceListBox(int numberInList) throws InterruptedException {
int iteration = countTheNumberOfElement("//div[5]/div["+numberInList+"]/div[2]");
for(int i = 1; i <= iteration; i++) {
String xpathBox ="//div["+numberInList+"]/div[2]/div["+i+"]/div/div/label/span/span[2]";//xpath de la checkbox
String xpathInput = "//div["+numberInList+"]/div[2]/div["+i+"]/div/div/label/input";
clickTheDOMbyJs(xpathBox);
while(!checkBoxChecked(xpathInput)) {
Thread.sleep(200);
}
}
}
Können Sie bitte –
die Methode Implementierung von checkBoxChecked liefere ich glaube nicht, dass Sie die Seite mit uns teilen können? Ich würde es mir gerne ansehen. Weißt du wie viele Checkboxen es sein soll oder ist die Nummer dynamisch? Sie müssen einen Weg finden, um zu bestimmen, wann die gesamte Liste angezeigt wird, auf diesen Auslöser warten und dann alle Kästchen ankreuzen. – JeffC
ich kann es nicht teilen isn 'online sry, die anzahl der checkbox ist dynamisch, aber ich kann die nummer haben werde ich versuchen, was du sagtest jeffC, der code von checkBoxChecked einfach zurück wahr oder falsch, wenn das feld überprüft ist nein muss es zur Verfügung stellen, es ist nicht aufschlussreich. –