Mam pół-niewyraźne pytanie, które należy zadać o Selenie. Odkryłem kilka różnych sposobów wykonywania akcji za pomocą FirefoxDriver. Muszę powtórzyć czynności wykonywane przez użytkownika na stronie internetowej (kliknięcie łącza, zaznaczenie pola wyboru itp.). Czy istnieje metoda lub kombinacja metod, która pozwala mi "rejestrować" działania użytkownika? Oto co mam tak daleko do wykonywania czynności (zauważysz Próbowałem przy użyciu klas WebDriverBackedSelenium i działań w celu wykonywania czynności)Akcje rekordów przy użyciu Selenium
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.interactions.Action;
public class MyReplayer {
public static void main(String[] args) throws Exception {
// The Firefox driver supports javascript
FirefoxDriver driver = new FirefoxDriver();
driver.get("http://www.cs.umd.edu");
List<WebElement> elements = driver.findElements(By.tagName("a"));
//WebDriverBackedSelenium driverBacked = new WebDriverBackedSelenium(driver, "http://www.cs.umd.edu");
Actions builder = new Actions(driver);
Action clickLink = builder.click(elements.get(100)).build();
clickLink.perform();
//driverBacked.click("document.getElementsByTagName('a')[100]");
}
}
Czy wiesz jak selen IDE jest w stanie nagrać działanie użytkownika? Jest to funkcjonalność, którą zamierzam wdrożyć, ale nie znam żadnych metod, które mogłyby mi w tym pomóc. – user1294114
Nie wiem, jak działa IDE Selenium. Ale myślę, że przechwytują zdarzenia zmian w DOM strony, którą przeglądasz. Nie wiem, ile są one zintegrowane z GUI przeglądarki, ale to też może się zdarzyć. Większość tego można znaleźć również po stronie serwera, ale sprawdzanie, czy pole wyboru zostało zaznaczone, bez wysyłania strony na serwer, może się zdarzyć tylko na kliencie (lub będziesz musiał wywoływać wywołania ajaxowe) –