测试自动完成与硒的webdriver [英] Test autocomplete with Selenium webdriver

查看:117
本文介绍了测试自动完成与硒的webdriver的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个文本框,在其中当我输入一个字母,说'S',它显示的结果(如谷歌搜索)的列表。

我使用了Java最新硒的webdriver。

我曾尝试

 的SendKeys(S),JavascriptLibrary jsLib =新JavascriptLibrary();jsLib.callEmbeddedSelenium(驾驶员doFireEvent,driver.findElement(By.id(assetTitle)),的onkeyup);    jsLib.callEmbeddedSelenium(驾驶员doFireEvent,driver.findElement(By.id(assetTitle)),的onblur);    jsLib.callEmbeddedSelenium(驾驶员doFireEvent,driver.findElement(By.id(assetTitle)),的onclick);    jsLib.callEmbeddedSelenium(驾驶员doFireEvent,driver.findElement(By.id(assetTitle)),onmouseup);
driver.findElement(By.id(assetTitle))的SendKeys(Keys.ENTER)。

这些工作都没有,甚至每个步骤后加入等待之后。

有什么建议?

感谢。

更新: -

 驾驶员的webdriver =新FirefoxDriver();
    driver.get(http://www.google.com);
    WebElement查询= 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))点击();

更新2: -

 驾驶员的webdriver =新FirefoxDriver();
    driver.get(http://www.kayak.com/);
    WebElement查询= driver.findElement(By.name(目的地));
    query.sendKeys(S);

更新3: -
       我试着用硒1和fireevent方法通过传递参数作为的keydown。这应该是一个暂时的解决办法现在。

 驾驶员的webdriver =新FirefoxDriver();
    driver.get(http://www.kayak.com/);
    DefaultSelenium SEL =新WebDriverBackedSelenium(驱动程序,http://www.kayak.com/);    sel.type(//输入[@ ID ='目的地'],S);
    sel.fireEvent(//输入[@ ID ='目的地'],的keydown);


解决方案

这应该是现在一个临时的解决方法。

 驾驶员的webdriver =新FirefoxDriver();
    driver.get(http://www.kayak.com/);
    DefaultSelenium SEL =新WebDriverBackedSelenium(驱动程序,http://www.kayak.com/);    sel.type(//输入[@ ID ='目的地'],S);
    sel.fireEvent(//输入[@ ID ='目的地'],的keydown);

I have a text box in which when I type one letter say 's' , it displays a list of results ( like google search) .

I am using latest selenium webdriver with java.

I have tried

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);

None of these work even after adding wait after each of the steps.

Any suggestions?

Thanks.

Update :-

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();

Update 2 : -

WebDriver driver = new FirefoxDriver();
    driver.get("http://www.kayak.com/");
    WebElement query = driver.findElement(By.name("destination"));
    query.sendKeys("s");

Update 3 :- I tried with Selenium 1 and the fireevent method works by passing parameter as 'keydown'. This should be a temporary workaround for now.

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");

解决方案

This should be a temporary workaround for now.

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");

这篇关于测试自动完成与硒的webdriver的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