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

Тестовая автоматизация с использованием Webdriver PteSt и Selenium

Pтойцы – это тестовая структура, используемая для простых, но масштабируемых случаев теста с легкостью. Давайте узнаем, как автоматизировать процесс тестирования с помощью Webdriver Petest и Selenium. Помечено с Python, начинающим, тестированием, Showdev.

В сегодняшние времена одна из проблем, которые сталкиваются с разработчиками, является обеспечение того, чтобы их веб-сайт/веб-приложение беспрепятственно работает через другой набор устройств, браузеров и операционных систем (ОС)/платформ. Это где Тестирование кросс-браузера Играет очень решающую роль в тестировании веб-сайта/веб-приложения, поскольку он помогает в тестировании в различных комбинациях. На основании целевого рынка, команды развития и продукта необходимо наметить план о различных мероприятиях, участвующих в Тестирование совместимости браузера Отказ

Selenium – Введение и интерфейс Webdriver

Что касается тестирования веб-приложения, доступна пара веб-фреймворков, которые автоматизируют тесты, выполняемые в разных веб-браузерах. Селен это очень популярная рамка, которая в основном используется для Автоматизация тестирования веб-приложений . Это инструмент с открытым исходным кодом, использующий, какое веб-тестирование может быть выполнено против популярных браузеров, таких как Хром , Firefox , Опера , Microsoft Edge , так далее. Каркас также может быть использован, если тест должен быть выполнен на Internet Explorer (последняя версия или устаревшие версии).

Webdriver Selenium считается одним из основных компонентов селена. SELENIUM WEBDRIVER API – это коллекция привязки API с открытым исходным кодом/языком, которые принимают команды и отправляет их в браузер (для которого выполняется тестирование). Человек, который отвечает за разработку тестов, не должен беспокоить о «деталях архитектуры или другие технические характеристики» веб-браузера, поскольку Webdriver действует как интерфейс между тестом -SUITE/ Тестовый чехол & Web-браузер (достигается с помощью Webdriver, специфичной для браузера). Webdriver Selenium поддерживает разные Языки программирования, такие как Python, C #, Ruby, Perl, Java , так далее. Диаграмма ниже показывает упрощенный вид Селен Webdriver Интерфейс. Мы уже повернули архитектуру Webdriver селена в нашем более раннем посте.

Pytest Test Framework – Введение и преимущества

Python Language имеет пару тестовых рамок, которые облегчают задачу тестирования веб-приложений, Unittest & Pytest являются наиболее широко используемыми каркасами. Unittest – это часть стандартной библиотеки (в Python) и является частью установки Python. Для автоматизации тестирования, используя Pтойцы с Webdriver Selenium, вам необходимо установить Pтоист в отдельности, он более популярен, чем в Unittest Framework, ниже являются одними преимуществами Pтойной структуры.

  • Может использоваться команды разработчиков, тестируемых командами, командами, которые практикуют тестируемое развитие (TDD), а также в проектах с открытым исходным кодом.
  • Может использоваться для простых, а также сложных функциональных испытаний для приложений и библиотек.
  • Легко портировать существующие тестовые апартаменты в Pтойду для проведения автоматизации тестирования, используя Pteest с WebDriver Selenium.
  • Совместимость с другими тестовыми каркасами, такими как неизместный и нос, отсюда переключение на эту структуру очень проста.
  • Поддерживает параметр параметризации, что способствует выполнению тех же тестов с «различными конфигурациями», используя простой маркер. Следовательно, вы можете придумать более эффективные испытательные случаи/тестовые люксы с «менее повторяющимся реализацией кода».
  • Количество утверждений, которые обеспечивают более подробную информацию о сценариях отказа.
  • Поддержка светильников и классов. Использование светильников, становится легко сделать общие тестовые объекты доступными по всему модулю/сеансу/функции/классу. Светильники и классы будут охвачены более подробно в последующих разделах.
  • Доброе и до документации дата.
  • Поддержка XDist, через которые тестовые случаи могут быть распараллелизованы.

Теперь, когда вы знаете о преимуществах Pteest Over Onl Test Frameworks, давайте имеем подробный взгляд на Pytest Framework и как его можно использовать с Webdriver Seelenium Webdriver для выполнения Тестирование автоматического перекрестного браузера Для веб-приложений.

Подводя итоги, Pтойцы – это Framework Software Test, которая может использоваться для простых, но масштабируемых тестовых случаев с легкостью.

