自动化测试框架的安装及使用Python + Nosetests + Webdriver

1 Python + Nosetests安装及配置

1.1 Python安装,以Windows为例
获取python-2.7.6.msi或者python-2.7.5.msi双击msi文件安装即可
1.2 Python配置
右单击我的电脑(或计算机)->属性->高级->环境变量,在系统变量中找到PATH变量并编辑,添加Python安装路径到PATH变量(如:C:\Python27;)
打开cmd窗口,运行python,显示如下图:

1.3 Python插件安装

1.3.1 setuptools安装
目的:为安装其他插件做准备
获取setuptools-3.3.zip,拷贝setuptools zip包到C盘根目录解压,然后打开cmd窗口,切换路径至setuptools-3.3,运行python setup.py install,如下图所示

安装完成后,可以在C:\Python27\Lib\site-packages下面找到setuptools文件夹及相关目录,和C:\Python27下面多了一个Scripts目录,并能在C:\Python27\Scripts下面看到ez_install.exe
1.3.2 pip安装(可选安装,如需在线安装selenium,则需要安装)
目的:可以使用该命令在线安装插件
获取pip-1.0.2.zip,拷贝pip-1.0.2
zip包到C盘根目录解压,然后打开cmd窗口,切换路径至pip-1.0.2,运行python setup.py install
安装完成后,可以在C:\Python27\Scripts下面找到pip.exe,和能在C :\Python27\Lib\site-packages下面找到pip-1.0.2-py2.7.egg文件夹
安装成功后,可以删除解压后的目录
1.3.3 Nosetests安装
目的:该插件属于我们的框架,为运行用例做准备
获取nosetests文件,解压文件,将目录拷贝到C:\下面,打开cmd窗口,切换目录到C:\nose-1.3.1,运行python setup.py install
安装完成后,可以在C:\Python27\Scripts下面看到nosetests.exe及相关文件
为了确保nosetests对其他目录也有效,参看1.2添加C:\Python27\Scripts;到环境变量PATH里面。
打开cmd窗口,输入nosetests,回车,没有错误显示表明安装成功
1.3.4 nose-testconfig安装
目的:该插件用于框架里面的config文件导入,比如from testconfig import config
获取nose-testconfig-0.9.tar.gz文件,解压文件,将目录拷贝到C:\下面,打开cmd窗口,切换目录到C:
nose-testconfig-0.9,运行python setup.py install安装成功,如下图所示

1.3.5 Unittest安装
目的:该插件其实Python有自带,这里是安装最新版本,为安装nose-selenium插件做准备
获取unittest2-0.5.1.zip文件,解压文件,将目录拷贝到C:\下面,打开cmd窗口,切换目录到C:\ unittest2-0.5.1,运行python
setup.py install安装成功,如下图所示

1.3.6 requests安装
目的:为安装nose-selenium插件做准备
获取requests-2.2.1.tar.gz文件,解压文件,将目录拷贝到C:\下面,打开cmd窗口,切换目录到C:\ requests-2.2.1,运行python
setup.py install安装成功,如下图所示

1.3.7 nose-selenium-0.07安装
目的:该插件用于nose框架和selenium结合使用
获取nose-selenium-0.07.tar.gz文件,解压文件,将目录拷贝到C:\下面,打开cmd窗口,切换目录到C:\ nose-selenium-0.07,运行python setup.py
install安装
1.3.8其他插件安装
如需安装其他插件,请按上述方法操作
Pydoc插件:用于连接SQL
Server数据库
Lxml插件(直接安装):用于解析XML文件

2 Webdriver安装

2.1 Selenium Webdriver安装
目的:WebDriver用于启动浏览器,模拟用户在浏览器上做操作
获取selenium-2.40.0.zip文件,解压到C:\,打开cmd窗口,切换目录到C:
selenium-2.40.0,运行python setup.py install,安装成功后,输入python命令换行,进入python编辑模式,输入from
selenium import webdriver,不报错,表明已经安装成功
2.2 Chrome Webdriver安装
目的:用于Webdriver能够启动Chrome浏览器
获取chromedriver.zip文件,解压文件,将chromedriver.exe拷贝到C:\Python27目录下,并添加C:\Users\Administrator\AppData\Local\Google\Chrome\Application\(chrome安装路径,这里是win7下的安装路径)到环境变量path
2.3 IE Webdriver安装
目的:用于Webdriver能够启动IE浏览器
获取IEDriverServer_x64_2.33.0.zip文件,解压文件,将IEDriverServer.exe拷贝到C:\Python27目录下

