介绍

Selenium

Selenium(http://docs.seleniumhq.org/)是一个Web应用自动化测试工具集,可以在多个浏览器平台上执行测试用例。Selenium包含以下几个工具:
1)Selenium 1 (Selenium RC or Remote Control):Selenium 1的核心是一个JavaScript库,通过该库可以和浏览器中的页面进行交互。Selenium RC基于该库,可以使用多种语言开发测试用例,在多个浏览器平台上执行测试用例。
2)Selenium 2 (Selenium WebDriver):Selenium 1基于JavaScript库,因此受限于浏览器对于JavaScript的安全限制,Selenium 1对于浏览器中的页面交互也存在着很多限制。Selenium 2基于WebDriver,而WebDriver基于浏览器和操作系统提供的原生方法,因此Selenium 2可以直接操作浏览器,避免了JavaScript的安全限制。Selenium 2也可以使用多种语言开发测试用例,在多个浏览器平台上执行测试用例。
3)Selenium IDE:Selenium IDE是一个FireFox插件,可以记录用户操作并导出成可重复执行的脚本。
4)Selenium-Grid:Selenium-Grid可以用来扩展Selenium RC,例如可以在不同的机器上并行执行测试用例。
由于存在较多限制,已不推荐使用Selenium RC,而推荐使用Selenium WebDriver。Selenium WebDriver支持的浏览器有:
1)Google Chrome;
2)Internet Explorer 6, 7, 8, 9, 10;
3)Firefox;
4)Safari;
5)Opera;
6)HtmlUnit;
7)PhantomJS;
8)Android;
9)iOS。

PhantomJS

PhantomJS(http://phantomjs.org/)是一个基于WebKit的JavaScript API,它原生支持各种Web标准,例如DOM解析、CSS选择器、JSON、Canvas、SVG等。PhantomJS可用于:
1)无GUI浏览器下的Web站点测试;
2)网页截屏;
3)基于DOM API访问和操作网页;
4)监控网页加载。

安装

Selenium

Selenium支持的语言有:
1)Java;
2)C#;
3)Python;
4)Ruby;
5)PHP;
6)Perl;
7)JavaScript。
这里介绍Python Selenium包的安装。操作系统为Linux,并已安装Python 2.7.5和pip,直接使用pip安装Selenium:

pip install selenium

PhantomJS

下载PhantomJS的可执行包phantomjs-1.9.8-linux-x86_64.bz2,解压后将bin/phantomjs拷贝至/bin下即可。Shell中输入phantomjs可打开REPL,也可以使用phantomjs执行代码文件:

phantomjs hello.js

hello.js代码如下所示:

应用

基于Selenium+PhantomJS模拟浏览器访问网页,输入用户名和密码并点击登录按钮,网页HTML代码如下所示:

Python代码如下所示:

基于WebSocket实现微信小程序的消息推送

微信小程序支持通过基于WebSocket进行消息推送,提供了相应的API,例如创建连接示例代码: JavaScript wx.connectSocket({ ...

阅读全文

基于nginx-sticky-module-ng实现会话保持(Sticky Sessions)

对服务进行集群部署,前端进行负载均衡时,需要实现会话保持,对于同一会话的多个请求,通过集群中的一个节点来提供服务。系统的部署结构如图所示,通过Resin...

阅读全文

ActiveMQ基于Zookeeper和LevelDB实现Master/Slave

ActiveMQ的Master/Slave目前支持三种实现方式: 1)Shared File System Master Slave; 2)JDBC Master Slave; 3)Replicated LevelDB Store。 对于第三种方...

阅读全文