Тестовая автоматизация с использованием Pтойца – установка и получение начал

Как упоминалось ранее, Pytest не является частью стандартной установки Python и должна быть установлена отдельно. Чтобы установить Pтойцы, вы должны выполнить следующую команду в приглашении/терминале: PIP устанавливает -u pteest

После завершения установки вы можете проверить, успешно ли установка, введя следующую команду:

Pytest –version.

Ниже приведен выход, когда вышеуказанная команда выполняется на Linux и Windows Machine.

Pycharm – популярный IDE, который используется для Pytest Development. Вы можете установить версию Pycharm EDU для Windows, Linux или MacOS отсюда. Для развития мы используем Pycharm для Windows. Как только Pycharm установлен, вы должны убедиться, что тестовый бегун по умолчанию является Pteest. Чтобы изменить тестовый бегун по умолчанию, вам следует перейти к файлу-> Настройки-> Tools-> Инструменты встроенные Python и изменение тестового бегуна по умолчанию для выполнения автоматизации тестирования, используя Pteest с WebDriver Seelenium.

Теперь, когда версия Pycharm EDU установлена, и Test Runner по умолчанию устанавливается в Pтойд, вам необходимо установить пакет Selenium для Python для выполнения автоматизации тестирования, используя Pteest с WebDriver Selenium. Чтобы установить Selenium, вы должны вызвать команду, упомянутую ниже в клемме Pycharm.

PIP устанавливает -U Selenium (синтаксис – PIP установка -U)

Ниже показано, это снимок выполнения команды.

Теперь, когда ваша среда разработки все настроен I.e. Pycharm для выполнения автоматизации тестирования, используя Pteest с установленным Selenium, мы смотрим в некоторые функции и аспекты Pтой.

Pteest – использование, выходные коды и компиляция

pytest и py.test могут быть использованы взаимозаменяемо. Чтобы получить информацию о аргументах, которые можно использовать с Pтоицей, вы можете выполнить команду, упомянутую ниже на терминале

pytest --help     #Command to get help about the options that can be used with pytest command
# Details about fixtures
pytest --fixtures  #Shows the available built-in function arguments

Когда Cytest Code выполняется, он приводит к одному из следующих выходов.

0 Тестовые чехлы / тестовые люксы выполняются успешно и конечный результат был проходить
1 Тестовые случаи / тестовые люксы были выполнены, но некоторые тесты не удалось
2 Исполнение испытаний было остановлено пользователем
3 Неизвестная ошибка произошла при выполнении тестов
4 Использование команды Pytest неверно
5 Тесты не были собраны

Важно, чтобы файл, содержащий код Pтойца, должен быть назван как тест _ *. Py или * _test.py. Для того, чтобы компилировать и выполнить исходный код Ptyest для выполнения автоматизации тестирования, используя Ptyest с WebDriver Selenium, вы можете использовать следующую команду на терминале.

Pteest –verbose.

Давайте посмотрим на некоторые примеры автоматизации тестирования, используя Pтойцы. Начнем с очень простого примера – TEST_PYTEST_EXAMPLE_1.PY (SATH-ZERONATION)

#pytest in action – test_pytest_example_1.py
def function_1(var):
  return var + 1

def test_success():
  assert function_1(4) == 5

def test_failure():
  assert function_1(2) == 5

В приведенном выше фрагменте кода мы создаем функцию именованной функции_1, которая принимает один аргумент с именем var. Существует два тестовых случая – TEST_SUCCESS () и TEST_FAILURE (). Испытательные случаи выполняются в последовательном порядке и утверждение о выполнении испытательных случаев. Скомпилируйте код, используя команду, упомянутую ниже.

Pytest –verbose test_pytest_example_1.py.

Как видно на выходе, результат первого тестового корпуса проходит (показан синим цветом), а результат второго тестового корпуса не удается (показан красным).

Pytest использует Assert доступное в Python для проверки результатов, он выдает значимую информацию, которая может быть использована для проверки и отладки. pytest.raises обычно используются для повышения исключений, ниже приведены пример, где рассчитан факториал числа. В одном тестируемом случае отрицательное число передается как вход в факториальную функцию, а AssertionError повышен.

Factorial_Example.py – содержит реализацию, которая использует рекурсию для расчета факториала входного номера. Перед рассчитанным фактором выполняется проверка входного параметра. Assert будет поднят на случай, если число ввода отрицательно.

