По какой-то причине у меня возникает странная проблема при нажатии на конкретный элемент кнопки.
Элемент HTML, как показано ниже:
<button type="submit" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false"><span class="ui-button-text">Search</span></button>
Мой код работает нормально в браузере Chrome и имеетпроблема с браузером Firefox.Хотя вывод консоли показывает, что элемент щелкается, но я не вижу, чтобы это отражалось в приложении при автоматизации, вызвавшей неудачу теста.
Я делаю следующее:
public String clickAt(String identifier) {
currentKeywordLog = " Click on element: " +identifier;
APP_LOGS.debug(" Click on element: " +identifier);
try {
Actions action = new Actions(driver);
WebElement webElement = objectLocator(identifier);
Thread.sleep(800);
String scrollElementIntoMiddle = "var viewPortHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);"
+ "var elementTop = arguments[0].getBoundingClientRect().top;"
+ "window.scrollBy(0, elementTop-(viewPortHeight/2));";
((JavascriptExecutor) driver).executeScript(scrollElementIntoMiddle, webElement);
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(false);",webElement);
Thread.sleep(1000);
if (webElement.isDisplayed() && webElement.isEnabled()) {
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.elementToBeClickable(webElement));
Thread.sleep(1000);
action.moveToElement(webElement).click(webElement).perform();
//webElement.click();
//((JavascriptExecutor) driver).executeScript("arguments[0].click();",webElement);
}
} catch (Exception e) {
currentKeywordErrorMessage = e.getMessage();
return Constants.KEYWORD_FAIL + " --> " + ApplicationTest.currentTestSuite + " - " +ApplicationTest.currentTestCaseName+ " - " + ApplicationTest.currentTestStepID +" , Reason:- " + " Unable to click, " + e.getMessage();
}
return Constants.KEYWORD_PASS;
}
У меня естьвремя ожидания, проверка кликабельности элемента, попытка использовать исполнитель javascript для нажатия, попытка использования различных локаторов (css, xpath).У меня все еще есть эта проблема, не уверен, что может быть не так.Использование новейших версий браузера selenium, gecko и firefox.
Есть предложения?
Спасибо Nagendra