selenium webdriver学习 11 – 怎么等待页面元素加载完成

web的自动化测试中,我们经常会遇到这样一种情况:当我们的程序执行时需要页面某个元素,而此时这个元素还未加载完成,这时我们的程序就会报错。怎么办?等待。等待元素出现后再进行对这个元素的操作。 在selenium-webdriver中我们用两种方式进行等待:明确的等待和隐性的等待。 明确的等待 明确的等待是指在 代码进行下一步操作之前等待某一个条件的发生。最不好的情况是使用Thread.sleep()去设置一段确认的时间去等待。但为什么说最不好呢?因为一 个元素的加载时间有长有短,你在设置sleep的时间之前要自己把握长短,太短容易超时,太长浪费时间。selenium webdriver提供了一 […]

selenium webdriver学习 10 – 怎么把一个元素拖放到另一个元素里面

Q群里有时候会有人问,selenium webdriver怎么实现把一个元素拖放到另一个元素里面。这一节总一下元素的拖放。 下面这个页面是一个演示拖放元素的页面,你可以把左右页面中的条目拖放到右边的div框中。 http://koyoz.com/demo/html/drag-drop/drag-drop.html 现在来看看selenium webdriver是怎么实现drag and drop的吧。let‘s go!

selenium webdriver学习 05 – iframe的处理

有时候我们在定位一个页面元素的时候发现一直定位不了,反复检查自己写的定位器没有任 何问题,代码也没有任何问题。这时你就要看一下这个页面元素是否在一个iframe中,这可能就是找不到的原因之一。如果你在一个default content中查找一个在iframe中的元素,那肯定是找不到的。反之你在一个iframe中查找另一个iframe元素或default content中的元素,那必然也定位不到。 selenium webdriver中提供了进入一个iframe的方法: WebDriver org.openqa.selenium.WebDriver.TargetLocator.frame(Str […]

免费DDoS攻击测试工具大合集

DoS(Denial Of Service)攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃(关于DDoS更多认识请点击这里)。然而随着网络上免费的可用DDoS工具增多,DoS攻击也日益增长,下面介绍几款Hacker常用的DoS攻击工具。 特别提示:仅用于攻防演练及教学测试用途,禁止非法使用。 1、卢瓦(LOIC) (Low Orbit Ion Canon) LOTC是一个最受欢迎的DOS攻击工具。 这个工具被去年流行的黑客集团匿名者用于对许多大公司的网络攻击。 它可以通过 […]

SSDP:DDoS攻击的“新宠”

新的研究表明由于越来越多的攻击者将简单服务发现协议(Simple Service Discovery Protocol, SSDP)作为目标进行攻击,上个季度DDoS攻击的平均规模持续增长,可预计将会有更多的企业遭到DDoS攻击。 DDoS攻击防护服务提供商Verisign公司总部位于弗吉尼亚州的雷斯顿,其第三季度分布式拒绝服务趋势报告(Distributed Denial of Service Trends Report)收集了其提供抵御DDoS攻击的企业客户的数据。Verisign公司发现从第二季度到第三季度,DDoS攻击带宽超过10Gbps情况增长了38%,而且仅仅占Verisign攻击 […]

TCP协议要点和难点全解

1.网络协议设计 ISO提出了OSI分层网络模型,这种分层模型是理论上的,TCP/IP最终实现了一个分层的协议模型,每一个层次对应一组网络协议完成一组特定的功能,该组网络协议被其下的层次复用和解复用。这就是分层模型的本质,最终所有的逻辑被编码到线缆或者电磁波。

WebDriver拾级而上(18) – 设置元素焦点

做自动化过程中,有时需要给某个元素设置焦点,在selenium1.0中提供了给元素设置焦点的方法。但是在2.0中并没有该办法。如果是输入框我们可以使用click方法,来设置焦点,但是对于link连接或者button如果通过click方法势必会跳转到另外页面或者提交了页面请求。通过尝试发现,如果在元素上进行右击,也可以设置焦点,但是会弹出一个菜单,这时我们可以通过按下键盘的esc键来取消右击弹出的菜单,这样焦点就可以设置成功了。下面我通过键盘和鼠标事件组合来实现该功能。代码如下:

WebDriver拾级而上(06) – 获得弹出窗口

捕获或者说定位弹出窗口的关键在于获得弹出窗口的句柄。 在代码里,使用getWindowHandle方法来获取当前浏览器窗口的句柄,使用了getWindowHandles方法获取所有弹出的浏览器窗口的句柄,然后通过排除当前句柄的方法来得到新开窗口的句柄。 在获取新弹出窗口的句柄后,使用switchto.window(newwindow_handle)方法,将新窗口的句柄作为参数传入既可捕获到新窗口了。 如果想回到以前的窗口定位元素,那么再调用1次switchto.window方法,传入之前窗口的句柄既可达到目的。

WebDriver拾级而上(05) – iframe的处理

有时候我们在定位一个页面元素的时候发现一直定位不了,反复检查自己写的定位器没有任何问题,代码也没有任何问题。这时你就要看一下这个页面元素是否在一个iframe中,这可能就是找不到的原因之一。 如果你在一个default content中查找一个在iframe中的元素,那肯定是找不到的。反之你在一个iframe中查找另一个iframe元素或default content中的元素,那必然也定位不到。