def factorial_function(number):
   # Perform a check whether the input number is positive or not, if it is not
   # positive, raise an assert
    assert number >= 0. and type(number) is int, "The input is not recognized"

    if number == 0:
        return 1
    else:
      # recursive function to calculate factorial
        return number * factorial_function(number – 1)

Test_Factorial_Example.py – Pтойская реализация, которая использует факториальную функциональность. Реализованы три испытательных случая – TEST_STANDARD_LIBRARY (выход из Factorial_Function сравнивается с выходом, полученным из Math. Isfactorial Module), Test_negative_Number (утверждение поднимается при отрицательном номере), а (результаты вывода из Factorial_function сравниваются со специфическими значениями).

# Import the necessary modules/packages required for implementation
import pytest
import math

from factorial_example import factorial_function

def test_factorial_functionality():
    print("Inside test_factorial_functionality")

    assert factorial_function(0) == 1
    assert factorial_function(4)== 24

def test_standard_library():
    print("Inside test_standard_library")

    for i in range(5):
# verify whether factorial is calculated correctly
      # by checking against result against  standard
      # library - math.factorial()
        assert math.factorial(i) == factorial_function(i)

def test_negative_number():
    print("Inside test_negative_number")

   # This test case would pass if Assertion Error
   # is raised. In this case, the input number is negative
   # hence, the test case passes
    with pytest.raises(AssertionError): 
        factorial_function(-10)

Вы можете выполнить код, используя команду py.test test_factorial_example.py либо в командной строке или на клемме IDE Pycharm. Как видно в снимке, все тестовые случаи прошли, и входят в систему под «оператором печати», выводятся на консоли.

Тестовая автоматизация с использованием Pтобы – приспособления (использование и внедрение)

Рассмотрим пример, где вы должны выполнить определенные запросы MySQL в базе данных, которая содержит информацию сотрудников в организации. Время, необходимое для выполнения запроса, будет зависеть от количества записей (I.E. сотрудников) в базе данных. Перед выполнением запросов необходимо выполнить необходимые операции (подключение к базе данных W.R.t), и «возвращенная ручка» будет использоваться в последующей реализации, включающей в себя базу данных. Операции базы данных могут быть интенсивными процессорами (по мере увеличения количества записей), следовательно, следует избегать повторяющихся реализации и выполнения. Есть два способа, которыми этот вопрос может быть решен.

  1. С помощью классической установки стиля XUNIT наряду с методами разрыва.
  2. Используя приспособления (рекомендуется).

Стиль присваиваний XUNIT уже поддерживается в Unittest, но Pteest имеет гораздо лучший способ борьбы с приборами. Приспособления являются набором ресурсов, которые должны настроить до начала теста и должны быть очищены после завершения выполнения испытаний. Он содержит много улучшений по сравнению с классической реализацией функций установки и разрыва. Основными преимуществами использования светильников являются:

  • Разработчик может установить всю жизнь и область приспособления. Область применения реализованного крепежа может быть модулями, функциями, классами или весь проект.
  • Светильники реализованы модульным образом; Следовательно, нет никакой кривой обучения.
  • Свежеспособные функциональные приспособления приводят необходимую читаемость и согласованность в вашем тестовом коде. Это делает ремонтопригодность легкой и меньшей сложной задачей.
  • Функции прибора Используйте концепцию дизайна ориентированного объектно-ориентированным на объектно-ориентированные объектно-ориентированные на «инъекцию зависимости», где функции приспособления занимают роль инжектора и функции тестирования считаются потребителями объектов прибора.
  • Каждое прибор имеет имя (аналогично имени функции), что, в свою очередь, может вызывать другие функции прибора.
  • Светильники могут быть повторно использованы, и его можно использовать для простых модульных тестирование на тестирование сложных случаев использования.

С момента запуска версии 3.5 приспособления более высоких областей приоритеты приоритеты приоритеты выше нижних приспособлений области с точки зрения создания присмотров. Более высокий приспособлений включает в себя сеансы, нижние приспособления включают в себя классы, функции и т. Д. Вы даже можете «параметризировать» эти функции прибора, чтобы выполнить их несколько раз вместе с выполнением зависимых тестов. Параметризация светильника широко использовалась для записи исчерпывающих тестовых функций. Ниже приведен простым кодом для автоматизации тестирования, используя Pteest, где вызывается настройка () и rushdown () «ресурса 1», даже когда выполняется test_2. Поскольку это простая реализация (с меньшим количеством вычислений), существует не так много накладных расходов, даже когда вызываются ненужные вызовы установки и модуля, но они могут препятствовать общему выполнению кода в случае каких-либо операций по интенсивности CPU (например, подключение к базе данных) вовлечены:

