用Python开发自动化测试脚本
上一篇 / 下一篇 2012-09-29 10:48:45 / 个人分类:杂谈
;Z2Y9K;A7n;\#@.Be?^0 通常对于一个稍具规模的系统,一些新的改动势必会带来一些额外的功能回归测试工作,而这个工作是非常繁杂的,人肉的方式一次又一次的重复将会非常的枯燥乏味。
1F2c-m6_S051Testing软件测试网(bRIp c2m5a7|而我们所希望的,是一种自动化回归脚本的方式,可以重复性的回归现有功能,并给出回归测试报告。
Q5P'crYj e O0(NY{g@[%o0 Python的世界有一个开源框架Splinter,可以非常棒的模拟浏览器的行为(从某种意义上也可以说是人的访问点击行为)。Splinter提供了丰富的API,可以获取页面的信息,以判断当前的行为所产生的结果。51Testing软件测试网$]-?ofE fZt$W
51Testing软件测试网T/gK)b3\3cue最简单的例子
"B~.`(jo||051Testing软件测试网X-nS8`(M browser = Browser(‘firefox’) 模拟一个浏览器51Testing软件测试网1_f-x*^Vn
browser.visit(‘http://waptest.taobao.com/login/login.htm’) 访问指定URL51Testing软件测试网]%XR|
EGa0E;@
browser.fill('TPL_username',’test_04’) 填充表单用户名51Testing软件测试网k'M.u
QSK(JL
browser.fill('TPL_password',’taobao1234’) 填充表单密码
hD*Y'd\$h0 browser.find_by_value('登录').first.click()表单提交51Testing软件测试网
xE$C"wy5P9e+Q
Jw|:{? BL*|f}0 运行代码,splinter会打开你所指定的浏览器然后进行各种操作,像放电影一样的根据你的代码逻辑在你面前一步一步执行。51Testing软件测试网jF8]K%}2y
/tB q7lh9bW~^m~0 举个例子,现在我们要回归登录功能,以前我们从未开发过这样的脚本,所以现在我们首先要开发一个用于模拟登录行为的脚本。
n^h)hrL0yW/Qf6]S.Uv:u[1Se0 如下面代码(其实是非常简短的一个代码):51Testing软件测试网tG#L2J,t@\ d
#!/user/bin/python:y^0K3L*fq0# -*- coding: utf8 -*- 51Testing软件测试网 MI*s ME @
51Testing软件测试网P [/C;Z5Z|[
import sys
(n$fk-h"V&`(n0import re 51Testing软件测试网M&K/c\2~/rxH
from splinter.browser import Browser
5k)o-A;Pj0
8G9ryYH0mD8_-{F0#####################################################
dl"CFM1c W%zI0# global instance 51Testing软件测试网lh6BTT
CLOASE_AFTER_TEST = False 51Testing软件测试网8z]LBC3o yH
GBK = "gbk"
vZi+vQ6^,K~ ~.hq0UTF8 = "utf8" 51Testing软件测试网7|~w4w4Q(_I
51Testing软件测试网7s-q4h&^8m%^+Xf
#####################################################
,CWx;bxYP0R"]Yv"R0# encoding for console
UJMM_)j:n0reload(sys) 51Testing软件测试网tC,^ {o#B#i2]
sys.setdefaultencoding(UTF8)
_ f&ji PE(j0
[:dY3Ax&v