Tengo una pregunta semi-vaga sobre Selenio. Descubrí algunas formas diferentes de realizar acciones usando FirefoxDriver. Lo que tengo que hacer es repetir las acciones que realiza un usuario en una página web (hacer clic en un enlace, marcar una casilla de verificación, etc.). ¿Hay algún método o combinación de métodos que me permita "registrar" las acciones del usuario? Aquí es lo que tengo hasta ahora para realizar acciones (se dará cuenta de que he intentado utilizar las clases WebDriverBackedSelenium y acciones a realizar acciones)Acciones de registro usando 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]");
}
}
¿Sabe cómo el IDE El selenio es capaz de registrar las acciones del usuario? Esa es la funcionalidad que busco implementar por mi cuenta, pero no conozco ningún método que me ayude a hacerlo. – user1294114
No sé cómo lo hace Selenium IDE. Pero creo que atrapan eventos de cambio en el DOM de la página que estás viendo. No sé cuánto están integrados a la GUI del navegador, pero eso también podría estar pasando. La mayoría de eso se puede encontrar también en el servidor, pero averiguar si se marcó una casilla de verificación sin enviar la página al servidor solo puede ocurrir en el cliente (o tendrá que hacer llamadas ajax para todo) –