selenium-webdriver
Działania (emulowanie złożonych gestów użytkownika)
Szukaj…
Wprowadzenie
Actions
pozwala nam dokładnie emulować sposób interakcji użytkownika ze stroną internetową / elementami. Za pomocą instancji tej klasy możesz opisać serię akcji, takich jak klikanie, dwukrotne klikanie, przeciąganie, naciskanie klawiszy itp. Po opisaniu tych akcji, aby je wykonać, musisz zadzwonić, musisz je zbudować ( .Build()
), a następnie polecić ich wykonanie ( .Perform()
). Musimy więc opisać, zbudować, wykonać. Poniższe przykłady zostaną rozwinięte.
Składnia
- dragAndDrop (źródło WebElement, cel WebElement)
- dragAndDropBy (źródło WebElement, int xOffset, int yOffset)
- wykonać()
Parametry
Parametry | Detale |
---|---|
źródło | Element do emulacji przycisku o. |
cel | Element, do którego należy przejść i zwolnić mysz. |
xOffset | x współrzędna do przejścia. |
yOffset | Współrzędna y, aby przejść do. |
Uwagi
Ta sekcja zawiera informacje o klasie Actions Selenium WebDriver. Klasa Actions zapewnia wygodne metody wykonywania złożonych gestów użytkownika, takich jak przeciąganie i upuszczanie, przytrzymywanie i klikanie itp.
Przeciągnij i upuść
DO#
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Interactions;
namespace WebDriverActions
{
class WebDriverTest
{
static void Main()
{
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("");
IWebElement source = driver.FindElement(By.CssSelector(""));
IWebElement target = driver.FindElement(By.CssSelector(""));
Actions action = new Actions(driver);
action.DragAndDrop(source, target).Perform();
}
}
}
Powyższy znajdzie IWebElement
, source
i przeciągnij go i upuść go do drugiego IWebElement
, target
.
Jawa
Przeciągnij i upuść, używając źródła i celu.
Metoda wygody polegająca na kliknięciu i przytrzymaniu w miejscu elementu źródłowego przenosi się do lokalizacji elementu docelowego, a następnie zwalnia mysz.
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
/**
* Drag and Drop test using source and target webelement
*/
public class DragAndDropClass {
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.get("");
WebElement source = driver.findElement(By.cssSelector(""));
WebElement target = driver.findElement(By.cssSelector(""));
Actions action = new Actions(driver);
action.build();
action.dragAndDrop(source, target).perform();
}
}
Przeciągnij element i upuść go pod danym przesunięciem.
Metoda wygody, która wykonuje kliknięcie i przytrzymanie w miejscu elementu źródłowego, przesuwa się o zadane przesunięcie (xiy, obie liczby całkowite), a następnie uwalnia mysz.
WebElement source = driver.findElement(By.cssSelector(""));
Actions action = new Actions(driver);
action.build()
action.dragAndDropBy(source, x, y).perform(); // x and y are integers value
Przejdź do elementu
DO#
Załóżmy, że chcesz sprawdzić, czy po najechaniu wskaźnikiem na element wyświetlana jest lista rozwijana. Możesz sprawdzić zawartość tej listy lub wybrać opcję z listy.
Najpierw utwórz akcję, aby najechać wskaźnikiem na element (np. Mój element ma tekst linku „Administrator”) :
Actions mouseHover = new Actions(driver);
mouseHover.MoveToElement(driver.FindElement(By.LinkText("Admin"))).Perform();
W powyższym przykładzie:
- Utworzyłeś akcję
mouseHover
- Kazałeś
driver
przejść do określonego elementu - Stąd możesz wykonywać inne
Actions
za pomocą obiektumouseHover
lub kontynuować testowanie z obiektemdriver
Takie podejście jest szczególnie użyteczne, gdy kliknięcie elementu wykonuje inną funkcję niż najechanie na niego wskaźnikiem.
Pełny przykład:
Actions mouseHover = new Actions(driver);
mouseHover.MoveToElement(driver.FindElement(By.LinkText("Admin"))).Perform();
Assert.IsTrue(driver.FindElement(By.LinkText("Edit Record")).Displayed);
Assert.IsTrue(driver.FindElement(By.LinkText("Delete Record")).Displayed);