напиши впереди
Завтра пятница. Один или два дня на этой неделе у меня было особенно плохое настроение. Мне действительно неинтересно что-либо делать, поэтому я чувствую себя очень подавленным и не хочу ничего делать.
Первоначально я планировал обновить эту статью в понедельник, но, поскольку компания работает сверхурочно, я каждый день прихожу домой очень поздно, поэтому я выжимаю время для изучения, а затем выкладываю ее в блог после понимания, так что прогресс Отстаю. Дело не в том, что я ленив. Пожалуйста, поймите и друзей, которые следят за мной.
В этой части в основном демонстрируются общие операции щелчка, такие как ввод текста, флажки, переключатели, параметры выбора, события щелчка мыши и т. д.
грамматика: Locator.fill(value)
Сценарии использования: Поля ввода, такие как текстовые поля, дата/время, элементы управления календарем и т. д.
Пример кода выглядит следующим образом:
/**
* Операция ввода:
* грамматика:Locator.fill(value)
* Сценарии использования:Поля ввода, такие как текстовые поля, дата/время, элементы управления календарем и т. д.
*/
@Test
public void testInput() {
page.locator("#user").fill("Официальный аккаунт: Тестер программного обеспечения");
String value = page.locator("#user").getAttribute("value");
//Выход ==> Паблик аккаунт: Тестер программного обеспечения
System.out.println(value);
}
грамматика: Locator.click()
Применимые сценарии: Радиокнопки, флажки, элементы управления кнопками, общие интерактивные элементы управления и многое другое!
Пример кода выглядит следующим образом:
/**
* операция щелчка
* грамматика:Locator.click()
* Применимые сценарии:Радиокнопки, флажки, элементы управления кнопками, общие интерактивные элементы управления и многое другое!
*/
@Test
public void testClick() {
//Нажимаем на гиперссылку
page.locator(".baidu").click();
page.goBack();
//Нажмите на переключатель (RadioBox)
page.locator(".Volvo").click();
//Нажимаем флажок (флажок)
page.locator("#checkbox [type='checkbox']:nth-child(7)").click();
}
грамматика: Locator.setChecked(checked)
Применимые сценарии: Радиокнопка, флажок
Пример кода выглядит следующим образом:
/**
* Операции с переключателем и флажком
* грамматика:Locator.setChecked(checked)
* Применимые сценарии:Радиокнопка, флажок
*/
@Test
public void testChecked() {
//одиночный выбор (Выбрано, недействительно при выборе)
page.locator(".Volvo").setChecked(true);
page.locator(".Volvo").check();
System.out.println(page.locator(".Volvo").isChecked());
//Флажок (выбран, недействителен при выборе)
page.locator("#checkbox [type='checkbox']:nth-child(7)").check();
page.locator("#checkbox [type='checkbox']:nth-child(7)").setChecked(true);
System.out.println(page.locator("#checkbox [type='checkbox']:nth-child(7)").isChecked());
}
грамматика: Locator.selectOption(values[, options])
Применимые сценарии: Операция раскрывающегося списка
Пример кода выглядит следующим образом:
/**
* Операция раскрывающегося управления
* грамматика:Locator.selectOption(values[, options])
* Применимые сценарии:Операция раскрывающегося списка
*/
@Test
public void testSelectOption() {
//Выбрать по значению
page.locator("[name='select']").selectOption("opel");
//Выбрать по видимому тексту
page.locator("[name='select']").selectOption(new SelectOption().setLabel("Audi"));
// Множественный выбор недействителен, можно выбрать только первый (saab).
//page.locator("[name='select']").selectOption(new String[] {"saab", "opel"});
}
грамматика: Подробнее см. в деле
Применимые сценарии:Распространенные события щелчка мыши
Случай показан на рисунке:
Пример кода выглядит следующим образом:
/**
* события мыши
* грамматика:Подробнее см. в деле
* Применимые сценарии:
*/
@Test
public void testMouse() {
page.navigate("http://localhost:8080/mouse.html");
//Обычный клик
page.locator("#mouse2").click();
pause(3);
//двойной щелчок
page.locator("#mouse3").dblclick();
pause(3);
//щелчок правой кнопкой мыши
page.locator("#mouse5").click(new Locator.ClickOptions().setButton(MouseButton.RIGHT));
pause(3);
//Удерживая клавишу Shift, щелкните
page.locator("#mouse2").click(new Locator.ClickOptions().setModifiers(Arrays.asList(KeyboardModifier.SHIFT)));
pause(3);
//Наводим курсор на элемент
page.locator("#mouse1").hover();
pause(3);
//Нажмите в верхнем левом углу
page.locator("#mouse1").click(new Locator.ClickOptions().setPosition(0, 0));
pause(3);
//принудительный щелчок
page.locator("#mouse2").click(new Locator.ClickOptions().setForce(true));
pause(3);
//Планирование событий кликов для запуска кликов
page.locator("#mouse2").dispatchEvent("click");
}
Уведомление:Не знаю, в чем причина, При выполнении случая с щелчком мыши, после управления программой сверху вниз, вы обнаружите, что при щелчке всплывающее окно закрывается само по себе, и это потрясающе!
Если вы посмотрите сравнительное исследование, всплывающее окно после нажатия на операцию Selenium требует оповещения для завершения подтверждения, но Playwright может автоматически щелкнуть по нему. Можно ли сказать, что он умнее Selenium? Заинтересованные друзья могут попробовать сами.