Фон
Тестирование текущего проекта, которое я являюсь, включает загрузку файла HTML5. Я думал, что «браузер» файловой подсказкой помешает мне использовать фрейм-тестовую структуру Selenium для автоматизации этого процесса. Однако получается, как и во многих вещах, что это «решенная проблема».
Краткий ответ, вы можете определить кнопку «Браузер» ввода кнопки и использовать функцию «Отправка ключей», чтобы обеспечить путь к файлу, который вы хотите загрузить. Затем вы запускаете «Отправить», используя команду «Нажмите» как обычно.
Настройте виртуальную среду и установите селениумбазу
Я вошел в следующие команды в подсказке PowerShell, у меня уже установлен Python 3, Pip и VirtualenV.
cd e:\dev virtualenv uploadtestenv .\uploadtestenv\Scripts\activate.ps1 pip install seleniumbase seleniumbase install chromedriver seleniumbase mkdir file_upload_test cd file_upload_test
Доступны Документы Справки SeleniumBase: https://github.com/seleniumbase/SeleniumBase/tree/master/help_docs
file_upload_test.py
Чтобы запустить этот пример – скопируйте следующее в файл под названием file_upload_test.py.
from seleniumbase import BaseCase from time import time from os import remove class MyTestClass(BaseCase): def test_basic(self): # setup testdata to be uploaded # time based filename generated for this run only filename = str(int(round(time() * 1000))) + ".txt" # path with filename path = "E:\\dev\\file_upload_test\\" + filename f= open(filename,"w+") for i in range(10): f.write("This is line %d\r\n" % (i+1)) f.close() # SelinumBase test self.open("https://the-internet.herokuapp.com/upload") self.send_keys('#file-upload', path) self.click('#file-submit') self.assert_exact_text(filename, '#uploaded-files') # Clean up testdata remove(path)
Чтобы запустить тест (снова, PowerShell, та же папка):
pytest .\file_upload_test.py --demo_mode
Спасибо
Этот пример прототипа использует загрузчик HTML5 на прекрасном «интернет-ресурсе», по Дейв Хэффнер . Очень услужливый ресурс для того, чтобы помочь проверить тесты Selenium. Проверьте это: https://the-internet.herokuapp.com
Пример создания тестовых данных основан на статье Guru99: Обработка файла Python: создать, открыть, добавить, прочитать, писать
Cover Photo “Python Book” by Кристина Морильо
Оригинал: “https://dev.to/dowenb/testing-html5-upload-5eh6”