Suche…


Bemerkungen

Selenium ist eine leistungsstarke Bibliothek mit Befehlen in mehreren Sprachen (C #, Haskell, Java, JavaScript, Objective-C, Perl, PHP, Python, R und Ruby), mit denen Programmierer die Browser-Interaktion automatisieren können. Dies ist sehr nützlich für Entwickler, die Anwendungen testen.

Selen bietet Methoden an:

  • Finden Sie ein Element auf einer Webseite
  • Klicken Sie auf ein Element
  • Senden Sie einen String an ein Element
  • Navigieren Sie zu einer Webseite
  • Wechseln Sie zu einer anderen Registerkarte im selben Browserfenster
  • Machen Sie einen Screenshot einer Webseite

Mit diesen Methoden kann ein Entwickler automatische Tests überprüfen:

  • Wenn sich ein Element auf einer Seite befindet und für einen Benutzer sichtbar ist
  • Ein Such- oder Anmeldeformular
  • Schaltflächen oder interaktive Elemente
  • Überprüfen Sie die Werte oder Attribute eines Elements

Selenium wird in Webtreibern ausgeführt, die einem normalen Webbrowser ähneln, jedoch mit Selenium interagieren können. Bei einem Selenium-Test wird in der Regel eine neue Treiberinstanz des Browsers geöffnet, in dem der Entwickler gerade testet. Dabei handelt es sich immer um eine saubere Tabelle. Auf diese Weise muss sich der Entwickler beim Ausführen eines Selenium-Tests nicht um vorherige Cookies oder einen Browser-Cache kümmern, der die Ergebnisse seiner Anwendung beeinflusst.

Selen funktioniert auch, wenn ein Web-Treiber im Headless-Modus ausgeführt wird.

Versionen

Ausführung Veröffentlichungsdatum
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

Einfacher Selen-Test in Java

Der folgende Code ist ein einfaches Java-Programm, das Selen verwendet. Die Reise des folgenden Codes ist

  1. Öffnen Sie den Firefox-Browser
  2. Google-Seite öffnen
  3. Titel der Google-Seite drucken
  4. Suchen Sie den Ort des Suchfelds
  5. Übergeben Sie den Wert als Selenium im Suchfeld
  6. Senden Sie das Formular
  7. Fahren Sie den Browser herunter
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();
    }
}

Einfacher Selentest in Python

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()

Einrichten von Python-Selen über das Terminal (BASH)

Der einfachste Weg ist die Verwendung von pip und VirtualEnv . Selen erfordert auch Python 3. * .

Installieren Sie Virtualenv mit:

$: pip install virtualenv

Erstellen Sie ein Verzeichnis für Ihre Selenium-Dateien:

$: cd my_selenium_project

Erstellen Sie im Verzeichnis für Ihre Selenium-Dateien ein neues VirtualEnv:

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

Aktivieren Sie das VirtualEnv:

$: source venv/bin/active

Sie sollten jetzt (venv) am Anfang jeder Bash-Zeile sehen. Installieren Sie Selenium mit pip:

$: pip install selenium

Selen wird standardmäßig mit dem FireFox-Treiber geliefert.
Wenn Sie Selenium in Google Chrome ausführen möchten, führen Sie auch Folgendes aus:

$: pip install chromedriver

Sie haben jetzt eine versionsgesteuerte VirtualEnv. Um sicherzustellen, dass alles korrekt eingerichtet ist:

Python starten:

$: python

Druckt aus:

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.

Erstellen Sie einen neuen Web-Treiber (in diesem Fall einen Chrom-Treiber) und gehen Sie zu www.google.com:

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

Schließen Sie den Treiber und den Python-Interpreter:

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

Deaktivieren Sie VirtualEnv:

$: deactivate

Wenn der Zeilentreiber driver = webdriver.Chrome() Fehler driver = webdriver.Chrome() :

  • Stellen Sie sicher, dass Sie auch den Chrome-Browser installiert haben. Wenn Sie dies nicht tun, kann der Selen-Chrom-Treiber nicht auf die Chrome-Binärdatei zugreifen.
  • webdriver.Chrome () kann auch einen Parameter für Ihren Chromedriver-Speicherort übernehmen. Wenn Sie es mit pip installiert haben, versuchen Sie (auf einem Mac) driver = webdriver.Chrome("./venv/selenium/webdriver/chromedriver") .

Einfaches Selen-Beispiel in 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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow