使用js实现可反馈执行成功状态的web ui自动化事件

上一篇 / 下一篇  2014-04-24 20:26:50 / 个人分类:aui

webdriver提供的动作执行,如点击,有时会操作某些控件时,执行语句正常,但实际没有触发点击,原因很多,一般处理方式是使用它的execute_script方法注入js来执行(强化功能的一种方式), 但同样会存在这种情况,无法知道执行是否真的有效。

基于js中增加一个反馈机制,可以做到对执行效果有一定程序的控制,以click为例

return(function($,elem){
 $(elem).one("click",function(){window._action_confirm=true; });
 try{
var evt = document.createEvent( 'MouseEvents' );
                     evt.initEvent('click', true, true);
elem.dispatchEvent(evt);
}catch(e){
elem.click();
}
var start_time = new Date().getTime();
                 while(true){
                     if(window._action_confirm){
                        return elem;
                     }
                     if((new Date().getTime())-start_time > 1500){
                         return null;
                     }
                 }
})(jQuery,elem)

执行的结果如果返回null,则表示js的click执行失败(可以再次尝试框架动作的执行),否则表示执行成功

TAG:

51Testing小编的个人空间 引用 删除 zaza9084   /   2014-04-28 10:20:36
您好,我是51Testing软件测试网的编辑,您的本篇博文近日将被推荐至51Testing软件测试网首页发表~
感谢您关注并支持51Testing博客,期待您更多的优秀原创博文。
 

评分:0

我来说两句

Open Toolbar