Поиск…


замечания

Selenium - мощная библиотека команд на нескольких языках (C #, Haskell, Java, JavaScript, Objective-C, Perl, PHP, Python, R и Ruby), которые позволяют программисту автоматизировать взаимодействие браузера. Это невероятно полезно для разработчиков, тестирующих приложения.

Selenium предлагает методы для:

  • Найти элемент на веб-странице
  • Нажмите на элемент
  • Отправить строку для элемента
  • Перейдите на веб-страницу
  • Переход на другую вкладку в том же окне браузера
  • Сделайте снимок экрана веб-страницы

Используя эти методы, разработчик может проводить автоматическую проверку тестов:

  • Если элемент находится на странице и видим пользователю
  • Форма поиска или входа
  • Кнопки или интерактивные элементы
  • Проверьте значения или атрибуты элемента

Selenium работает в webdrivers, которые похожи на обычный веб-браузер, но позволяют Selenium взаимодействовать с ними. Тест Selenium обычно открывает новый экземпляр драйвера любого браузера, в котором тестирует разработчик, который всегда является чистым списком. Таким образом, при запуске теста Selenium разработчику не нужно беспокоиться о предыдущих файлах cookie или кеше браузера, влияющем на результаты их применения.

Selenium также работает при запуске webdriver в режиме без звука.

Версии

Версия Дата выхода
3.4.0 2017-04-11
3,3 2017-04-07
3,2 2017-02-27
3,1 2017-02-13
3.0.1 2016-11-19
3.0 2016-10-11

Простой тест Selenium в Java

Ниже код - простая java-программа, использующая селен. Путешествие по приведенному ниже коду

  1. Открыть браузер Firefox
  2. Открыть страницу google
  3. Распечатать название страницы Google
  4. Найти местоположение окна поиска
  5. Передайте значение как селен в поле поиска
  6. Отправить форму
  7. Выключение браузера
package org.openqa.selenium.example;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.util.concurrent.TimeUnit;

public class Selenium2Example  {
    public static void main(String[] args) {
        // Create a new instance of the Firefox driver
        WebDriver driver = new FirefoxDriver();

        // An implicit wait is to tell WebDriver to poll the DOM for a certain amount of time 
        // when trying to find an element or elements if they are not immediately available. 
        // The default setting is 0. Once set, the implicit wait is set for the life of the WebDriver object instance.   
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        // Maximize the browser window to fit into screen
        driver.manage().window().maximize();
        
        // Visit Google
        driver.get("http://www.google.com");

        // Check the title of the page
        System.out.println("Page title is: " + driver.getTitle());

        // Find the text input element by its name
        WebElement element = driver.findElement(By.name("q"));

        // Enter something to search for
        element.sendKeys("Selenium!");

        // Now submit the form. WebDriver will find the form for us from the element
        element.submit();

        //Close the browser
        driver.quit();
    }
}

Простой тест селена в питоне

from selenium import webdriver

# Create a new chromedriver
driver = webdriver.Chrome()

# Go to www.google.com
driver.get("https://www.google.com")

# Get the webelement of the text input box
search_box = driver.find_element_by_name("q")

# Send the string "Selenium!" to the input box
seach_box.send_keys("Selenium!")

# Submit the input, which starts a search
search_box.submit()

# Wait to see the results of the search
time.sleep(5)

# Close the driver
driver.quit()

Настройка python Selenium через терминал (BASH)

Самый простой способ - использовать pip и VirtualEnv . Селен также требует python 3. * .

Установите virtualenv, используя:

$: pip install virtualenv

Создайте / введите каталог для файлов Selenium:

$: cd my_selenium_project

Создайте новый VirtualEnv в каталоге для ваших файлов Selenium:

$: virtualenv -p /usr/bin/python3.0 venv

Активируйте VirtualEnv:

$: source venv/bin/active

Теперь вы должны увидеть (venv) в начале каждой строки bash. Установите Selenium, используя pip:

$: pip install selenium

По умолчанию Selenium поставляется с драйвером FireFox.
Если вы хотите запустить Selenium в google chrome, также выполните следующие действия:

$: pip install chromedriver

Теперь у вас есть версия VirtualEnv с контролируемой версией. Чтобы убедиться, что все настроено правильно:

Запустить python:

$: python

Распечатывает:

Python 2.7.10 (default, Jul 14 2015, 19:46:27) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Создайте новый webdriver (в данном случае хромированный указатель) и перейдите на сайт www.google.com:

>>> from selenium import webdriver
>>> driver = webdriver.Chrome()
>>> driver.get("https://www.google.com")

Закройте драйвер и интерпретатор python:

>>> driver.quit()
>>> quit()

Деактивируйте VirtualEnv:

$: deactivate

Если driver = webdriver.Chrome() строки driver = webdriver.Chrome() вызывает ошибки:

  • Убедитесь, что у вас установлен Chrome-браузер. Если вы этого не сделаете, хронограф Selenium не сможет получить доступ к двоичному файлу Chrome.
  • webdriver.Chrome () также может принимать параметр для вашего местоположения хромированной решетки. Если вы установили его с помощью pip, попробуйте (на mac) driver = webdriver.Chrome("./venv/selenium/webdriver/chromedriver") .

Простой пример селена в C #

//Create a new ChromeDriver
IWebDriver driver = new ChromeDriver();

//Navigate to www.google.com
driver.Navigate().GoToUrl("https://www.google.com");

//Find the WebElement of the search bar
IWebElement element = driver.FindElement(By.Name("q"));

//Type Hello World into search bar
element.SendKeys("Hello World");

//Submit the input
element.Submit();

//Close the browser
driver.Quit();


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow