python + selenium 搭建自动化测试

再一次写一篇关于技术的文章,关于自动化测试的,看不懂没关系,这不是给你看的。一个前端开始用python+selenium搞起了测试,搞之前有点担心,毕竟自己没有搞过,不过还是硬着头皮高了起来,过程中顺便了解一下测试和python。对于测试和python之前基本上没有接触过,在领导的要求下,既开发又测试。对一项技术,没搞过就怕,往后退缩,但是在一定压力下,还是扛着压力做了,做完之后发现并没有那么复杂,很多时候只是自己怕自己,时间和经历付出了,总会做出来,至于质量就在于个人。

我的环境是mac +python3 + webdrive

第一步: 其他不必再复述了,搭环境。

pyhton:

下载 python【python 开发环境】http://python.org/getit/

下载 setuptools 【python 的基础包工具】http://pypi.python.org/pypi/setuptools
下载 pip 【python 的安装包管理工具】https://pypi.python.org/pypi/pip

有了python的包管理工具pip,安装 selenium使用命令行:pip install -U selenium

**如果你是一个从来没有整过语言的小白,估计你走这两步你估计用大半天时间,如果你是一个前端,从来没有接触过python 这一个走下来也得一个小时,加上你是mac系统,估计走下来时间稍微久点。**如果你不感兴趣,就别往下读了,很煎熬。 如果你是python开发者,四五分钟就搞定。 我没有讲具体过程和过程中遇到的问题,所以看起来很简单,其实不然,除非你是老手。环境的自动化测试的提前。

第二步: 做准备

写代码之前必须了解两个东西, python的基础语法selenium的接口和使用 ,如果你是小白用户,这两个基础,专职搞起码得1-2个月,断断续续学习,估计半年时间;

pyhton的基本没有接触过,语法也不知道,但是我有基础,前端开发起码做了两三年,就算没有语感,也能猜这个是干啥的,在花了半天时间走了一遍python的基础语法,什么数据类型,数组,字典,对象,引包,函数的调用通通走马观花看了一遍,这些看一遍够用了。

selenium是干啥的,怎么进行操作浏览器的,带着问题找答案,很快就能写出第一个“hello world”,接下来一定要找一个有经验的人给你指点,即使让人家给你推荐一本书,会让你避免很多弯路,不然你掉进一个坑里出不来了。

**第****三步:**看例子

#coding=utf-8

#引入selenium的webdrive方法

from selenium import webdriver
import time
driver = webdriver.Firefox()

#访问百度首页

first_url= 'http://www.baidu.com'print "now access %s" %(first_url)

driver.get(first_url)

#访问新闻页面second_url='http://news.baidu.com'print "now access %s" %(second_url) driver.get(second_url)

#返回(后退)到百度首页

print "back to %s "%(first_url) driver.back()

#前进到新闻页
print "forward to %s"%(second_url) driver.forward()

第四步: 敲代码
跟着例子走一遍,每个接口都走,书的每一个字都细读,这样看书看到测试用例设计这章的时候,大概得花费两天时间,当然我大概用了一天时间,看书的过程也是在敲代码,是不是看看自己的成果,这样会有动力做下去,这样就了解了Python+Selenium 是干啥的了,他能帮你干啥,你就有有点感觉了,接着继续往下干。

**第五步:**编写测试用例

编写测试用例,又必须得又跳入一个大坑,什么是测试,什么是自动化测试,了解测试的基础,估计你又的花几天时间了解一下,为什么软件行业需要测试这个岗位等等,这些看完了,就要编写测试用例,这个时候,你还不知道怎么编写测试用例,又得求助有经验的测试人员,他会给你简单说一下,或者给你发个他们公司的测试用例,然后你又来了感觉,开始投入这个编写测试用例的大坑中(这个坑对我实在是太大了,我一个人什么时候能把一个系统中的测试用例写完?我选择了放弃)正好我在上一次开发的过程中,为了避免系统出问题,自己做了一个记录,就简单的这个作为用例,早早的把我的活完成才是主要的,领导要的是一个雏形,又不是让我一个人整一整套的测试用例,多方考虑之后,开始真正的开启的我自动化项目。

模块化,自动化,系统化总之需要强大的python语言基础,又要懂测试,这是一个大坑,目前基本已经简单完成了自动化测试了,启动程序,让他自己去跑,到时候只看日志截图,跑完还会生成报告,然后完成了发送邮件通知开发,主管,项目经理等功能。j接下来还需要继续完善,希望做的更好!