selenium 是一个操纵浏览器来进行测试的框架。分为 Selenium 1 ( RC ), Selenium 2 ( WebDriver ), 江湖传言今年圣诞节会发布 selenium 3,主要是增强对移动端浏览器的测试。还有就是 Selenium IDE 和 Selenium Grid。 这里不介绍,可以看文档.
Selenium 1 ( RC ), Selenium 2 ( WebDriver ) 的区别就是对浏览器操纵的方式。 RC 的原理就是通过对原始的页面元素中注入一段特定的 JS 代码来实现的。 学过 JS 的人都知道, JS 可以操控 DOM 元素,点击,删除,获取元素属性和文本。你可以把这些操作看成一个个 JS 函数。 只是浏览器对非同源的 JS 有限制, 举个简单的例子, 百度首页上的 JS 代码不能与淘宝首页进行交互 (不能访问它的 cookie 等)。 因此,就需要RC(Remote Control), 将特定的 JS 代码加到服务器放回的数据中,再发送给浏览器,这样就避开了同源的问题。 然后浏览器运行这些 JS 函数,进行测试。
WebDriver 用的方式更为直接,它本身就是浏览器的 API,所以是直接对浏览器进行操作。无需通过 JS 代理操作。个人建议用 WebDriver。 因为,据“路边社”可靠消息 selenium 3 会逐步抛弃 RC。
这4个多月了,一直在用 selenium 写自动化测试,由小白到现在稍微熟悉。填了不少坑。 也算是有些心得,接下来如果有时间,我会在 coding 开个 selenium-study 的公有项目来具体讲解一些实战心得。 关于selenium的学习, 最好的教材是 selenium 官方文档。 如果你的英文不太好,那么百度一下“虫师 博客园”,里面有很多不错的学习材料。 要是开发中遇到 bug 最好用英文在 google 里搜。 至于百度搜出来的那坨*,诶,,往事不堪回首。
参考网址:
「UI 测试自动化selenium」汇总:http://www.cnblogs.com/fnng/p/3157639.html |