3 Eclipse安装

前置条件:系统已经安装JDK
获取eclipse.zip文件,解压文件,比如:D:\eclipse,直接打开eclipse.exe即可运行
如果你的eclipse里面没有安装pyDev,请按以下步骤安装:
1)在Help菜单中,选择Install New Software···
2)选择Add按钮,Name:PyDev(这个随便起),Location:http://pydev.org/updates(PyDev的更新地址),点击OK

3)选择PyDev下的PyDev for Eclipse,别的都不要选,否则依赖检查那关过不去
4)不要勾选“Contact all update sites during install to find required software”,点击Next安装即可
5)重启Eclipse,会看到pyDev插件,系统会自动为其配置,可以创建PyDev project表示已经安装成功

Eclipse - SVN插件安装
1)在Help菜单中,选择Install New Software···
2)选择Add按钮,Name:SVN,Location:http://subclipse.tigris.org/update_1.8.x,点击OK
3)勾选Subclipse和SVNKit
4)不要勾选“Contact all
update sites during install to find required software”,点击Next安装即可,重启Eclipse即可
5)安装完成后即可从SVN中直接导入自动化项目工程
6)点击Next,创建新的导入文件路径http://192.168.25.69:8080/svn/hjqa/, 选择/03测试设计/98自动化测试/automation,点击Next,导入即可。
这样设置后可以方便更新上传自动化测试代码

4框架使用说明

4.1代码目录结构
4.2使用说明
-conf-> env:存放各个测试环境的信息,比如:
Øprodconfig.py:存放prod环境的用户登录信息,主站点以及各产品线站点的URL,比如:config['class'] = 'http://class.hujiang.com/'
Øyzconfig.py:存放验证环境的用户登录信息,主站点以及各产品线站点的URL
比如:config['class'] = 'http://yz.class.hujiang.com/'
Øqa2config.py:存放qa2环境的用户登录信息,主站点以及各产品线站点的URL
比如:config['class'] = 'http://class2.hujiang.com/'
Øqa3config.py:存放qa3环境的用户登录信息,主站点以及各产品线站点的URL
比如:config['class'] = 'http://class3.hujiang.com/'

-conf -> run:可以在cfg文件里面指定要运行的用例和运行环境的配置文件

如果需要指定运行某一个特定的用例,只需更新tests=[用例相对路径],比如:tests=testcase/testClass/testClassCommonStudyCard.py
如果需要在线上真实环境运行,设置tc-file=conf/env/prodconfig.py,如果要在验证环境上运行,设置为tc-file=conf/env/yzconfig.py即可
-util:存放与业务逻辑无关的公共方法,比如涉及文件读写操作,浏览器启动,判断一个元素、文件、目录是否存在
-common:存放与基础业务逻辑相关的方法或类,即涉及各个产品之间的业务逻辑公共方法,比如:登录信息录入,注册信息录入,提交订单,取消订单等
-business:存放与各产品业务相关的逻辑方法,比如:网校课程购买,团购商品购买,听写酷听写等
-testcase:存放测试用例,文件命名,类名和方法名以test开头或结尾,比如:testClassCommonStudyCard.py,类名testClassCommonStudyCard

每个用例都至少包含一个setUp()和teardown()。setUp()为准备测试数据,启动测试环境,如启动浏览器,确保运行环境干净等操作。teardown()清理现场,当测试运行结束,清除历史,恢复运行前的现场。
-testdata:存放测试准备数据
-testresult:当特殊测试用例需要输出特别的测试报告,保存记录
-bat批处理文件:执行用例文件,该文件封装了用例执行命令,用户只需双击该文件即可运行相应的测试用例。如果用户不使用bat批处理文件,也可以直接打开CMD窗口,运行命令:nosetests -s -v -c [指定配置文件],如:nosetests -s -v -c conf\run\class2.cfg
-nosetest.xml:保存测试运行结果

Testsuite结点属性解释:
-tests:运行的用例总量
-failures:运行失败的用例数量
-errors:运行用例出现error,表明脚本需要更新,有error没有被抓住
testcase结点中的time:单个用例的运行时间

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容