#Import all the necessary modules
import pytest

def resource_1_setup():
    print('Setup for resource 1 called')

def resource_1_teardown():
    print('Teardown for resource 1 called')

def setup_module(module):
    print('\nSetup of module is called')
    resource_1_setup()

def teardown_module(module):
    print('\nTeardown of module is called')
    resource_1_teardown()

def test_1_using_resource_1():
    print('Test 1 that uses Resource 1')

def test_2_not_using_resource_1():
    print('\nTest 2 does not need Resource 1')

Выполните тестовый случай «test_2_not_using_resource_1», вызывая следующую команду на терминале.

Pteest –verbose test_fixtures.py::test_2_not_using_resource_1.

Как наблюдается из вывода [Filename – Pytest-Settures-splite.png], хотя выполняется «test_2», функции прибора для «ресурса 1» ненужно вызывают. Эта проблема может быть закреплена с помощью приспособлений; Мы бы посмотрели на то же самое в предстоящем примере.

Как видно в приведенном ниже примере, мы определяем функцию прибора Revance_1_Setup () (аналогично настройке в реализации стиля XUNIT) и Resource_1_Teardown () (аналогично разрыву в реализации стиля XUNIT). Функция прибора имеет «модуль охвата», используя).

#Import all the necessary modules
import pytest

#Implement the fixture that has module scope
@pytest.fixture(scope='module')
def resource_1_setup(request):
    print('\nSetup for resource 1 called')

    def resource_1_teardown():
        print('\nTeardown for resource 1 called')

    # An alternative option for executing teardown code is to make use of the addfinalizer method of the request-context
    # object to register finalization functions.
    # Source - https://docs.pytest.org/en/latest/fixture.html
    request.addfinalizer(resource_1_teardown)

def test_1_using_resource_1(resource_1_setup):
    print('Test 1 uses resource 1')

def test_2_not_using_resource_1():
    print('\n Test 2 does not need Resource 1')

Мы выполняем код, вызвав все TestCases I.e. Test_1_using_resource_1 () & test_2_not_using_resource_1 (). Как показано на выходе ниже [FileName – Pteest-Staturatures-все-тесты – Execed.png], «Настройка для ресурса 1» называется только для теста 1, а не для теста 2.

Теперь мы выполняем только Testcase 2 I.E. Test_2_not_using_Resource_1 (). Как видно на выходе ниже [Filename – Pteest-Sicketures-Taxts-Tests-Execied.png], функции настройки и разрыва для «ресурса 1» не вызываются, так как выполняется единственный тестовый камень – 2. Именно здесь приспособления могут быть высокоэффективными, поскольку она устраняет «повторяющийся код» и «выполнение ненужного кода». Официальная документация о приспособлениях в Pytest можно найти здесь Отказ

Тестовая автоматизация с использованием Pтойца с Webdriver Selenium

Когда вы смотрите на структуру тестирования Automation, вам, вероятно, потребуют бы, чтобы провести тестовую структуру, которая доставит все ваши требования I.E. Установка, функциональный тест, аналогичные тесты и т. Д. Рамки должны иметь возможность регистрировать события, генерировать тестовые отчеты и должен иметь хорошую поддержку сообщества. Pytest выполняет все эти требования и автоматизацию тестирования, используя Pteest с WebDriver Selenium, настоятельно рекомендуется, поскольку она не связана с крутой кривой обучения.

