inn_xwang 发表于 2011-5-30 11:58:27

Selenium测试动态输入框的问题

功能描述:
鼠标单击标题处, 标题处出现输入框, 编辑后在输入框外单击, 新的标题就保存了

我的方法(Java):
1. 调用browser.type(locater, text)
2. browser.fireEvent(locater, "blur") //使输入框失去焦点
3. browser.fireEvent(locater, "change") //输入框的内容发生了变化
4. browser.type(another_locater, text) //辅助作用 -- 单击页面上另一个输入框, 使测试的输入框退出编辑

问题:
手动操作时, 当单击页面任何其他地方, 测试输入框会退出编辑, 处于隐藏状态. 这就是第四步采用单击页面上另一个输入框的原因
可是用以上Selenium脚本自动测试时, 当在另一输入框编辑时, 之前的输入框并没有退出编辑(也就是隐藏), 可是这在现实情况下是不可能的
这是为什么? 有什么方法可以使编辑输入框退出编辑呢?

robin.von 发表于 2011-5-30 13:11:24

找一下开发人员,看看输入框是响应哪个事件而隐藏的.确认哪一个事件后,在你的CODE中触发这个事件就可以了.

wugecat 发表于 2011-5-30 15:56:43

3,4步中间加个browser.click(another_locater)或者browser.mouseDown(another_locater)试试

inn_xwang 发表于 2011-5-30 17:57:56

已经解决了
browser.type(locater, text);
browser.keyDown(locater, "\\13"); //用回车键, 比在页面上单击任意位置稳定

xinghui6666 发表于 2011-12-29 10:51:27

回复 3# wugecat
我遇到了同样的问题,求您给解答一下,就是带默认值的输入框,当得到焦点输入框变空的那种,使用type()方法什么也输不进去,请问怎么办,你的办法我也试过了,加click()方法也没有效果,你能给解答一下吗?谢啦!

wugecat 发表于 2011-12-29 13:02:00

回复 5# xinghui6666
尝试用selenium.typeKeys方法试试
或者用selenium集成的webdriver   中的sendKeys方法,模拟键盘输入
页: [1]
查看完整版本: Selenium测试动态输入框的问题