Рубрики
Без рубрики

Тестирование HTML5 загрузка

Испытайте загрузку файлов HTML5 с помощью Selenium. Теги с Python, Selenium, тестированием, автоматизацией.

Фон

Тестирование текущего проекта, которое я являюсь, включает загрузку файла 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”