Жизненный цикл некоторых элементов страницы подобен метеору, вспышке на сковороде. Мы не знаем, появлялся ли этот элемент на странице раньше, поэтому хотим запечатлеть этот прекрасный момент и сделать его вечным. Давайте определим, появился ли элемент.
Прежде чем работать с элементом, вы можете сначала определить статус элемента. Определение рабочего состояния элементов также можно использовать для утверждений.
Метод оценки, вызываемый объектом страницы, передает параметр позиционирования селектора.
Метод оценки, вызываемый объектом локатора
Как определить дескрипторы элементов
Дескриптор элемента (element_handle) — это ElementHandle, возвращаемый вызовом метода page.query_selector(), который обычно не используется. Тоже не рекомендуется.
При автоматизированном тестировании нам часто приходится выносить суждения по сценарию. Например, после выполнения некоторых операций некоторые напоминания будут активированы, некоторые — правильные напоминания, а некоторые — подсказки об ошибках, отображаемые красным шрифтом. Как нам отразить эти поля в нашей автоматизации и что, если мы сделаем выводы об автоматизации тестирования? Здесь мы будем использовать метод, который мы узнали сегодня. Брат Хун использует вход на домашнюю страницу Ду Ньянга в качестве примера, чтобы определить, появляется ли поле «Пожалуйста, введите проверочный код».
1. Посетите домашнюю страницу DuNiang
2. Найдите кнопку входа на главной странице и нажмите
3. Появится окно входа в систему, найдите кнопку входа по SMS и нажмите
4. Найдите поле ввода номера мобильного телефона и введите номер мобильного телефона.
5. Найдите соглашение и нажмите
6. Найдите кнопку входа в поле входа и нажмите
7. Найдите появившееся сообщение «Пожалуйста, введите проверочный код», а затем оцените.
Метод, описанный в предыдущей статье, по-прежнему остается традиционным методом суждения. Сегодня мы рассмотрим суждение нового метода.
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2024-05-09
@author: Пекин-Хонге
Публичный аккаунт: Beijing Hongge (поиск WeChat: Beijing Hongge, фокус на Брат Хун, разблокируй больше тестовых предметов заранее! )
Project: Первый взгляд на серию «Последний выпуск» — Python+автоматизация драматурга тест-60 - Определить, отображается ли элемент-Следующая статья
'''
# 3. Импортировать модули
from playwright.sync_api import Playwright, sync_playwright, expect
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
page.goto("https://www.baidu.com/")
# Найдите кнопку входа на главной странице и нажмите «Войти».
page.locator("//*[@id='u1']/a[1]").click()
page.wait_for_timeout(300)
# Во всплывающем окне входа найдите кнопку входа по SMS и нажмите
page.locator("#TANGRAM__PSP_11__changeSmsCodeItem").click()
# Найдите поле ввода номера мобильного телефона и введите номер мобильного телефона.
page.locator("#TANGRAM__PSP_11__smsPhone").type("13734294156")
# Соглашение о размещении, соглашение, нажмите кнопку
page.locator("#TANGRAM__PSP_11__smsIsAgree").click()
# Найдите кнопку входа в поле входа и нажмите
page.locator("#TANGRAM__PSP_11__smsSubmit").click()
# Определите, отображается ли элемент (выведите True, если отображается, False, если не отображается)
print(page.is_visible("//*[@id='TANGRAM__PSP_11__smsError' and text()='Пожалуйста, введите проверочный код']))
page.wait_for_timeout(1000)
print("browser will be close");
page.close()
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)
1. Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вы увидите вывод консоли, как показано ниже:
2. Действия браузера на компьютере после запуска кода. Как показано ниже:
# coding=utf-8🔥
# 1. Сначала установите кодировку UTF-8, которая поддерживает китайский и английский языки, как указано выше, обычно они располагаются в первой строке.
# 2. Примечания: включая время создания записи, автора и название проекта.
'''
Created on 2024-05-09
@author: Пекин-Хонге
Публичный аккаунт: Beijing Hongge (поиск WeChat: Beijing Hongge, фокус на Брат Хун, разблокируй больше тестовых предметов заранее! )
Project: Первый взгляд на серию «Последний выпуск» — Python+автоматизация драматурга тест-60 - Определить, отображается ли элемент-Следующая статья
'''
# 3. Импортировать модули
from playwright.sync_api import Playwright, sync_playwright, expect
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
page.goto("https://www.baidu.com/")
# Найдите кнопку входа на главной странице и нажмите «Войти».
page.locator("//*[@id='u1']/a[1]").click()
page.wait_for_timeout(300)
# Во всплывающем окне входа найдите кнопку входа по SMS и нажмите
page.locator("#TANGRAM__PSP_11__changeSmsCodeItem").click()
# Найдите поле ввода номера мобильного телефона и введите номер мобильного телефона.
page.locator("#TANGRAM__PSP_11__smsPhone").type("13734294156")
# Соглашение о размещении, соглашение, нажмите кнопку
page.locator("#TANGRAM__PSP_11__smsIsAgree").click()
# Найдите кнопку входа в поле входа и нажмите
page.locator("#TANGRAM__PSP_11__smsSubmit").click()
# Определите, отображается ли элемент (выведите True, если отображается, False, если не отображается)
print(page.locator("//*[@id='TANGRAM__PSP_11__smsError' and text()='Пожалуйста, введите проверочный код']").is_visible())
page.wait_for_timeout(1000)
print("browser will be close");
page.close()
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)
1. Запустите код, щелкните правой кнопкой мыши «Выполнить тест», и вы увидите вывод консоли, как показано ниже:
2. Действия браузера на компьютере после запуска кода. Как показано ниже:
Ладно, сегодня уже поздно. Это все введение в определение того, отображается ли элемент. Спасибо за ваше терпение при чтении! ! !