从什么开始呢,就介绍一下最近接触到的一个强大的开源前端测试工具吧~~ selenium~~
网上有很多关于这个工具的介绍,但是感觉主要还是关于这个工具的安装和官方文档的衍生品,实际的介绍好像很少~~ 其实我也不是很了解,只是最近接触了一个关于这个工具的一个小项目,做些初级的介绍吧。 首先第一篇,当然只是这个工具的简单介绍,使用环境,环境安装,基本工作机理和简单的范例,其他的嘛。。。。。我也还不会,不过可以慢慢学嘛,我会慢慢更新到这里的。。。
言归正传~开始吧
0. selenium介绍
"Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制动作和自动生成。Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。" --- 百度百科
首先,它是开源的,是免费使用的~~
selenium这个东东有三个不同的分支:
“# Selenium IDE:一个Firefox插件,可以录制用户的基本操作,生成测试用例。随后可以运行这些测试用例在浏览器里回放,可将测试用例转换为其他语言的自动化脚本。
# Selenium Remote Control (RC) :支持多种平台(Windows,Linux,Solaris)和多种浏览器(IE,Firefox,Opera,Safari),可以用多种语言(Java,Ruby,Python,Perl,PHP,C#)编写测试用例。
# Selenium Grid :允许Selenium-RC 针对规模庞大的测试案例集或者需要在不同环境中运行的测试案例集进行扩展。” --- 百度百科
第一种太死板,第三种听着就很复杂,先不研究,这里我们主要介绍第二种, 这是最灵活的使用selenium的方式,虽然它需要一定的编程基础~~这里我选择了python~~
1. 使用环境
mint linux + python2.7.3 + selenium + selenium-server-standalone-2.29.0.jar + firefox
2. 环境安装
sudo apt-get install python2.7 python2.7-dbg python2.7-dev python2.7-doc
sudo apt-get install python-setuptools
sudo easy_install pip
sudo pip install -U selenium
wget http://selenium.googlecode.com/files/selenium-server-standalone-2.29.0.jar ~/tools/
如果顺利的话,这就ok了~~~
3. 简单的范例
1. 首先打开终端,来到selenium-server-standalone-2.29.0.jar所在的目录,执行
#java -jar selenium-server-standalone-2.29.0.jar
2. 编辑test.py
1 #!/usr/bin/env python
2 #coding:utf8
3 from selenium import webdriver
4 from selenium.common.exceptions import NoSuchElementException
5 from selenium.webdriver.common.keys import Keys
6
7 browser = webdriver.Firefox() # Get local session of firefox
8 browser.get("http://www.hao123.com") # Load page
9 browser.save_screenshot("./a.png")
10
11 ele = browser.find_element_by_id("layout-famoussite")
12 location = ele.location
13 size = ele.size
14
15 print location
16 print size
17
18 browser.close()
3. 执行
#python test.py
如果顺利的话,会刊到firefox被打开,跳到www.hao123.com然后浏览器推出,终端打出了id为layout-famoussite的div的location和size~~~
如果对python的api感兴趣的话,参考这里
4. 基本工作机理
这里小弟拜读了以下三篇博文才对工作原理有了大概的了解,这里仅仅引用下,就不抄袭了~~
1. selenium私房菜,玩转selenium server
2. Selenium私房菜系列6 -- 深入了解Selenium RC工作原理(1)
3. Selenium私房菜系列6 -- 深入了解Selenium RC工作原理(2
额~~ 大概就是这样了~~ 晚安~~
喜欢一起简单,实用的东西,拒绝复杂花哨,我不是GEEK.