A. Огуречный лайк: (английский лайк)
- Салат (Подход к корнишону) или
- Веди себя (подход к корнишону) или
- Robotframework (подход на основе ключевых слов)
(Дополнительная информация: RF больше, чем критерии English Like. Его основано на ключевых словах и предлагает множество вспомогательных методов и встроенных библиотек. Отличный eco-sysstem для внешних библиотек. Любой скрипт на python также можно изменять и использовать вместе с RF)
- Freshen (подход к корнишону) или
- горох (подход к корнишону) или
RedwoodHQ (на основе подходящего ключевого слова)
(RedwoodHQ имеет функции, превышающие критерии «англоязычного», и включает в себя следующие функции: основанная на ключевых словах, веб-тестовая среда, поддерживает Python как один из языков и многое другое.
Дополнительная информация о RedwoodHQ: Теоретически возможно, что все существующие встроенные библиотеки платформы роботов и все внешние библиотеки тестирования платформы робота или, в этом отношении, любая библиотека python, могут быть вызваны или использованы из этой веб-платформы тестирования с небольшими изменениями)
Датчик (подход с использованием огурца): Справочник по питону: (https://gauge -python.readthedocs.io / en / latest / index.html )
Под огурцом может быть слой абстракции, похожий на капибару, который скрывает / группирует многие действия селена
B. Капибара, как: (Абстракция: скрывает / групповое действие)
Например, если щелкнуть элемент, достаточно предоставить команду типа click (locator) вместо работы с raw selenium api
, где нужно найти элемент и затем щелкнуть. Еще много таких абстракций существует в опциональных библиотеках ниже
- Вариант-1 (см. Ниже)
- Вариант-2 (см. Ниже)
- Вариант-3 (см. Ниже)
- Вариант-4 (см. Ниже)
- Вариант-5 (см. Ниже)
- Вариант-6: Гелий (от других Ответ / комментарий)
- Вариант-7: (см. Ниже)
- Вариант-8: (см. Ниже)
- Вариант-9: (см. Ниже)
- Вариант-10: (см. Ниже)
- Вариант-11: (см. Ниже)
- Вариант-12: (см. Ниже)
- Вариант-13: (см. Ниже)
Мое исследование: существует почти полдюжины а. активный, б. зрелые c. развитые варианты.
Python поставляется с различными батареями в комплекте !!
Вариант-1: Selenium2Library
URL-адрес Github: https://github.com/rtomac/robotframework-selenium2library
Developement:
Активный
Назначение:
одна из многих библиотек robotframework
, также может использоваться как «автономная» библиотека для вашей платформы (см., например, ниже для использования).
Мысли:
- Предоставляет абстракцию над селеном
- Ввод аргументов для методов в этой библиотеке намного проще. Абстракция, предоставляемая библиотекой, например, скрывает множество ненужных деталей для поиска элементов. Для более подробной информации нужно понимать библиотеку
- Можно использовать эту библиотеку вне контекста платформы робота как таковую без каких-либо изменений , хотя она может использовать утилиты пакета роботов. (Это ваша домашняя работа для дальнейших экспериментов с этой библиотекой, в этой заметке!)
- Следовательно, может использоваться как отдельная библиотека для вашей платформы.
Использование:
pip install robotframework-selenium2library
импортируйте в ваш ipython или простую консоль и начните играть
например:
>>from Selenium2Library import Selenium2Library
>>start_testing= Selenium2Library()
>>start_testing.create_webdriver("Firefox")
>>start_testing.go_to("http://www.google.com")
>>.
...so on
Вариант-2: Объекты страниц
URL-адрес Github:
https://github.com/ncbi/robotframework-pageobjects
Разработка:
InActive (не показывать пробки с последней версией)
Назначение:
Одна из библиотек robotframework
. Предоставляет абстракцию объекта страницы над Selenium2Library
. Может использоваться в качестве автономного для вашей платформы (см., Например, ниже для использования) или может использоваться вместе с роботизированной рамой.
Мысли:
- Он предоставляет поддержку "абстракции объекта подкачки" поверх библиотеки Selenium2
- Можно использовать эту библиотеку вне контекста платформы робота как таковую без каких-либо изменений , хотя имогли бы использовать утилиты пакета роботов.(Это ваша домашняя работа для дальнейших экспериментов с этой запиской!)
- Следовательно, может использоваться в качестве отдельной библиотеки
Использование:
pip install robotframework-pageobjects
например: в ipython или в режиме ожидания:
>>from robotpageobjects import Page
>>start_testing=Page()
>>start_testing.create_webdriver("Firefox")
>>start_testing.go_to("http://google.com")
Option-3: robotframework-pageobjectlibrary
URL-адрес Github: https://github.com/boakley/robotframework-pageobjectlibrary
Разработка: Активная
Надеемся, Автор поддерживает LTS(Долгосрочная поддержка):)), Скрещенные пальцы !!
Использование:
pip install robotframework-pageobjectlibrary
Мысли:
- НЕ возможно использовать эту библиотеку вне контекста платформы робота.Незначительное изменение в том, как обрабатывается контекст страницы, помогло бы использовать эту библиотеку вне контекста платформы робота (это ваша домашняя работа, чтобы узнать как!)
Option-4: Splinter
URL Github: https://github.com/cobrateam/splinter
Развитие: Активный
Использование: splinter.readthedocs.org/en/latest/index.html
pip install splinter
На ipython или idle do:
>>from splinter import Browser
>>browser = Browser()
>>browser.visit('http://google.com')
>>browser.fill('q', 'splinter - python acceptance testing for web applications')
>>browser.find_by_name('btnG').click()
Опция-5: Библиотека SST
URL Github: https://github.com/Work4Labs/selenium-simple-test
Разработка: Функция завершена / Активна
Использование: testutils.org/sst/
pip install -U sst
на ipython или в режиме ожидания:
>>> from sst.actions import *
>>> start()
Starting Firefox
>>> go_to('http://google.com')
Going to... http://google.com
Waiting for get_element
Опция-6: гелий Не с открытым исходным кодом (Коммерческий)
Опция-7: holmium.core
URL Github: https://github.com/alisaifee/holmium.core
Option-8: wtframework
URL Github: https://github.com/wiredrive/wtframework
Option-9: вебиум
URL-адрес Github: https://github.com/wgnet/webium
Опция-10: Элементиум
URL Github: https://github.com/actmd/elementium
Опция-11: saunter
URL Github: https://github.com/Element-34/py.saunter
Использование: saunter
Option-12: webdriverplus
URL-адрес Github: https://github.com/tomchristie/webdriverplus
Использование: webdriverplus
Комментарии: репозиторий не поддерживается, но приличная ссылка
Опция-12: Simple-Pageobject
URL Github: https://github.com/rama-bornfree/simple-pageobject/tree/master/PageObjectLibrary
Комментарии: Простейшая обёртка объекта страницы, построенная на базе selenium2library.Я являюсь владельцем репо
Test-setup:
"Все" библиотеки тестов в варианте 1-13;может быть запущен с использованием любой из следующих структур: Lettuce, Behave, Robotframework
или, в этом отношении, любой среды модульного тестирования (например, PyUnit
, Nose
) ... и т. д.
Обычно используется платформа тестированиядля управления тестовыми примерами, например
- английские форматы, такие как gherkin, ключевое слово, табличные и т. д. ...
- сообщение о тестовом прогоне
- с подключением к CI
- настройка / разбор тест-кейсов и наборов тестов
- тегирование тест-кейсов
- другие функциональные возможности, о которых можно подумать о любой тестовой среде
Что имеет значение , так это то, насколько удобно работать с библиотеками в указанных выше параметрах.
Вариант 5: Что касается SST
, то он имеет особенностисама структура, например, она может генерировать отчеты и делать еще много вещей.
Таким образом, определение библиотеки и каркаса в случае SST размыто , в зависимости от степени возможностей, которые вы хотели бы использовать из этого пакета
Some Math for Fun:
Общее количество способов получить хорошие , плохие и ужасные Test-setup =(Тестовый фреймворк И тестовая библиотека + ваш пользовательский код, зажатый между ч / б фреймворком и библиотекой):
7 * 13 = 91 Способ
Выберите лучшую комбинацию (изТестовый фреймворк и тестовая библиотека), который подходит тем, кто в этом нуждается !!
Я бы лично пошел на Robot-framework с Selenium2Library или Robot-framework с некоторой библиотекой pageobject
конечно, я склонен и положительно настроенв моем посте про робот-фреймворк и Selenium2Library