Тестирование программного обеспечения/искусственный интеллект | Как использовать ChatGPT для написания сценариев автоматического тестирования
Тестирование программного обеспечения/искусственный интеллект | Как использовать ChatGPT для написания сценариев автоматического тестирования

Введение

В современной разработке программного обеспечения написание сценариев автоматизированного тестирования является важным шагом для обеспечения качества и стабильности программного обеспечения. С развитием искусственного интеллекта и технологий обработки естественного языка языковые модели, такие как ChatGPT, стали мощным инструментом для написания сценариев автоматизированного тестирования. ChatGPT может генерировать код на основе заданных инструкций и условий, упрощая процесс тестирования и повышая эффективность.

Пример прохождения

Предположим, у нас есть простой веб-сайт, и нам нужно написать сценарий автоматического тестирования для проверки функциональности входа в систему. Мы можем использовать ChatGPT для создания такого сценария.

Сначала мы взаимодействуем с ChatGPT, заявляя, что хотим протестировать функциональность входа в систему, и перечисляя этапы тестирования и ожидаемые результаты:

Язык кода:txt
копировать
Пользователь: Здравствуйте, мне нужно создать Автоматизированное Сценарий тестирования для проверки работоспособности входа на веб-сайт.
ChatGPT: Хорошо, перечислите этапы тестирования и ожидаемые результаты.
Пользователь: Первый шаг — открыть домашнюю страницу веб-сайта. Ожидаемый результат — возможность увидеть форму входа.
Пользователь: на втором этапе введите действительные имя пользователя и пароль. Ожидаемый результат — успешный вход на страницу учетной записи пользователя.
Пользователь: Третий шаг — проверить заголовок страницы после входа в систему. Ожидаемый результат: в заголовке отображается информация об учетной записи пользователя.

Пожалуйста, используйте python+selenium для создания скрипта.

Сценарий, созданный ответом ChatGPT, выглядит следующим образом:

Язык кода:python
кодКоличество запусков:0
копировать
from selenium import webdriver

# Открыть браузер
driver = webdriver.Chrome()

# Шаг 1. Откройте главную страницу сайта.
driver.get("https://example.com")

# Ожидаемый результат: возможность видеть форму входа.
login_form = driver.find_element_by_id("login-form")
if login_form.is_displayed():
    print("Форма входа видна")
else:
    print("Форма входа не видна")

# Шаг 2. Введите действительные имя пользователя и пароль.
username_input = driver.find_element_by_id("username")
password_input = driver.find_element_by_id("password")

username_input.send_keys("your_username")
password_input.send_keys("your_password")
driver.find_element_by_id("login-button").click()

# Ожидаемые результаты: Успешный вход на страницу учетной записи пользователя.
if "user_account_page" in driver.current_url:
    print("Успешный вход на страницу учетной записи пользователя")
else:
    print("Войти не удалось")

# Шаг 3. Проверьте заголовок страницы после входа в систему.
user_account_title = driver.title

# Ожидаемый результат: заголовок отображает информацию об учетной записи пользователя.
if "User Account" in user_account_title:
    print("В заголовке страницы указана информация об учетной записи пользователя")
else:
    print("Заголовок страницы не отображает информацию об учетной записи пользователя")

# Закрыть браузер
driver.quit()

Этот код имитирует процесс входа пользователя на сайт с помощью Selenium и проверяет ожидаемые результаты. ChatGPT генерирует базовый тестовый сценарий на основе наших потребностей, который мы можем улучшить и адаптировать для более сложных сценариев тестирования.

Мы можем обнаружить, что версия селена, используемая в этом коде, невысока, а инфраструктура pytest не используется, поэтому мы можем продолжать просить ChatGPT использовать версию селена 4.0 и инфраструктуру pytest для вывода кода.

Недавно сгенерированный код ChatGPT выглядит следующим образом:

Язык кода:python
кодКоличество запусков:0
копировать
import pytest
from selenium import webdriver
from selenium.webdriver.common.by import By

@pytest.fixture(scope="module")
def browser():
    # Инициализировать экземпляр браузера (здесь используется Chrome)
    driver = webdriver.Chrome()
    yield driver
    # После теста Закрыть браузер
    driver.quit()

def test_login(browser):
    # Открыть домашнюю страницу сайта
    browser.get("https://example.com")
    
    # Проверьте, видна ли форма входа
    login_form = browser.find_element(By.ID, "login-form")
    assert login_form.is_displayed(), "Форма входа не видна"
    
    # Введите имя пользователя и пароль и войдите в систему
    username_input = browser.find_element(By.ID, "username")
    password_input = browser.find_element(By.ID, "password")
    login_button = browser.find_element(By.ID, "login-button")
    
    username_input.send_keys("your_username")
    password_input.send_keys("your_password")
    login_button.click()
    
    # Подтвердите успешный вход на страницу учетной записи пользователя
    assert "user_account_page" in browser.current_url, "Ошибка входа"
    
    # Заголовок страницы после подтверждения входа
    user_account_title = browser.title
    assert "User Account" in user_account_title, «Заголовок страницы не отображает информацию об учетной записи пользователя»

Этот тестовый файл содержит базовый тестовый пример. test_login,который использовалpytestизfixture browserинициализировать и Закрыть браузер. Тестовый пример имитирует процесс входа в систему.,И используйте Selenium для поиска элементов и проверки ожидаемых результатов.

Подвести итог

В этой статье в основном рассказывается, как использовать ChatGPT для написания сценариев автоматизированного тестирования. Когда мы позволяем ChatGPT помогать нам в написании сценариев автоматизированного тестирования, нам необходимо уточнить наши требования, например, нужно ли нам писать сценарии тестирования веб-автоматизации или автоматизации интерфейса. какой из них мы хотим использовать. Стек технологий, какую структуру использовать и т. д. — все должно быть ясно, 1 чтобы ChatGPT мог выводить сценарии, соответствующие нашим требованиям.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose