资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,#,Selenium+Webdriver+Python,自动化测试环境,一.Selenium,+,+Webdriver+Python基本框,架,架的介,绍,绍,二.自动化,测,测试环,境,境的搭,建,建,三.selenium,-,-ide脚本录,制,制和脚,本,本写作,四.unittest的简单,介,介绍及,使,使用,五.网页元,素,素的定,位,位,六.浏览器,的,的基本,操,操作,七.拓展:,(1)测试,报,报告的,生,生成,(2)数据,驱,驱动(,文,文本、,表,表格等,),),一.Selenium,+,+Webdriver+Python基本框,架,架介绍,Selenium是一个,开,开源的,和,和便携,式,式的自,动,动化软,件,件测试,工,工具,,用,用于测,试,试Web应用程,序,序有能,力,力在不,同,同的浏,览,览器和,操,操作系,统,统运行,,,,相比QTP有以下,优,优点:,*,开,开源免,费,费,不,用,用为破,解,解而大,伤,伤脑筋,*,小,小巧,,对,对于不,同,同的语,言,言它只,是,是一个,包,包而已,,,,,而QTP需要下,载,载安装1个多G的程序,。,。,*,支,支持多,种,种脚本,语,语言,,这,这是最,重,重要的,一,一点,,不,不管你,以,以前,更熟悉C、java、ruby、python、或是C#,你都,可以通,过,过selenium完成自,动,动化测,试,试,而QTP只支持VBS,*,支,支持多,平,平台:Windows、Linux、MAC,*支,持,持多浏,览,览器:IE、Firefox、Chrome、Safari、Opera等,一.Selenium,+,+Webdriver+Python基本框,架,架介绍,一.Selenium,+,+Webdriver+Python基本框,架,架介绍,Selenium:,1、Selenium脚本录,制,制和回,放,放,2、Selenium自动化,脚,脚本(.py)编写,3、Selenium测试套,(,(Testsuite),初始化,,,,预置,条,条件,用例执,行,行部分,清理,,还,还原初,始,始环境,4、截图,以,以及结,果,果报告,的,的生成,一.Selenium,+,+Webdriver+Python框架的,介,介绍,软件列表,Python,(,2.7.,x,)(脚本语言,驱动,Selenium,),SetupTools,、,pip,工具(安装包管理工具),Python,的,Selenium,包(实现网页自动化测试),浏览器(,firfox,,,ie,、,chrome,等),网页驱动,IE,:,IEDriverChrome,:,Chromedriver,Selenium IDE,插件,firebug,插件(获取网页元素的,Xpath,、,Css,等),其他:,HTMLTesterRunner.py(,生成测试报告,),、,xlrd(,对,xls,表格进行读操作)等,脚本开,发,发,脚本执,行,行,辅助,脚本录,制,制,第一步,:,:下载,并,并安装Python,(,(推荐使,用,用2.7,.,.x版本),exe文件运,行,行安装,即,即可,,安,安装后,环,环境变,量,量中添,加,加,python的安装,目,目录。,第二步,:,:下载,并,并安装Python的SetupTools:,SetupTools就是一,个,个帮助,你,你安装,第,第三方,工,工具包,的,的增强,工具软,件,件。,下载文,件,件后,,对,对setuptools-x,.,.x.tar,.,.gz文件进,行,行解压,,,,,进入windows命令提,示,示下执,行,行setup.py,X:setuptools-x,.,.xpython setup.py install没有报,错,错表示,安,安装成,功,功。,第三步,:,:下载,并,并安装Python的包管,理,理工具pip,pip,有点类,似,似SetupTools,但是比,它,它强大,。,。,下载文,件,件后,pip,-,-x.x.tar.gz文件进,行,行解压,,,,进入windows命令,提示下,执,执行setup.py,如:X:pipx.x,pythonsetup.pyinstall,没有报,错,错表示,安,安装成,功,功。,切换到X:,Python27,Scripts目录下,输,输入:,X:Python27Scriptseasy_installpip,没有报,错,错表示,安,安装成,功,功。,二.自动化,测,测试环,境,境的搭,建,建,第四步,:,:下载,并,并安装,基,基于Python的Selenium包,下载seleniumx.xx.x,并解压,把,把整个,目,目录放,到,到,X:Python27Lib,site-packages目录下,,,,进入,windows命令提,示,示下执,行,行setup.py,如:,X:Python27Lib,site-packagesselenium-x.xx.x,python setup.py install,没有报,错,错表示,安,安装成,功,功。,第五步,:,:验证Selenium安装是,否,否成功,.,.,.,其他:Firefox浏览器,,,,网页,驱,驱动(IE:IEDriverChrome:Chromedriver),,,,selenium,-,-ide插件(,脚,脚本录,制,制),HTMLTesterRunner.py,(生成测,试,试报告),xlrd(对xls表格进,行,行读操,作,作)等,HTMLTesterRunner.py(生成测,试,试报告),xlrd(对xls表格进,行,行读操,作,作)将,其,其放到Python的LIB库中,ImportHTMLTesterRunner、Importxlrd就可实,现,现相应,的,的功能,。,。,二.自动化,测,测试环,境,境的搭,建,建,二.自动化,测,测试环,境,境的搭,建,建,Selenium的IDE,(,(集成开,发,发环境)是一个,易,易于使,用,用的Firefox插件,用于开,发,发Selenium测试案,例,例。它,提,提供了,一,一个图,形,形用户,界,界面,,用,用于记,录,录使用Firefox浏览器,,,,用来,学,学习和,使,使用Selenium用户操,作,作,但,它,它只能,用,用于Firefox浏览器,不,不支持,其,其它浏,览,览器。,然,然而,,所,所记录,的,的脚本,可,可以被,转,转换成,由,由Selenium支持多,种,种编程,语,语言和,脚,脚本可,以,以在各,种,种其它,的,的浏览,器,器,以,及,及被执,行,行。,脚本录,制,制步骤,:,:,第一步,:,:打开,火,火狐浏,览,览器,,在,在地址,栏,栏上,输入被,测,测网页,的,的URL,.,.,第二步,:,:菜单,栏,栏:工,具,具-selenium,-,-ide,打开后,,,,在的selenium-ide地址栏,输,输入相,同,同的URL,.,.,第三步,:,:点击,开,开始录,制,制,第四步,:,:在浏,览,览器中,进,进行相,应,应的操,作,作,第五步,:,:点击,结,结束录,制,制,查,看,看并回,放,放SeleniumIDE,录制的,结,结果,第六步,:,:脚本,导,导出(,选,选择导,出,出需要,的,的语言,脚,脚本:Python2/Unittest/webdiver),三.selenium,-,-ide脚本录,制,制和脚,本,本写作,三.selenium,-,-ide脚本录,制,制和脚,本,本写作,三.selenium,-,-ide脚本录,制,制和脚,本,本写作,三.selenium,-,-ide脚本录,制,制和脚,本,本写作,IDE录制脚,本,本存在,局,局限和,问,问题:,1、脚本,不,不稳定,,,,回放,经,经常出,错,错。(部分操,作,作捕获,不,不到),2、阅读,性,性差,,不,不知道,自,自动化,测,测试执,行,行了具,体,体哪些,操,操作,,和,和实现,什,什么功,能,能。(注释),3、如果web页面中,的,的个别,元,元素发,生,生了变,化,化,,所有,涉,涉及该,元,元素的,脚,脚本需,要,要修改,。,。,4、元素,的,的id或部分,文,文字是,动,动态的,,,,,即每次,执,执行的,脚,脚本都,是,是不同,的,的。(参数化),5.缺少对,实,实际结,果,果进行,判,判断的,语,语句。,(,(断言),等等,打开IDLE(pythonGUI,),)OPEN:,加载录,制,制导出,的,的脚本,,,,进行,脚,脚本编,写,写。,三.selenium,-,-ide脚本录,制,制和脚,本,本写作,四.unittest的简单,介,介绍及,使,使用,TestCase:,一个测,试,试用例,或是一,个,个完整,的,的测试,流,流程,,包,包括测,试,试前准,备,备环境,的,的搭建(setUp,),),执行,测,测试代,码,码(run)以及测,试,试后环,境,境的还,原,原(tearDown,),)。,元测试(unittest,),)的本质,也,也就在,这,这里,,一,一个测,试,试用例,是,是一个,完,完整的,测,测试单,元,元,通,过,过运行,这,这个测,试,试单元,,,,可以,对,对某一,个,个问题,进,进行验,证,证。,TestSuite,:,:,而多个,测,测试用,例,例TestCase集合在,一,一起,,就,就是TestSuite,而且TestSuite也可以,嵌,嵌套TestSuite。,TestLoader:,用来加,载,载TestCase到TestSuite中的,,其,其中有,几,几个loadTestsFrom_,(,()方法,,就,就是从,各,各个地,方,方寻找TestCase,创建,它,它们的,实,实例,,然,然后add到TestSuite中,再,返,返回一,个,个TestSuite实例。,TextTestRunner:,是来执,行,行测试,用,用例的,,,,其中,的,的run,(,(test)会执行TestSuite,/,/TestCase中的run,(,(result)方法。,测试的,结,结果会,保,保存到TextTestResult实例中,,,,包括,运,运行了,多,多少测,试,试用例,,,,成功,了,了多少,,,,失败,了,了多少,等,等信息,。,。,整个流,程,程:首先是,要,要写好TestCase,然后,由,由TestLoader加载TestCase到TestSuite,然后,由,由TextTestRunner来运行TestSuite,,运行的,结,结果保,存,存在TextTestResult中,整,个,个过程,集,集成在unittest.main模块中,。,。,四.unittest的简单,介,介绍及,使,使用,Test Fixture,:,:,对一个,测,测试用,例,例环境,的,的搭建,和,和销毁,,,,通过,覆,覆盖TestCase的setUp(,),)和tearDown(,),)方法来,实,实现。,这个有,什,什么用,呢,呢?比,如,如说在,这,这个测,试,试用例,中,中需要,访,访问数,据,据库,,那,那么可,以,以在setUp(,),)中建立,数,数据库,连,连接以,及,及进行,一,一些初,始,始化,,在,在tearDown(,),)中清除,在,在数据,库,库中产,生,生的数,据,据,然,后,后关闭,连,连接。,注,注意tearDown的过程,很,很重要,,,,要为,以,以后的TestCase留下一,个,个干净,的,的环境,。,。,一个完,整,整的测,试,试脚本,包,包含:,1.importunittest,2.定义一,个,个继承,自,自unittest.TestCase的测试,用,用例类,3.定义setUp和tearDown,在每,个,个测试,用,用例前,后,后
展开阅读全文