Sök…


Anmärkningar

Selenium är ett kraftfullt bibliotek med kommandon på flera språk (C #, Haskell, Java, JavaScript, Objekt-C, Perl, PHP, Python, R och Ruby) som tillåter en programmerare att automatisera webbläsarinteraktion. Detta är oerhört användbart för utvecklare som testar applikationer.

Selenium erbjuder metoder för att:

  • Hitta ett element på en webbsida
  • Klicka på ett element
  • Skicka en sträng till ett element
  • Navigera till en webbsida
  • Byt till en annan flik i samma webbläsarfönster
  • Ta en skärmdump av en webbsida

Med hjälp av dessa metoder kan en utvecklare ha automatiska testkontroll:

  • Om ett element finns på en sida och är synligt för en användare
  • En sök- eller inloggningsformulär
  • Knappar eller interaktiva element
  • Kontrollera värdena eller attributen för ett element

Selenium körs i webbdrivare, som liknar en vanlig webbläsare men tillåter Selenium att interagera med dem. Ett Selenium-test öppnar vanligtvis en ny drivrutinsinstans av vilken webbläsare utvecklaren testar, vilket alltid är en ren skiffer. På det här sättet, när en Selenium-test körs, behöver utvecklaren inte oroa sig för tidigare cookies eller en webbläsarcache som påverkar resultaten av deras applikation.

Selen fungerar också när du kör en webbdrivare i huvudlös läge.

versioner

Version Utgivningsdatum
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

Enkelt Selenium-test i Java

Nedanstående kod är ett enkelt java-program med selen. Resan med koden nedan är

  1. Öppna Firefox-webbläsaren
  2. Öppna google-sidan
  3. Skriv ut titeln på Googles sida
  4. Hitta sökrutans plats
  5. Ge värdet som selen i sökrutan
  6. Skicka in formuläret
  7. Stäng av webbläsaren
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();
    }
}

Enkelt selenstest i 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()

Ställa in python Selenium via terminal (BASH)

Det enklaste sättet är att använda pip och VirtualEnv . Selen kräver också python 3. * .

Installera virtualenv med:

$: pip install virtualenv

Skapa / ange en katalog för dina Selenium-filer:

$: cd my_selenium_project

Skapa en ny VirtualEnv i katalogen för dina Selenium-filer:

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

Aktivera VirtualEnv:

$: source venv/bin/active

Du bör se nu se (venv) i början av varje baslinje. Installera Selenium med pip:

$: pip install selenium

Selenium levereras som standard med FireFox-drivrutinen.
Om du vill köra Selenium i google chrome, gör också detta:

$: pip install chromedriver

Du har nu en versionskontrollerad VirtualEnv. För att se till att allt är korrekt konfigurerat:

Starta python:

$: python

Skriver ut:

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.

Skapa en ny webbdrivare (i det här fallet en kromförare) och gå till www.google.com:

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

Stäng drivrutinen och pytontolkaren:

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

Deaktivera VirtualEnv:

$: deactivate

Om driver = webdriver.Chrome() kastar fel:

  • Se till att även Chrome-webbläsaren är installerad. Om du inte gör det, kan inte selenkromdrivaren komma åt Chrome-binäret.
  • webdriver.Chrome () kan också ta en parameter för din chromedriver-plats. Om du installerade det med pip, prova (på mac) driver = webdriver.Chrome("./venv/selenium/webdriver/chromedriver") .

Enkelt selenexempel i 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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow