Много популярных языков программирования в той или иной мере поддерживают работу с Selenium webdriver. Выбор стоит за Вами, что более предпочтительно, опыт работы, требования проекта или личный интерес. В данной статье мы хотим описать процессы настройки Selenium в связке с разными языками программирования, с которыми приходилось иметь возможность и опыт работать.
Для того, чтобы настроить среду Python+Selenium необходимо скачать:
Для того, чтобы настроить среду Python+Selenium необходимо скачать:
- python http://www.python.org/download/releases/2.7.3/ Устанавливаем и добавляем пути c:\Python2x; c:\Python2x/lib, c:\Python2x/Scritps в переменную оружения.
Дальше нам необходимо установить пакетный менеджер, чтобы в будущем, при необходимости, легко и быстро можно было устанавливать дополнительные модули. Совсем скоро мы будем таким образом устанавливать Селениум, не скачивая при этом ничего вручную:
- http://pypi.python.org/pypi/setuptools. Скачиваем ez_setup.py и запускаем в командой строке (Windows или Linux) python ez_setup.py. Установяться необходимые зависимости.
- http://pypi.python.org/pypi/pip#downloads Скачиваем, распаковываем архив, в командой строке переходим в распакованную папку и устанавливаем запустив команду python setup.py install
Следующий шаг не обязательный, но рекомендуемый. На этом этапе можно установить, так называемую, виртуальную среду, для того чтобы держать в чистоте и порядке исходный дистрибутив, и в дальнейшем с виртуальными средами будет удобно работать, проводя любые эксперементы. Устанавливаем уже через пакетный менеджер pip install virtualenv. Подробно на virtualenv не будем сейчас останавливатся. Детально можно посмотреть на оф. сайте http://www.virtualenv.org/en/latest/index.html#installation.
Если считать что мы просто установили python и pip, и наконец-то горим желанием начать работать с Selenium, устанавливаем его командой: pip install selenium. Заметка, когда вышла новая версия Selenium, то всего лишь нужно обновиться той же командой, только с параметром pip install selenium --upgrade.
Теперь можно начинать писать тесты. По умолчанию webdriver работает с браузером Firefox. Для поддержки других браузеров нужно скачать соответсвующие библиотеки http://code.google.com/p/selenium/downloads/list. Перед началом работы с IE 7 и выше, нужно не забыть на тестовой машине включить\отключить защищённый режим для всех зон в браузере. http://code.google.com/p/selenium/wiki/InternetExplorerDriver.
Тесты пишем используя модуль unittest. С его помощью, вы удобно сможете организовать тест-кейсы, и составить тест-свиты. В качестве среды разработки, можно использовать блокнот, стандартную IDLE, Eclipse, Vim и прочее. Для статистики на Хабре проходил опрос на эту тему Какой редактор или IDE вы используете для Python?
Пример:
Чтобы настроить Eclipse для работы с python, необходимо скачать:
Тесты пишем используя модуль unittest. С его помощью, вы удобно сможете организовать тест-кейсы, и составить тест-свиты. В качестве среды разработки, можно использовать блокнот, стандартную IDLE, Eclipse, Vim и прочее. Для статистики на Хабре проходил опрос на эту тему Какой редактор или IDE вы используете для Python?
Пример:
import unittest
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
#Каждый класс будет можно считать тест-свитов, каждый метод с префиксом test_
#будет вашим тест-кейсом
class homePageTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
def tearDown(self):
self.driver.close()
#ниже приведённая команда пропускает тест-кейс. Если нет необхомости в его запуске, либо он ещё не готов
@unittest.skip("This test is not ready yet. Skipped")
def test_LoginButtonsSearchbox(self):
driver = self.driver
driver.get(testEnv)
try:
liveButton = driver.find_element_by_xpath('//*[@id="content2323"]/div/p[3]/a/span/span')
liveButton.click()
except:
msg = "Live Button from homepage is unaccessible"
print "\n" + msg + "\n"
sendanemail(msg, msg)
self.assertIn(CurrentButtonID, ButtonID)
def test_RegistrationControls(self):
driver = self.driver
driver.get(testEnv)
try:
self.assertTrue(driver.find_element_by_name("nickname") > 0)
except NoSuchElementException:
print "Nickname box is absent"
try:
#wait for 3 seconds element present structure
self.assertTrue(WebDriverWait(driver, 3).until(lambda driver : driver.find_element_by_name("email")))
except TimeoutException:
print "Email box is absent\n"
class PaymentPageTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
def tearDown(self):
self.driver.close()
def test_BaseElements(self):
# here you will add your tests
def test_CardNumber(self):
# here you will add your tests
#Создаём тест-свиты
suite1 = unittest.TestLoader().loadTestsFromTestCase (homePageTest)
suite2 = unittest.TestLoader().loadTestsFromTestCase (PaymentPageTest)
#Объеденяем свиты, которые хотим запускать
alltests = unittest.TestSuite([suite1, suite2])
unittest.TextTestRunner(verbosity=1).run(alltests) #Как параметр можно передать отдельный свит
Чтобы настроить Eclipse для работы с python, необходимо скачать:
- eclipse http://www.eclipse.org/downloads/. Скачать и установить.
- pydev http://pydev.org/download.html.
- здесь же и мануал, как установить pydev http://pydev.org/manual_101_install.html
Если вы только начинаете разбираться с атоматизированным тестированием и хотите использовать python + selenium, то рекомендуем также посмотреть очень хорошую базовую документацию без лишнй воды тут http://selenium-python.readthedocs.org/en/latest/index.html. А дальше по мере поступления, проблемы будут решаться уже опытным путём.
На следующем шаге рекомендуем ознакомиться с Nose - автоматически собирает и запускает тесты.
Selenium Web driver (IntelliJ Idea + Java):
Теперь небольшой мануал по подгтовке среды для разработки автоматизированных тестов на Java + Selenium + IntelliJ Idea. Необходимо выполнить следующие шаги:
1. Скачать JDK и установить. Желательно устанавливать в корень диска, чтобы в пути к директории не было пробелов, которые есть по умолчанию в пути, если это 'Program Files'
2. Скачать Selenium Webdriver и добавить путь в переменную окружения (на момент пубилкация, возможно уже доступна более новая версия, рекомендуем проверить на оф. сайте)
3. Перегрузиться, так как бывает что переменные окружения глючно обновляются.
4. Скачать и установить InelliJ IDEA (на самом деле не принципиально, можно писать в чем угодно, будет различие в настройке среды и сборке)
5. Настраиваем InelliJ IDEA.
Инструкция по настройке среды тут, файлы которые в ней указаны можно скачать тут и тут, ну а вебдрайвер мы уже скачали раньше.
Полезно, базовые методы и тут
- здесь же и мануал, как установить pydev http://pydev.org/manual_101_install.html
Если вы только начинаете разбираться с атоматизированным тестированием и хотите использовать python + selenium, то рекомендуем также посмотреть очень хорошую базовую документацию без лишнй воды тут http://selenium-python.readthedocs.org/en/latest/index.html. А дальше по мере поступления, проблемы будут решаться уже опытным путём.
На следующем шаге рекомендуем ознакомиться с Nose - автоматически собирает и запускает тесты.
Selenium Web driver (IntelliJ Idea + Java):
Теперь небольшой мануал по подгтовке среды для разработки автоматизированных тестов на Java + Selenium + IntelliJ Idea. Необходимо выполнить следующие шаги:
1. Скачать JDK и установить. Желательно устанавливать в корень диска, чтобы в пути к директории не было пробелов, которые есть по умолчанию в пути, если это 'Program Files'
2. Скачать Selenium Webdriver и добавить путь в переменную окружения (на момент пубилкация, возможно уже доступна более новая версия, рекомендуем проверить на оф. сайте)
3. Перегрузиться, так как бывает что переменные окружения глючно обновляются.
4. Скачать и установить InelliJ IDEA (на самом деле не принципиально, можно писать в чем угодно, будет различие в настройке среды и сборке)
5. Настраиваем InelliJ IDEA.
Инструкция по настройке среды тут, файлы которые в ней указаны можно скачать тут и тут, ну а вебдрайвер мы уже скачали раньше.
Полезно, базовые методы и тут
Selenium Web driver (C# + VisualStudio2010 +NUnit):
Если же вы используете VisualStudio 2010 (на самом деле не важно какая версия, мы просто все проделывали на 10 версии), то можно для среди разработки автоматизированных тестов использовать VisualStudio 2010 +NUnit. Для подготовки такой среди необходимо выполнить следующие шаги:
http://bugscatcher.net/archives/1232 - WebDriver: Основные команды
http://automated-testing.info/knowledgebase/article/webdriver-osnovnye-komandy – WebDriver: Основные команды
http://www.vr-online.ru/content/nunit-delaem-testy-pravilno-3054 - Работа с NUnit
http://www.vr-online.ru/content/c-nunit-delaem-testy-pravilno-chast-2-3343 - Работа с NUnit
Всё проверено на работоспособность на текущих версиях.
1. Установить Nunit http://www.nunit.org/index.php?p=download - эта вспомогательная система для запуска и управления тестами. Установите bin .net Zip файл последней стабильной версии (например, NUnit-2.6.2-net-1.1.zip). Если же вы планируете модифицыровать Nunit тогда выберите соответствующий установочный файл.
Библиотеки Nunit нужно будет подключить в проект: nmock.dll, nunit.core.dll, nunit. framework.dll
Библиотеки Nunit нужно будет подключить в проект: nmock.dll, nunit.core.dll, nunit. framework.dll
2. Сохраните набор библиотек для .NET (bindings for Selenium, including the RC and WebDriver APIs.) Скачать можно по ссылке https://code.google.com/p/selenium/downloads/list.
Во вложение должны быть следующие библиоткети, которые также нужно подключить в проект: Castle.Core.dll, Ionic.Zip.Reduced.dll, Newtonsoft.Json.Net35.dll, Selenium.WebDriverBackedSelenium.dll, ThoughtWorks.Selenium.Core.dll, WebDriver.dll, WebDriver.Support.dll.
Во вложение должны быть следующие библиоткети, которые также нужно подключить в проект: Castle.Core.dll, Ionic.Zip.Reduced.dll, Newtonsoft.Json.Net35.dll, Selenium.WebDriverBackedSelenium.dll, ThoughtWorks.Selenium.Core.dll, WebDriver.dll, WebDriver.Support.dll.
3. Откройте VS 2010 > Нажмите правой клавишей мыши на Solution в Solution explorer> Нажмите Add> New project> Visual C# , тип Class Library.
Заметка: Если вы открыли VS 2010 и у вас нет никаких подключений к серверу и существующих Solutions, то просто выбирите File> New file и добавьте любой файл. У вас появится Solution и вот в нем вы уже можетt создать свой проект.
Заметка: Если вы открыли VS 2010 и у вас нет никаких подключений к серверу и существующих Solutions, то просто выбирите File> New file и добавьте любой файл. У вас появится Solution и вот в нем вы уже можетt создать свой проект.
4. Добавьте Nunit и .NET библиотеки в проект. Нажмите правой кнопкой мыши на Имя проекта> Нажмите Add References…> выберите вкладку Browse и добавьте необходимые библиотеки. Или второй вариант, выберите в меню Project properties > References path и нажмите кнопку Reference path, найдите необходимые библиотеки и добавьте их.
5. Далее уже можно писать свой первый тест. Пример первого теста указан далее по ссылке, а также более детальная информация про Selenium 2.0 и как запустить Nunit http://bugscatcher.net/archives/1067
Заметка: После того как вы запустили первый тест, у вас может появится ошибка
«your webdriver cannot be found», то вам необходимо указать путь где физически у вас
размещен браузер, в данном случае FF. Найдите где у вас находится екзешный файл для FF
и замените путь в коде. У нас FF находится в следующей папке:
Заменить: driver = new FirefoxDriver();
На: driver = new FirefoxDriver(new FirefoxBinary("c:\\Users\\[Your user name]\\AppData\\Local\\Mozilla Firefox\\firefox.exe"), null);
Также много полезной информации вы можете узнать здесь: Заметка: После того как вы запустили первый тест, у вас может появится ошибка
«your webdriver cannot be found», то вам необходимо указать путь где физически у вас
размещен браузер, в данном случае FF. Найдите где у вас находится екзешный файл для FF
и замените путь в коде. У нас FF находится в следующей папке:
Заменить: driver = new FirefoxDriver();
На: driver = new FirefoxDriver(new FirefoxBinary("c:\\Users\\[Your user name]\\AppData\\Local\\Mozilla Firefox\\firefox.exe"), null);
http://bugscatcher.net/archives/1232 - WebDriver: Основные команды
http://automated-testing.info/knowledgebase/article/webdriver-osnovnye-komandy – WebDriver: Основные команды
http://www.vr-online.ru/content/nunit-delaem-testy-pravilno-3054 - Работа с NUnit
http://www.vr-online.ru/content/c-nunit-delaem-testy-pravilno-chast-2-3343 - Работа с NUnit
Всё проверено на работоспособность на текущих версиях.
переменную оружения. #Ошибка в слове ОКРУЖЕНИЯ
ОтветитьУдалитьc:\Python2x; c:\Python2x/lib, c:\Python2x/Scritps ";" "\"