Провести подробный анализ требований к реализации, в основном следующим образом:
Функция | иллюстрировать |
---|---|
Использование фреймворка Unittest | Платформа автоматического тестирования с открытым исходным кодом, используйте ее напрямую |
Запускайте пакетно или в конкретных случаях использования | Платформа Unittest может поддерживать эту функцию. |
журнал журнала | Просто используйте библиотеку журналирования Python. |
Создать отчет о тестировании HTML | Это достигается с помощью функции модуля HtmlTestRunner.py. |
Разработка вариантов использования и разделение результатов | Используйте файлы конфигурации, такие как Excel, JSON и т. д., для организации данных вариантов использования. |
Поддерживает чтение Json, conf, excel и других файлов конфигурации. | Здесь мы сначала используем Excel для управления элементами страницы. |
Пакет входа пользователя | Непосредственно модульная функция входа в систему. фреймворка Просто установите и разберите Unittest. |
Индивидуальный шаблон отчета об испытаниях | Использование модуля HTMLTestRuner.py |
Отчет на нескольких языках | Использование модуля HTMLTestRuner.py |
Функция создания снимков экрана | Использование метода save_screenshot в Selenium |
технология | версия ииллюстрировать |
---|---|
Python | V3.x (эта статья — 3.7) ===Поддержка языков программирования |
Selenium | V3.141.0 === Идентификация и расположение элементов пользовательского интерфейса, элементов управления, элементов управления браузером и т. д. |
HtmlTestRunner | Версия Python3 === Создать отчет о тестировании в формате Html |
Logging | Python поставляется с === для создания журналов журналов. |
Xlrd | V1.2.0 === метод чтения Excel |
Unittest | Python поставляется с === платформой автоматического тестирования. |
Smtplib | Python поставляется с === почтовым сервисом |
Python поставляется с === почтовым сервисом | |
os | Python поставляется с системным модулем === |
PyCharm | Сообщество 2020.2, китайская версия |
Операционная система | Windows 10 Максимальная 64-разрядная версия |
другой | Последующие дополнения |
Код в основном завершен. Если у вас есть хорошие предложения, вы можете поделиться своим опытом обучения.
***
Прежде чем приступить к созданию автоматизированной среды, мы сначала напишем простой сценарий автоматического тестирования, чтобы понять, что такое автоматическое тестирование веб-интерфейса и основные операции с элементами, чтобы создать основу для идентификации последующих платформ.
***
Selenium предоставляет множество WebDriverAPI, которые можно использовать для:
Здесь мы проводим следующие тесты автоматизации пользовательского интерфейса: 1. Автоматически открывать браузер Chrome. 2. Введите URL-адрес Baidu. 3. Откройте домашнюю страницу Baidu и введите helloworld. 4. Разверните окно браузера. 5. Найдите helloworld и нажмите Enter. 6. Размер окна браузера уменьшен до 640*480. 7. Сначала вернитесь в браузер и снова введите csdn для поиска. 8. Очистите входной контент 9. Определите, заходить ли на официальный сайт csdn
нуждаться | анализировать |
---|---|
Автоматически открывать браузер Chrome | Необходимо использовать webdriver.Chrome() |
Введите URL-адрес Baidu | Используйте метод driver.get() |
Откройте домашнюю страницу Baidu и введите helloworld. | Используйте метод send_keys() |
Развернуть окно браузера | Используйте метод Maxim_window(). |
Найдите helloworld и нажмите Enter. | Используйте метод send_keys() |
Размер окна браузера уменьшен до 640*480. | Используйте метод set_window_size(). |
браузер назад | метод назад() |
Очистить входной контент | метод очистки() |
суждение | driver.current_url метод для определения текущего URL |
элемент | иллюстрировать | Метод позиционирования |
---|---|---|
Поле ввода Baidu | Используется для входа в helooworld | find_element_by_id |
Найдите csdn и щелкните официальный сайт csdn. | Используется для имитации нажатия кнопки входа на официальный сайт csdn. | find_element_by_xpath |
О. Мы открываем домашнюю страницу Baidu и нажимаем [F12], чтобы открыть режим отладки браузера.
Б. Нажмите маленький треугольник в левом верхнем углу окна режима отладки.
C. Наведите указатель мыши на поле ввода поиска Baidu.
D. Щелкните один раз, а затем увидите атрибут элемента в поле ввода поиска, который является используемым методом позиционирования элемента.
from selenium import webdriver # Представляем веб-драйвер модуля селена
from selenium.webdriver.common.keys import Keys # Ввод с клавиатуры, поэтому ИспользовалKeys
import time # элемент Время ожидания, поэтому введен модуль времени
driver = webdriver.Chrome() # Откройте браузер Chrome
driver.get("http://www.baidu.com") # Введите URL-адрес Baidu
print("============Проверьте основные элементы управления браузером==========")
def search():
print("1、Найдите helloworld и нажмите Enter.......")
time.sleep(2)
driver.find_element_by_id("kw").send_keys("helloworld") # Введите «приветмир»
time.sleep(2)
driver.find_element_by_id("kw").send_keys(Keys.ENTER) # Нажмите Enter для поиска
time.sleep(2)
driver.maximize_window() # Развернуть текущее окно
def windows_size():
print("2、Размер окна браузера уменьшен до 640*480.......")
time.sleep(2)
driver.set_window_size(640, 480) # Управляйте размером экрана браузера до 640*480.
time.sleep(0.5)
driver.maximize_window() # Развернуть текущее окно
time.sleep(2)
ef back_refresh():
print("3. Сначала зайдите в браузер назад, введите csdn еще раз для поиска")
driver.back()
driver.find_element_by_id("kw").send_keys("csdn") # Введите csdn
time.sleep(1)
driver.refresh() # обновить
def serach_clear():
print("4、Очистить входной контент......")
driver.find_element_by_id("kw").send_keys("csdn") # Введите csdn
time.sleep(2)
driver.find_element_by_id("kw").clear()
time.sleep(0.5)
def csdn():
print("5. Войдите на официальный сайт csdn")
driver.find_element_by_id("kw").send_keys("csdn") # Введите csdn
time.sleep(2)
driver.find_element_by_id("kw").send_keys(Keys.ENTER) # Нажмите Enter для поиска
time.sleep(2)
driver.find_element_by_xpath("//*[@id='1']/h3/a[1]").click()
time.sleep(2)
windows = driver.window_handles
driver.switch_to.window(windows[-1])
now_url = driver.current_url
m_get_url = "https://www.csdn.net/"
if now_url == m_get_url:
print("После прохождения обсуждения вы попали на официальный сайт csdn!")
else:
print("Вы не зашли на официальный сайт csdn, проверьте код!")
search()
windows_size()
back_refresh()
serach_clear()
csdn()
driver.quit() # Закрыть браузер
# Автор: Администратор
# Дата: 2021/2/24 15:15
# Имя файла: test_baidu.py
# Function:Открыть Байду Домашняя страница,В строке поиска введите «приветмир»
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome() # Откройте браузер Chrome
driver.get("http://www.baidu.com") # Введите URL-адрес Baidu
print("============Проверьте основные элементы управления браузером==========")
def search():
print("1、Найдите helloworld и нажмите Enter.......")
time.sleep(2)
driver.find_element_by_id("kw").send_keys("helloworld") # Введите «приветмир»
time.sleep(2)
driver.find_element_by_id("kw").send_keys(Keys.ENTER) # Нажмите Enter для поиска
time.sleep(2)
driver.maximize_window() # Развернуть текущее окно
def windows_size():
print("2、Размер окна браузера уменьшен до 640*480.......")
time.sleep(2)
driver.set_window_size(640, 480) # Управляйте размером экрана браузера до 640*480.
time.sleep(0.5)
driver.maximize_window() # Развернуть текущее окно
time.sleep(2)
def back_refresh():
print("3. Сначала зайдите в браузер назад, введите csdn еще раз для поиска")
driver.back()
driver.find_element_by_id("kw").send_keys("csdn") # Введите csdn
time.sleep(1)
driver.refresh() # обновить
def serach_clear():
print("4、Очистить входной контент......")
driver.find_element_by_id("kw").send_keys("csdn") # Введите csdn
time.sleep(2)
driver.find_element_by_id("kw").clear()
time.sleep(0.5)
def csdn():
print("5. Войдите на официальный сайт csdn")
driver.find_element_by_id("kw").send_keys("csdn") # Введите csdn
time.sleep(2)
driver.find_element_by_id("kw").send_keys(Keys.ENTER) # Нажмите Enter для поиска
time.sleep(2)
driver.find_element_by_xpath("//*[@id='1']/h3/a[1]").click()
time.sleep(2)
windows = driver.window_handles
driver.switch_to.window(windows[-1])
now_url = driver.current_url
m_get_url = "https://www.csdn.net/"
if now_url == m_get_url:
print("После прохождения обсуждения вы попали на официальный сайт csdn!")
else:
print("Вы не зашли на официальный сайт csdn, проверьте код!")
search()
windows_size()
back_refresh()
serach_clear()
csdn()
driver.quit() # Закрыть браузер