- accordion(1)
- active-trail(1)
- ajax(1)
- angular(1)
- apache(3)
- bash(4)
- block(2)
- browsers(1)
- button styles(1)
- checkboxes(1)
- code key(1)
- compress(1)
- console(4)
- css(1)
- ctools(1)
- date(1)
- db_query(2)
- db_select(2)
- debian(1)
- dom function(1)
- drag and drop(1)
- drupal 6(3)
- drupal 7(3)
- drupal functions(6)
- drupal_goto()(1)
- drupal_mail(1)
- errors(1)
- eslint(1)
- fancybox(1)
- fedora(1)
- firefox(2)
- firefox addons(1)
- firefox profiles(1)
- form(1)
- form api(5)
- format_date(1)
- git(1)
- hooks(2)
- hook_mail(1)
- hook_theme(1)
- hotkey(1)
- httpd(1)
- husky(1)
- ie(2)
- javascript(2)
- jquery(7)
- jquery plugin(2)
- jquery regex(1)
- js templates(1)
- kb(1)
- like button(1)
- link(1)
- linux(4)
- linux commands(2)
- list(1)
- list styles(1)
- markup(1)
- menu(3)
- mobile(1)
- modal(2)
- module develop(2)
- modules(1)
- monorepo(1)
- mootools(1)
- mysql(2)
- node_save(1)
- opacity(1)
- opensuse(5)
- opera mini(1)
- padStart(1)
- page.tpl.php(1)
- password hash(1)
- patch(1)
- pdf(1)
- python(1)
- radiobuttons(1)
- reg_ex(2)
- sass(1)
- scripts(1)
- search form(1)
- selenium(1)
- share button(1)
- sms(1)
- ssh(2)
- styles(4)
- switch case(1)
- table style(1)
- tar(1)
- taxonomy(1)
- taxonomy menu(1)
- templates(1)
- theme(4)
- toggle(2)
- touchpad(1)
- tray(1)
- trigger(1)
- typescript(2)
- typescript-eslint(1)
- ubuntu(3)
- usefull function(1)
- views(1)
- virtual hosts(2)
- virtualbox(2)
- vmware(1)
- webdriver(1)
- youtube(1)
- кроссбраузерность(1)
Знакомство с Selenium WebDriver для python
Selenium - это среда для тестирования веб-интерфейсов.
Установка на линукс:
Устанавливаем клиента для python:
#pip install -U selenium
Java Server
Скачиваем сервер http://selenium.googlecode.com/files/selenium-server-standalone-2.23.0.jar
Запускаем:
#java -jar selenium-server-standalone-2.23.0.jar
Можно начинать писать тесты.
Примеры кода для Webriver python.
Импортируем нужные модули и переменные:
from selenium import webdriver #Webdriver
from selenium.common.exceptions import NoSuchElementException #exceptions
from selenium.webdriver.common.keys import Keys #keys
from selenium.webdriver.support.ui import Select #select
import time #time for sleep
from selenium.common.exceptions import NoSuchElementException #exceptions
from selenium.webdriver.common.keys import Keys #keys
from selenium.webdriver.support.ui import Select #select
import time #time for sleep
Запускаем Webdriver для Хрома (предварительно скачав бинарник http://code.google.com/p/chromedriver/ ):
browser = webdriver.Chrome('/opt/chromedriver')
Идем по урлу:
browser.get("http://google.com")
Выбераем Select:
theme = "sirius"
themeSelect = Select(browser.find_element_by_name("theme"))
themeSelect.select_by_value(theme)
themeSelect = Select(browser.find_element_by_name("theme"))
themeSelect.select_by_value(theme)
Запоняем поле и отправляем форму:
username = "root"
inputName = browser.find_element_by_name("username")
inputName.send_keys(username + Keys.ENTER)
inputName = browser.find_element_by_name("username")
inputName.send_keys(username + Keys.ENTER)
Ждем у моря погоды:
time.sleep(1)
Выбор элемента xpath и клика по нему:
menuItem = browser.find_element_by_xpath("//a[@data-func='messages.import']")
menuItem.click()
menuItem.click()
Запуск скрипта для сложных случаев:
elDisplay = browser.execute_script("return document.getElementById('elemId').style.display;")
Делаем скриншот:
browser.save_screenshot("1screen-form-fail" + str(time.time()) +".png")
Закрываем браузер:
browser.close()