繁体   English   中英

Google将自动完成功能与Selenium IDE测试放在一起

[英]Google places autocomplete with Selenium IDE test

我正在尝试在Selenium IDE(来自Firefox插件)中进行自动完成位置测试(从谷歌地方给出)。 我需要输入输入地名并获取第一个位置。

地点序列“Rzeszów,Polska”:i.stack.imgur.com/gqRMd.png

首先我尝试了mouseOver和Click动作 - 元素存在,但没有点击自动完成。 接下来我尝试了另外两个序列(使用clickAt和KeyDown),但也没有点击,尽管Selenium可以找到正确的定位器。 i.stack.imgur.com/F13q7.png

我正在尝试我的jQuery自动完成解决方案 - > jqueryui.com/autocomplete/它在那里工作得很好。

我认为,问题与html结构有关,用粗体名称命名:i.stack.imgur.com/BfLyE.png

你可以测试一下:jsfiddle.net/dodger/pbbhH/

我在Selenium IDE中的序列(如上所示)对谷歌地方不起作用,任何人都可以通过自动完成解决这个问题吗?

//主持人:请添加照片并创建指向我帖子的链接并删除此行。 谢谢。

要强制显示场所自动完成列表,我必须将单个keydown和keyup事件发送到输入字段。 像这样:

    selenium.focus(LOCATOR);
    selenium.type(LOCATOR, ""); // clear the field
    for (int i=0; i<value.length(); i++) {
        String c = String.valueOf(value.charAt(i));
        selenium.keyDown(LOCATOR, c.toUpperCase());
        selenium.keyPress(LOCATOR, c);
        selenium.keyUp(LOCATOR, c.toUpperCase());
    }

最后,要选择列表的一个条目,我已经通过模拟键盘事件来工作(因为我也没有运气鼠标事件)。

  1. 带箭头键的keyDown: selenium.keyDown(LOCATOR, "\(");
  2. 输入字段上的模糊(我认为可选): selenium.fireEvent(LOCATOR, "blur");

LOCATOR是输入字段的定位器。 \(为向下的箭头(十六进制28或癸40)的关键码

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM