Meine Skripts schlagen nur fehl, wenn der Headless-Modus aktiviert ist. Bitte schlage mir vor, wie ich beim Codieren alles sehen sollte.Leistungsproblem mit Headless Chrome
- Die meisten meiner Skripts sind aufgrund von TimedOut fehlgeschlagen.
- Gibt es irgendetwas, wo ich gezielt nach Locators suchen sollte? Ich glaube, dass css mir in diesem Fall nicht helfen wird. Gäbe es etwas anderes mit Locators?
- Im Continuous Integration Server ist die Ausführung sehr langsam. Die Limits von Timed_Out Sekunden sind auf 50 festgelegt. Dies hat bei mir und sogar bei 100 nicht funktioniert. Bitte schlage mir vor, wie ich damit umgehen soll, wenn ich nur TimeOut bis zu 100 Sekunden benutzen darf und die Exception erfüllt Dies.
Hier sind einige Ausnahmen, die ich nur erhalten, wenn ich ohne Kopf zu aktivieren,
1. WebDriverException: unknown error: Element <input type="radio" class="wizard-input" name="5a68a4c173bb-TOTAL-1" id="5a68a4c173bb-TOTAL-1" value="1"> is not clickable at point (496, 551). Other element would receive the click: <div class="navigation-bar">...</div>
Versuchte Wartezustand zu übernehmen und auch gescrollt und klicken Sie auf.
2. TimeoutException: Expected condition failed: waiting for element to be clickable: By.cssSelector: div.icon.icon-add.add-contact-button (tried for 50 second(s) with 500 MILLISECONDS interval)
Versucht, die von Marcel vorgeschlagenen Bedingungen anzuwenden. Wie gesagt, es sogar 100 Sekunden
übersteigt Hier einige Beispiele für meinen Code sind,
public void clickForwardButton(){
WaitTillElementToBeClickable("xpath", LoginData.Forward);
ScrollAndClickOnElement("xpath", LoginData.Forward);
} //The error seems to be like it wont scroll properly and hence I receive element not found exception
protected void WaitTillElementToBeClickable(String locatorType, String locatorValue) {
try {
WebDriverWait wait = new WebDriverWait(driver, TIME_OUT_IN_SECONDS);
if (locatorType.equalsIgnoreCase("cssSelector")) {
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector(locatorValue)));
} else if (locatorType.equalsIgnoreCase("xpath")) {
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(locatorValue)));
} else if (locatorType.equalsIgnoreCase("id")) {
wait.until(ExpectedConditions.elementToBeClickable(By.id(locatorValue)));
}
} catch (Exception e) {
logger.error("Webdriver Locator Error" + e);
}
}
Können Sie Ihren Code-Block teilen, der zusammen mit der relevanten HTML- & Fehler-Stack-Ablaufverfolgung fehlschlägt? – DebanjanB
@Debanjan - Ich habe meine Frage mit einigen Beispielen aktualisiert. Bitte prüfe. – Roja
Danke Debanjan Ich bin jetzt klar genug, wie ich meinen Code beheben kann, indem ich den gegebenen Link verstehe. – Roja