У меня есть страница, для которой я пишу автотесты для заполнения формы. Элементы формы загружаются сразу, но фоновые запросы не позволяют браузеру вернуть событие загрузки страницы. Поэтому с дефолтным Configuration.pageLoadStrategy="normal" у меня падает по таймауту.
Таймауты увеличивать не хочется, поэтому посмотрел в сторону изменения pageLoadStrategy = «жаждущий». Можно ли установить эту настройку только для конкретного теста или набора тестов?
Версия Selenide: 7.6.0
Версия Chrome: 128.0
public class QaFormTest extends BaseTestRemote {
RegistrationPage registrationPage = new RegistrationPage();
Faker faker = new Faker(new Locale("en"));
private final LocalDate birthDate = LocalDate.ofInstant(faker.date().birthday().toInstant(), ZoneId.systemDefault());
private final Map stateAndCity = Map.of(
"NCR", List.of("Delhi", "Gurgaon", "Noida"),
"Uttar Pradesh", List.of("Agra", "Lucknow", "Merrut"),
"Haryana", List.of("Karnal", "Panipat"),
"Rajasthan", List.of("Jaipur", "Jaiselmer")
);
private final Map.Entry randomStateAndCity = RandomElement.fromMap(stateAndCity);
private final List genders = List.of("Male", "Female", "Other");
private final String
firstName = faker.name().firstName(),
lastName = faker.name().lastName(),
email = faker.internet().emailAddress(),
phoneNumber = faker.phoneNumber().subscriberNumber(10),
gender = RandomElement.fromList(genders),
birthDay = String.format("%02d", birthDate.getDayOfMonth()),
birthMonth = birthDate.getMonth().getDisplayName(TextStyle.FULL, Locale.ENGLISH),
birthYear = String.valueOf(birthDate.getYear()),
picturePath = "eva.jpg",
address = faker.address().fullAddress(),
state = randomStateAndCity.getKey(),
city = randomStateAndCity.getValue();
private final List
hobbies = List.of("Sports", "Reading", "Music"),
subjects = List.of("Maths", "Physics", "Computer Science");
@Test
@Tag("UI")
@DisplayName("Check registration form: https://demoqa.com/automation-practice-form")
void RegistrationPageShouldSubmitFilledForm() {
step("Open form", () -> {
registrationPage.openPage();
});
step("Fill form", () -> {
registrationPage
.setFirstName(firstName)
.setLastName(lastName)
.setEmail(email)
.setPhoneNumber(phoneNumber)
.setGender(gender)
.setBirthDate(birthDay, birthMonth, birthYear)
.setSubjects(subjects)
.setHobbies(hobbies)
.uploadPictureFromClassPath(picturePath)
.setAddressInfo(address)
.setState(state)
.setCity(city);
});
step("Submit form", () -> {
registrationPage.submit();
});
step("Verify results", () -> {
registrationPage.verifyResultsModalAppears()
.verifyResult("Student Name", String.format("%s %s", firstName, lastName))
.verifyResult("Student Email", email)
.verifyResult("Gender", gender)
.verifyResult("Mobile", phoneNumber)
.verifyResult("Date of Birth", String.format("%s %s,%s", birthDay, birthMonth, birthYear))
.verifyResult("Subjects", String.join(", ", subjects))
.verifyResult("Hobbies", String.join(", ", hobbies))
.verifyResult("Address", address)
.verifyResult("State and City", String.format("%s %s", state, city))
.verifyResult("Picture", picturePath);
});
}
}
public class BaseTestRemote {
@BeforeAll
static void beforeAll() {
Configuration.baseUrl = BASE_URL;
Configuration.browser = BROWSER_NAME;
Configuration.browserVersion = BROWSER_VERSION;
Configuration.browserSize = BROWSER_EXC;
Configuration.remote = SELENOID_URL + "/wd/hub";
Configuration.pageLoadStrategy = "eager";
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("selenoid:options", Map.of(
"enableVNC", true,
"enableVideo", true
));
Configuration.browserCapabilities = capabilities;
}
@BeforeEach
void addListener() {
SelenideLogger.addListener("AllureSelenide", new AllureSelenide());
}
@AfterEach
void addAttachments() {
Attach.screenshotAs("Last screenshot");
Attach.pageSource();
Attach.browserConsoleLogs();
Attach.addVideo();
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... test-suite
Как изменить pageLoadStrategy для конкретного теста/набора тестов? ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1733412734
Anonymous
У меня есть страница, для которой я пишу автотесты для заполнения формы. Элементы формы загружаются сразу, но фоновые запросы не позволяют браузеру вернуть событие загрузки страницы. Поэтому с дефолтным Configuration.pageLoadStrategy="normal" у меня падает по таймауту.
Таймауты увеличивать не хочется, поэтому посмотрел в сторону изменения pageLoadStrategy = «жаждущий». Можно ли установить эту настройку только для конкретного теста или набора тестов?
Версия Selenide: 7.6.0
Версия Chrome: 128.0
public class QaFormTest extends BaseTestRemote {
RegistrationPage registrationPage = new RegistrationPage();
Faker faker = new Faker(new Locale("en"));
private final LocalDate birthDate = LocalDate.ofInstant(faker.date().birthday().toInstant(), ZoneId.systemDefault());
private final Map stateAndCity = Map.of(
"NCR", List.of("Delhi", "Gurgaon", "Noida"),
"Uttar Pradesh", List.of("Agra", "Lucknow", "Merrut"),
"Haryana", List.of("Karnal", "Panipat"),
"Rajasthan", List.of("Jaipur", "Jaiselmer")
);
private final Map.Entry randomStateAndCity = RandomElement.fromMap(stateAndCity);
private final List genders = List.of("Male", "Female", "Other");
private final String
firstName = faker.name().firstName(),
lastName = faker.name().lastName(),
email = faker.internet().emailAddress(),
phoneNumber = faker.phoneNumber().subscriberNumber(10),
gender = RandomElement.fromList(genders),
birthDay = String.format("%02d", birthDate.getDayOfMonth()),
birthMonth = birthDate.getMonth().getDisplayName(TextStyle.FULL, Locale.ENGLISH),
birthYear = String.valueOf(birthDate.getYear()),
picturePath = "eva.jpg",
address = faker.address().fullAddress(),
state = randomStateAndCity.getKey(),
city = randomStateAndCity.getValue();
private final List
hobbies = List.of("Sports", "Reading", "Music"),
subjects = List.of("Maths", "Physics", "Computer Science");
@Test
@Tag("UI")
@DisplayName("Check registration form: https://demoqa.com/automation-practice-form")
void RegistrationPageShouldSubmitFilledForm() {
step("Open form", () -> {
registrationPage.openPage();
});
step("Fill form", () -> {
registrationPage
.setFirstName(firstName)
.setLastName(lastName)
.setEmail(email)
.setPhoneNumber(phoneNumber)
.setGender(gender)
.setBirthDate(birthDay, birthMonth, birthYear)
.setSubjects(subjects)
.setHobbies(hobbies)
.uploadPictureFromClassPath(picturePath)
.setAddressInfo(address)
.setState(state)
.setCity(city);
});
step("Submit form", () -> {
registrationPage.submit();
});
step("Verify results", () -> {
registrationPage.verifyResultsModalAppears()
.verifyResult("Student Name", String.format("%s %s", firstName, lastName))
.verifyResult("Student Email", email)
.verifyResult("Gender", gender)
.verifyResult("Mobile", phoneNumber)
.verifyResult("Date of Birth", String.format("%s %s,%s", birthDay, birthMonth, birthYear))
.verifyResult("Subjects", String.join(", ", subjects))
.verifyResult("Hobbies", String.join(", ", hobbies))
.verifyResult("Address", address)
.verifyResult("State and City", String.format("%s %s", state, city))
.verifyResult("Picture", picturePath);
});
}
}
public class BaseTestRemote {
@BeforeAll
static void beforeAll() {
Configuration.baseUrl = BASE_URL;
Configuration.browser = BROWSER_NAME;
Configuration.browserVersion = BROWSER_VERSION;
Configuration.browserSize = BROWSER_EXC;
Configuration.remote = SELENOID_URL + "/wd/hub";
Configuration.pageLoadStrategy = "eager";
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("selenoid:options", Map.of(
"enableVNC", true,
"enableVideo", true
));
Configuration.browserCapabilities = capabilities;
}
@BeforeEach
void addListener() {
SelenideLogger.addListener("AllureSelenide", new AllureSelenide());
}
@AfterEach
void addAttachments() {
Attach.screenshotAs("Last screenshot");
Attach.pageSource();
Attach.browserConsoleLogs();
Attach.addVideo();
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79255299/how-to-change-the-pageloadstrategy-for-a-specific-test-test-suite[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия