pageElementAdapter.ClickWithRequestCapturing
browser.JavaScriptExecutor.WaitPendingRequests
public void WaitChecked(string timeoutMessage = "Не дождались активации чекбокса", double timeout = 10000) =>
Wait.For(() => Checked, timeoutMessage, timeout);
public void WaitUnchecked(string timeoutMessage = "Не дождались расчекивания чекбокса", double timeout = 10000) =>
Wait.For(() => !Checked, timeoutMessage, timeout);
public void WaitEnabled(string timeoutMessage = "Не дождались разблокировки чекбокса", double timeout = 10000) =>
Wait.For(() => Enabled, timeoutMessage, timeout);
public void WaitDisabled(string timeoutMessage = "Не дождались блокировки чекбокса", double timeout = 10000) =>
Wait.For(() => Disabled, timeoutMessage, timeout);
public void WaitError(string timeoutMessage = "Не дождались появления ошибки валидации в чекбоксе", double timeout = 10000) =>
Wait.For(() => HasError, timeoutMessage, timeout);
public void WaitNoError(string timeoutMessage = "Не дождались исчезновения ошибки валидации в чекбоксе", double timeout = 10000) =>
Wait.For(() => HasError, timeoutMessage, timeout);
sidePage.MainTariffsBlock.WaitVisible(); browser.JavaScriptExecutor.WaitPendingRequests(); sidePage.MainTariffsBlock.TariffBlocks[0].WholesaleInput.SendKeys("2", true); browser.JavaScriptExecutor.WaitPendingRequests(); sidePage.MainTariffsBlock.TariffBlocks[0].WithRecipientsRadioButton.Click(); Wait.For(() => sidePage.MainTariffsBlock.TariffBlocks[0].RecipientsComboBox.Exists); browser.JavaScriptExecutor.WaitPendingRequests(); sidePage.MainTariffsBlock.TariffBlocks[0].RecipientsComboBox.SelectItem(recipient1.INN); sidePage.MainTariffsBlock.TariffBlocks[0].SelectedRecipients.First().InnerText.Should().Contain(recipient1.INN, $"Должны найти в получателях получателя с ИНН {recipient1.INN} и именем {recipient1.Name}"); browser.JavaScriptExecutor.WaitPendingRequests(); sidePage.MainTariffsBlock.TariffBlocks[0].RecipientsComboBox.SelectItem(recipient2.INN); sidePage.MainTariffsBlock.TariffBlocks[0].SelectedRecipients.Last().InnerText.Should().Contain(recipient2.INN, $"Должны найти в выбранных получателях получателя с ИНН {recipient2.INN} и именем {recipient2.Name}"); sidePage.MainTariffsBlock.TariffBlocks[0].WithRecipientsHelpText.InnerText.Should().Be("Выберите 2 получателей", "Должны показать ограничение на количество получателей"); browser.JavaScriptExecutor.WaitPendingRequests(); var orderPage = sidePage.ConfirmAndCloseButton.Click<OrderPage>(); browser.JavaScriptExecutor.WaitPendingRequests(); orderPage.CreateBill.Click(buttonEnabledTimeout: 30000); browser.JavaScriptExecutor.WaitPendingRequests();
browser.JavaScriptExecutor.WaitPendingRequests();
.WaitЧетотам()
Wait.For(
.ClickAndFollow<OrderPage>()
browser.GoToPage
public void Submit()
{
CreateBill.WaitEnabled("Не дождались появления кнопки 'Выставить счет'", 60000);
CreateBill.Click();
Loader.WaitDisappear("Не дождались окончания выставления счёта", 60000);
}
private ControlsCollection<Button> Options => new( () => Menu.FindAll.ByCss("button") );
private IEnumerable<Button> Options => Menu.FindAll.ByCss("button").Select(x => new Button(() => x));
Было
Стало
public abstract class BasePartnerPage : Page { public override ILoader Loader => new PageLoader(() => Get.ByTId("page-loader")); public override bool IsLoaded => !Loader.IsActive; }
Проблема WaitExistsAndVisible
public void WaitExistAndVisible(double timeout = 20000, [CanBeNull] string timeoutMessage = null) { Wait.For(() => Exists && Visible, timeoutMessage ?? "Ожидание видимости элемента", timeout); } public bool Visible => Execute(() => pageElementAdapter.Displayed); public bool Exists => TryGetElement(true);