Когда вы планируете разработать автоматизацию тестирования, используя Pteest с Webdriver Selenium, первая озабоченность, которую вам нужно посмотреть, – это когда должен загрузить браузер. Загрузка нового экземпляра браузера после каждого теста не рекомендуется, поскольку оно не является масштабируемым решением и может увеличить общее время выполнения тестирования. Рекомендуется загрузить браузер (по тесту), прежде чем фактические тестовые случаи запустились и выгружаются/закрыли экземпляр браузера, как только тесты будут завершены. Это возможно, используя приспособления [обсуждаемые ниже в тестировании автоматизации с использованием раздела Ptyest – приспособления (использование и внедрение) в Pteest. Как уже упоминалось ранее, приспособления привели к широкому использованию концепции, называемой «инъекцией зависимости», где зависимости могут быть загружены до начала фактических испытаний.

По умолчанию приспособления имеют возможность «функционально», в зависимости от требований; Вы можете изменить реализованный объем прибора к модулю, сеансу или классу. Как и «срок службы переменных на языке C», область приспособления указывает, сколько раз будет создан конкретный прибор.

Крепеж выполнен / запущен один раз на тестовую сессию Функция
Одно приспособление создано для всей тестовой сессии Сессия
Для каждого класса тестов создается только одно приспособление Класс
Приспособление создается один раз на модуль Модуль

После того, как тесты будут выполнены, вам может быть интересно захватить результаты теста в формате отчета (например, HTML). Вам нужно установить модуль Ptyest-HTML для того же.

PIP Установить Ptyest-HTML

Ниже приведен моментальный снимок команды в выполнении.

Теперь, когда вы знаете о интерфейсе SELENIVER SEATURIVER, SELENIUM и SELENIUM Давайте посмотрим на пример со всеми этими вещами в действии. Прежде чем начать реализацию, убедитесь, что вы загружаете драйвер Gecko для Firefox & Chromedriver для Chrome отсюда и здесь соответственно. Во избежание упоминания «Путь/местоположение», где были загружены драйверы, убедитесь, что вы размещаете эти соответствующие драйверы в месте, где присутствуют соответствующие браузеры. Внизу ниже, вы можете увидеть, что мы скопировали Geckodriver.exe в месте, где присутствует браузер Firefox (Firefox.exe).

Теперь, когда у вас установка готова, давайте начнем с реализацией. Импортируйте все необходимые модули в начале, чтобы избежать ошибок. В нашем случае модули импортированы селен, Pтойт, Pteest-HTML. Два функции прибора – Driver_init () и Chrome_Driver_init () имеют возможность «класс». Как видно в функции прибора Driver_init (), экземпляр Firefox создается с использованием Geckodriver, тогда как в Chrome_Driver_init (), экземпляр браузера Chrome создается с помощью Chromedriver. Урожай содержит реализацию lexdown I.E. Код внутренней доходности отвечает за выполнение активности очистки. В этом случае класс используется для группировки тестовых случаев, в этом случае есть два важных класса, а именно Test_URL () и TEST_URL_CHROME (). Реализованные классы используют приспособления, которые были реализованы с использованием Mark.useFixtures [@ pytest.mark.usefixtures (“driver_init”)]. Тестовый случай выполняет простой тест на вызов соответствующего браузера (Firefox/Chrome) и открытие прилагаемого URL-адреса I.E. https://www.lambdatest.com/ Имя файла – test_selenium_webdriver-2.py.

# Import the 'modules' that are required for execution

import pytest
import pytest_html
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from time import sleep

#Fixture for Firefox
@pytest.fixture(scope="class")
def driver_init(request):
    ff_driver = webdriver.Firefox()
    request.cls.driver = ff_driver
    yield
    ff_driver.close()

#Fixture for Chrome
@pytest.fixture(scope="class")
def chrome_driver_init(request):
    chrome_driver = webdriver.Chrome()
    request.cls.driver = chrome_driver
    yield
    chrome_driver.close()

@pytest.mark.usefixtures("driver_init")
class BasicTest:
    pass
class Test_URL(BasicTest):
        def test_open_url(self):
            self.driver.get("https://www.lambdatest.com/")
            print(self.driver.title)

            sleep(5)

@pytest.mark.usefixtures("chrome_driver_init")
class Basic_Chrome_Test:
    pass
class Test_URL_Chrome(Basic_Chrome_Test):
        def test_open_url(self):
            self.driver.get("https://www.lambdatest.com/")
            print(self.driver.title)

            sleep(5)

Поскольку нам требуется тестовый вывод в HTML-файле, мы делаем нас от выполнения тестового кода. Полная команда для выполнения автоматизации тестирования с использованием Pтойца с WebDriver Selenium:

py.test.exe –verbose.html test_selenium_webdriver-1.py.

Ниже приведен выходной выход, Testcase Test_Open_URL () выполнен для класса Test_url & Test_url_chrome (). Отчет о тесте PYTEST_SELENIM_TEST_REPORT.HTML [Image – Pteest-Selenium-roade-1.png]. Вот тестовый отчет для дальнейшей ясности.

Как видно в приведенном выше реализации, единственная разница между функцией светильника для браузера Firefox & Chrome – «Настройка соответствующего браузера». Большинство из осуществления одинаково для обоих браузеров [посмотреть на test_url (), test_url_chrome ()], следовательно, становится важно оптимизировать код, избегая «повторения кода». Это возможно, используя «параметризованные приспособления». Как видно в реализации [имя файла – test_selenium_webdriver-1.py], основное изменение – добавление «параметров» для приспособлений I.E. @ pytest.fixture (params = [“Chrome”,). В зависимости от использования браузера соответствующая WebDriver используется для вызова браузера.

# Import the 'modules' that are required for execution

import pytest
import pytest_html
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from time import sleep

#Fixture for Firefox
@pytest.fixture(params=["chrome", "firefox"],scope="class")
def driver_init(request):
    if request.param == "chrome":
        web_driver = webdriver.Chrome()
    if request.param == "firefox":
        web_driver = webdriver.Firefox()
    request.cls.driver = web_driver
    yield
    web_driver.close()

@pytest.mark.usefixtures("driver_init")
class BasicTest:
    pass
class Test_URL(BasicTest):
        def test_open_url(self):
            self.driver.get("https://www.lambdatest.com/")
            print(self.driver.title)

            sleep(5)

В нашем случае мы используем браузеры Chrome & Firefox, и тестовый случай Test_URL () будет выполнен для каждого браузера отдельно. Как видно на выходе, тестовый случай вызывается один раз с параметрами как «Firefox» и «Chrome».

Крест-браузер, тестирование у Syptestest, Selenium & Lambdatest

Всегда есть ограничение на сумму тестирования, которые вы можете выполнить на местных машинах или тестировальных машинах, поскольку тщательное тестирование должно быть выполнено на разных видах устройств (мобильных телефонов, планшетов, настольных компьютеров и т. Д.), Операционные системы (Windows, Linux , MacOS, Chrome и т. Д.) И браузеры, такие как Chrome, Firefox, Safari, Opera и так далее. Настройка «Локальная тестовая среда/тестовая ферма» не является масштабируемым и экономичным вариантом. Именно здесь ваша тестовая команда может использовать мощность перекрестного браузера LambdaTestest в облачных возможностях.

Вы можете выполнить руководство, а также автоматическое тестирование кросс-браузера вашего веб-приложения/веб-сайта на разных браузерах (даже старых версиях), устройства и т. Д. Вы также можете выполнить тестирование в режиме реального времени с помощью своей функции туннели, которая позволяет использовать их тестовую инфраструктуру из терминала. Lambdatest Selenium Automation Сетка позволяет вам выполнять сквозные тесты автоматизации в безопасной, надежной и масштабируемой инфраструктуре селена. Вы можете использовать SELENIUM LAMBDATEST SELENIUM, чтобы не только повысить общий кодовый охват (через тестирование), но также снизить общее время, необходимое для выполнения ваших сценариев автоматизации, написанных в Python.

Заключение

Тестовая автоматизация, использующая Pteest с WebDriver Selenium, является очень благоприятным вариантом в качестве рамки, в которой есть хорошие функции, с которыми тестовые инженеры могут придумать реализацию, которая легко реализовать и что масштабируется. Его можно использовать для написания тестовых случаев для простых сценариев, а также высоко сложных сценариев. Разработчик/тестер, который хорошо разбирается с Python, Unittest/другие тестовые рамки, основанные на Python, найдут Pteest легко для изучения. Поскольку Pтойцы используют концепции, такие как «инъекция зависимости», существует меньшая стоимость, участвующая в «удостоверенности исходного кода».

Если вы ищете тестирование веб-приложений или веб-сайтов, вы можете выполнить автоматизацию тестирования, используя Pтойку с помощью Selenium Framework. Поскольку количество устройств увеличивается с каждым днем прохождения, становится весьма невозможным проверить ваш код против разных устройств, операционных систем и браузеров; Это где тестеры/разработчики могут использовать лямбдатест ‘ Инструмент тестирования кросс-браузера «Что позволяет вам выполнить автоматизацию тестирования, используя Pteest с WebDriver Selenium, без усилий.

Оригинальный источник: lambdatest.com

Статьи по Теме:

  1. Использование Pyunit для тестирования тестируемого набора Selenium Python
  2. Автоматическое тестирование с Junit и Selenium для совместимости браузера

Оригинал: “https://dev.to/lambdatesting/test-automation-using-pytest-and-selenium-webdriver-jd8”