第一种
ajax对于输入框一般都是首先要求焦点必须在输入框,输入后,监听焦点移除,所以你先使用
1、selenium.focus
2、输入,
3、最后移除,可以移到其他输入框。
第二种
selenium.type(slocator, sText);
selenium.fireEvent(slocator, "blur");
第三种
selenium.setCursorPosition("name=filterLogtypeText", "-1");
selenium.type("name=filterLogtypeText","Eric Automatic Test");
selenium.keyUp("name=filterLogtypeText", "t");
如何等待ajax运行返回:
这时我们就需要使用Selenium的WaitForCondition方法,这个方法会不停的去判断一个javascript表达式是否是true. 知道返回true时才继续执行。
经过研究发现当没有ajax调用时,Jquery.active=0.所以,我们可以使用这个万能的表达式判断Ajax是否返回。
下面是一些网页判断返回的参数:
下面我收集了判断其它类库的Ajax活动状态
jQuery: “jQuery.active”
Prototype: “Ajax.activeRequestCount”
Dojo: “dojo.io.XMLHTTPTransport.inFlight.length”
ASP.NET AJAX:
Javascript:
function isInAsyncPostBack() {
instance = Sys.WebForms.PageRequestManager.getInstance();
return instance.get_isInAsyncPostBack();
}
C#
selenium.WaitForCondition(“!selenium.browserbot.getCurrentWindow().isInAsyncPostBack()”, “1000″);