Mam pole tekstowe, w którym po wpisaniu jednej litery powiedz "s", wyświetlana jest lista wyników (np. Wyszukiwarka google).Autouzupełnianie testu za pomocą Selenium webdriver
Używam najnowszej wersji webbooka selenu z Javą.
Próbowałem
sendKeys("s"),
JavascriptLibrary jsLib = new JavascriptLibrary();
jsLib.callEmbeddedSelenium(driver, "doFireEvent", driver.findElement(By.id("assetTitle")), "onkeyup");
jsLib.callEmbeddedSelenium(driver, "doFireEvent", driver.findElement(By.id("assetTitle")), "onblur");
jsLib.callEmbeddedSelenium(driver, "doFireEvent", driver.findElement(By.id("assetTitle")), "onclick");
jsLib.callEmbeddedSelenium(driver, "doFireEvent", driver.findElement(By.id("assetTitle")), "onmouseup");
driver.findElement(By.id("assetTitle")).sendKeys(Keys.ENTER);
żadna z tych prac, nawet po dodaniu czekać po każdym z etapów.
Wszelkie sugestie?
Dzięki.
Aktualizacja: -
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
WebElement query = driver.findElement(By.name("q"));
query.sendKeys("s");
driver.findElement(By.xpath("//table[@class='gssb_m']/tbody/tr/td/div/table/tbody/tr/td/span")).click();
driver.findElement(By.name("btnG")).click();
Aktualizacja 2: -
WebDriver driver = new FirefoxDriver();
driver.get("http://www.kayak.com/");
WebElement query = driver.findElement(By.name("destination"));
query.sendKeys("s");
Aktualizacja 3: - Próbowałem z Selen 1 i sposobie fireevent działa przekazując parametr jako 'keyDown'. To powinno być tymczasowe obejście na teraz.
WebDriver driver = new FirefoxDriver();
driver.get("http://www.kayak.com/");
DefaultSelenium sel = new WebDriverBackedSelenium(driver,"http://www.kayak.com/");
sel.type("//input[@id='destination']", "s");
sel.fireEvent("//input[@id='destination']", "keydown");
Czy możesz zaktualizować pytanie za pomocą przykładowego kodu, który działa z polem wyszukiwania Google? – djangofan
Dodałem przykładowy kod wyszukiwania google. Chociaż ostatni krok nie jest wymagany, ponieważ Google automatycznie wyświetla wyniki wyszukiwania. Ale jeśli spróbujesz na kayak.com, ten sam kod nie zadziała w wyszukiwaniu portów lotniczych. – user1198308
Dodano próbkę kajaka. Wysyłając klucz "s", powinniśmy zobaczyć lotniska zaczynające się na literę S. – user1198308