当我们在页面上进行selenium.type()或者selenium.click()操作的时候,往往需要需要等待一个元素的出现,对于一般的网页,当我们进入一个新页面的时候,往往会使用selenium.waitForPageToLoad(WAITTIME);对弹出窗口中的元素,往往写死要等待多少秒,其实可以使用如下更加通用高效的方法,自己写一个waitForElement()的方法:
protected void waitForElement(String target) {
for (int second = 0;; second++) {
if (second >= 60) {
LOGGER.debug("Element:" + target
+ " can't be found after 60 seconds");
fail("find element timeout: " + target);
}
try {
if (selenium.isElementPresent(target))
break;
} catch (Exception e) {
LOGGER.debug("Element:" + target
+ " can't be found in 60 seconds");
assert (false);
}
pause(1000);
}
}
这段代码的功能是让我们最多等待某个元素60秒,直至它出现,否则就让test case失败,当我们要click或者type某个元素的时候,就先调用这个方法,下面是经过改进的click方法
protected void click(String locator) {
waitForElement(locator);
selenium.click(locator);
}
从此,我们可以不管页面倒是是不是ajax实现,只要调用这样的click()方法,程序中就不需要出现Thread.sleep(10000)这样的代码了.
分享到:
相关推荐
今天小编就为大家分享一篇selenium高效应对Web页面元素刷新的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
Web-Selenium_页面和元素封装
在Selenium WebDriver中使用By.Xpath快速定位页面元素,实现多属性定位一个元素。
使用winform管理自动化过程中的页面元素,含建库语句(Sql server),需要在config里面配置数据库连接字符串
web自动化测试框架及实践,应用python+selenium+pytest集成了web页面的功能巡检、写测试报告以及邮件发送测试结果等功能。
常见UIweb操作,用于selenium自动化,整理比较齐全,挺好用的
selenium之元素定位,共八种定位方法,以百度搜索框为例子进行讲解
最新 python-3.7.0b3-amd64+chromedriver_win32 python -m pip install selenium http://www.selenium.org.cn/1203.html
Selenium八种定位元素
基于Selenium的web页面自动化测试.pdf
在日常的网页源码中,我们基于元素的id去定位是最万无一失的,id在单个页面中是不会重复的。但是实际工作中,很多前端开发人员并未给每个元素都编写id属性。通常一段html代码如下: ...
selenium WEB 测试工具,开源工具。 主要是做保存,可以在公司下载。
基于Selenium的web自动化测试
Python测试驱动开发:使用Django、Selenium和JavaScript进行Web编程
Web元素只需要在Chrome中复制xPath即可,定位非常高效。 工具安全无木马,目的只为自动化测试交流和研究。个人觉得还可以啊,有兴趣的同学可以体验一下,如果觉得还行,就帮忙顶一下吧。使用遇到问题,可以在网站...
内含java支持包和服务包 如何使用,还是自己看文档吧 selenium
上一篇博客selenium+python自动化测试(二)–使用webdriver操作浏览器讲解了使用webdriver操作浏览器的各种方法,可以实现对浏览器进行操作了,接下来就是对浏览器页面中的元素进行操作,操作页面元素,首先要找到...
但真正把Selenium用好,编程语言和单元测试框架是很重要的知识。本课程就是基于这样的背景,结合Selenium3.0以及Python3.3语言进行系统讲解,让同学们能够掌握最新测试技术。 本系课程,主要分为四部分完成: 第一...
Web测试:Selenium使用 Web测试:Selenium使用 Web测试:Selenium使用