Webdriver-PageObject模式之PageFactory 测试组 Tomi
2012-11-10 11:51
357 查看
在Div嵌套Div时,如果在最顶层DIV写了一个OnMouseOut事件,那么在普通情况下当你移到内层DIV上的时候就会触发到这个事件,但是这往往不是我们想要看到的,这种情况时有以下两种解决方案。
方案一(推荐)
利用Jquery解决
在Jquery中可以直接为要加事件的方法加入到对象中,比如$("#areaSelect").bind("mouseleave",hideAreaSelectForDiv);,在这种情况下Jquery会根据不同的浏览器来用合适的方法处理,减少了很多工作量,不用再去判断,这样写了后只有顶层DIV移出的时候才会触发OnMouseOut事件了。
方案二 (只有IE能用)
直接把对象上的OnMouseOut改成OnMouseLeave这样也会解决
备忘情况
在DIV嵌套DIV时,两个DIV都有自己的ONCLICK方法,普遍情况下,当点击里层ONCLICK方法也外层的ONCLICK方法也会被触发,这时需要判断“事件冒泡”代码如下,加入后就不会再触发到外层的ONCLICK方法
方案一(推荐)
利用Jquery解决
在Jquery中可以直接为要加事件的方法加入到对象中,比如$("#areaSelect").bind("mouseleave",hideAreaSelectForDiv);,在这种情况下Jquery会根据不同的浏览器来用合适的方法处理,减少了很多工作量,不用再去判断,这样写了后只有顶层DIV移出的时候才会触发OnMouseOut事件了。
方案二 (只有IE能用)
直接把对象上的OnMouseOut改成OnMouseLeave这样也会解决
备忘情况
在DIV嵌套DIV时,两个DIV都有自己的ONCLICK方法,普遍情况下,当点击里层ONCLICK方法也外层的ONCLICK方法也会被触发,这时需要判断“事件冒泡”代码如下,加入后就不会再触发到外层的ONCLICK方法
//阻止事件冒泡函数 function stopBubble(e) { if (e && e.stopPropagation) e.stopPropagation() else window.event.cancelBubble=true }
相关文章推荐
- Cucumber java + Webdriver (4) 使用自动化测试的Page对象模式
- Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python)
- Selenium+Python :WebDriver设计模式( Page Object )
- Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python)
- Selenium-webdriver 页面模式在实际项目中的实际运用,大量Page页面如何初始化?
- Webdriver的设计模式:Page Object(页面模型)
- Webdriver中PageFactory的正确用法
- webdriver里的PageFactory.InitElements()
- Android WebDriver 浏览器自动测试工具介绍
- Ruby selenium-webdriver 测试笔记(一)
- Selenium WebDriver 之 PageObjects 模式 by Example
- 配置Selenium支持RC和Webdriver的混合模式
- webdriver定位页面元素时使用set_page_load_time()和JavaScript停止页面加载
- Page Scroll using Selenium WebDriver
- 执行 Selenium WebDriver 测试脚本抛出 StaleElementReferenceException
- Selenium Webdriver 自动化测试环境搭建、入门
- (已测试)在本地处理模式下将业务对象数据源与 ReportViewer Web 服务器控件一起使用
- Web Client Software Factory系列(3):View-Presenter模式
- IE WebDriver 因保护模式无法启动的解决 (转载)
- 百度搜索_Selenium WebDriver 环境搭建和错误调试_chromedriver_win32必须下载否则无法测试chrome