互联网之子 – Aaron Swartz
1986年11月8日,有个叫Aaron Swartz的人在美国芝加哥伊利诺伊州出生。因为他父母创办了一个软件公司,所以,Aaron在3岁的时候就接触到了电脑,然后就着迷了。 我们先通过Aaron Swartz 的青少年时期来看一下他是怎么样的一个天才:
1986年11月8日,有个叫Aaron Swartz的人在美国芝加哥伊利诺伊州出生。因为他父母创办了一个软件公司,所以,Aaron在3岁的时候就接触到了电脑,然后就着迷了。 我们先通过Aaron Swartz 的青少年时期来看一下他是怎么样的一个天才:
最近,我和Leon都关注到了有一类服务正在快速崛起,那就是“新物流”服务,其最常见的应用就是快速配送服务。崛起表现在哪?不仅国内外此类服务的数量开始迅速上升,而且在A、B轮所融到的资金额度也大幅提高。虽然不及互联网金融、互联网教育的投资热度来的疯狂,但作为一种物流服务、作为 O2O 服务中的一个垂直环节,动辄几千万美金的融资额已经不容小觑。它会是市场的下一个爆发点。
做自动化过程中,有时需要给某个元素设置焦点,在selenium1.0中提供了给元素设置焦点的方法。但是在2.0中并没有该办法。如果是输入框我们可以使用click方法,来设置焦点,但是对于link连接或者button如果通过click方法势必会跳转到另外页面或者提交了页面请求。通过尝试发现,如果在元素上进行右击,也可以设置焦点,但是会弹出一个菜单,这时我们可以通过按下键盘的esc键来取消右击弹出的菜单,这样焦点就可以设置成功了。下面我通过键盘和鼠标事件组合来实现该功能。代码如下:
1.操作action: 模拟用户与 Web 应用程序的交互。一般用于操作应用程序的状态。 如点击链接,选择选项的方式进行工作。如果一个动作执行失败,或是有错误,当前的测试将会停止执行。
对于Table控件selenium webdriver里没有方法能处理,所以要自己封装一个方法
如何把一个元素拖放到另一个元素里面 下面这个页面是一个演示拖放元素的页面,你可以把左右页面中的条目拖放到右边的div框中。
当本机上没有浏览器,需要远程调用浏览器进行自动化测试时,需要用到RemoteWebDirver.
在用selenium 1.X的时候常常会用到geteval_r()方法来执行一段js脚本来对页面进行处理。 当然selenium webdriver也提供这样的一个方法:JavascriptExecutor.executeScript(string)
好的测试人员都会截得一手好图,就跟骨灰级宅男定会吟得一手好诗一般。 截取页面全图,不管页面有多长。
Selenium2.0中使用WeDriver API对页面进行操作,它最大的优点是不需要安装一个selenium server就可以运行,但是对页面进行操作不如selenium1.0的Selenium RC API那么方便。 Selenium2.0提供了使用Selenium RC API的方法:
WebDriver对页面的操作,需要找到一个WebElement,然后再对其进行操作,比较繁琐:
web的自动化测试中,我们经常会遇到这样一种情况:当我们的程序执行时需要页面某个元素,而此时这个元素还未加载完成,这时我们的程序就会报错。怎么办?等待。等待元素出现后再进行对这个元素的操作。 在selenium-webdriver中我们用两种方式进行等待:明确的等待和隐性的等待。
一个Cookies主要属性有:所在域、name、value、有效日期和路径
Html代码 t.html (放在桌面):
捕获或者说定位弹出窗口的关键在于获得弹出窗口的句柄。 在代码里,使用getWindowHandle方法来获取当前浏览器窗口的句柄,使用了getWindowHandles方法获取所有弹出的浏览器窗口的句柄,然后通过排除当前句柄的方法来得到新开窗口的句柄。 在获取新弹出窗口的句柄后,使用switchto.window(newwindow_handle)方法,将新窗口的句柄作为参数传入既可捕获到新窗口了。 如果想回到以前的窗口定位元素,那么再调用1次switchto.window方法,传入之前窗口的句柄既可达到目的。
有时候我们在定位一个页面元素的时候发现一直定位不了,反复检查自己写的定位器没有任何问题,代码也没有任何问题。这时你就要看一下这个页面元素是否在一个iframe中,这可能就是找不到的原因之一。 如果你在一个default content中查找一个在iframe中的元素,那肯定是找不到的。反之你在一个iframe中查找另一个iframe元素或default content中的元素,那必然也定位不到。
一、输入框(text field or textarea)
selenium-webdriver提供了强大的元素定位方法,支持以下三种方法: 单个对象的定位方法 多个对象的定位方法 层级定位
1.启动浏览器 A.firefox
Spoon是一个让人一看就喜欢上的测试辅助框架,他自带一个Runner,用来收集Intrumentation tests运行过程中的各种数据,自带的Client包带有非常方便的屏幕截图方法,可以这么说,Spoon几乎可以配合任何使用Intrumentation作为驱动的移动端测试框架进行使用,比如业界知名的Robotium。
funcunit 在我们讨论了太久的selenium和webdriver之后,我们也有必要关注一些新模式下的支持黑盒的自动化测试框架,比如当前百花齐放,火的一塌糊涂的前端领域,我们已经看到了诸如PhantomJS之类的优秀框架,今天再分享Funcunit.
Batsh 是一个简单的编程语言,可方便的编译成 Bash 和 Windows 批处理脚本。相当于你需要写一次脚本就可以在不同的平台上运行。而且没有任何依赖包。查看在线演示,直观感受Batsh的强大,测试人又多一强大的工作辅助工具。 示例: