Selenium WebDriver - приложение перестает отвечать на запросы после нажатия на кнопку Сохранить - PullRequest
0 голосов
/ 04 мая 2018

Я автоматизирую один из сценариев, который содержит ввод нескольких деталей и затем нажимаю кнопку Сохранить. Вручную, когда я выполняю шаги, обработка и завершение работы занимает от 5 до 8 секунд. Но при выполнении сценария автоматизации он просто загружается бесконечно долго.

Ниже HTML-код для кнопки Сохранить:

<button class="blueFilledButton ng-binding" ng-click="validateIdea(validateIdeaForm)" ng-disabled="userNotFound || PoupupButtonDisabled || incorrectValidDate" tabindex="0" aria-disabled="false">Save</button>

Селен код: Я пробовал с помощью методов ниже:

Дело - 1:

driver.findElement(By.xpath("//button[text()='Save']")).click();

Дело - 2:

Actions builder = new Actions(driver);
builder.moveToElement(driver.findElement(By.xpath("//button[text()='Save']"))).click().perform();

В обоих случаях он просто продолжает загружаться.

Это связано с тем, что какой-либо сценарий вызывается после нажатия кнопки Сохранить, и веб-драйвер не совместим с ним?

Пожалуйста, помогите. Заранее спасибо.

1 Ответ

0 голосов
/ 04 мая 2018

В соответствии с HTML, которым вы поделились <button> с текстом как Сохранить является Угловым элементом , поэтому вы должны заставить WebDriverWait для элемента быть кликабельным следующим образом:

new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@class='blueFilledButton ng-binding'][@ng-click=\"validateIdea(validateIdeaForm)\"]"))).click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...