资源描述
自动化测试框架的安装及使用Python+Nosetests+Webdriver+Eclipse目录自动化测试框架的安装及使用 1Python + Nosetests + Webdriver + Eclipse 11 Python + Nosetests 安装及配置 21.1 Python 安装,以 Windows 为例 21.2 Python 配置 21.3 Python 插件安装 21.3.1 setuptools 安装 21.3.2 pip安装(可选安装,如需在线安装selenium,则需要安装)31.3.3 Nosetests 安装 31.3.4 nose-testconfig 安装31.3.5 Unittest 安装31.3.6 requests 安装41.3.7 nose-selenium-0.07 安装41.3.8其他插件安装 42 Webdriver 安装52.1 Selenium Webdriver 安装52.2 Chrome Webdriver 安装 52.3 IE Webdriver 安装53 Eclipse 安装54框架使用说明 84.1 代码目录结构 84.2 使用说明91 Python +Nosetests 安装及配置下面所有安装均以离线安装为例(考虑公司网络问题),以下所有安装文件均可从“/hjqa/06 技术分享/03 Selenium/automation ” 中获取1.1Python 安装,以 Windows 为例获 取 python-2.7.6.msi 或 者 python-2.7.5.msi ( /hjqa/06 技 术 分 享 /03Selenium/Seleniumlnstall/Python_pack)双击 msi 文件安装即可1.2Python 配置右单击我的电脑(或计算机)-属性-高级-环境变量,在系统变量中找到PATH变量并编辑,添加Python安装路径到PATH变量(如:C:Python27)打开cmd窗口,运行python,显示如下图:1.3Python 插件安装1.3.1 setuptools 安装目的:为安装其他插件做准备获取setuptools-3-3.zip,拷贝setuptools zip包到C盘根目录解压,然后打开cmd窗 口,切换路径至 setuptools-3.3,运行 python setup.py install,如下图所示Installed c:Xpyite-packagesXsetuptool石一3.3-py2.7-egg Processing dependencies for 呂且tuptools=3.3Finished processing dependencies for setup安装完成后,可以在C:Python27Libsite-packages下面找到setuptools文件夹及相 关目录,和 C:Python27 下面多了一个 Scripts 目录,并能在 C:Python27Scripts 下面 看到 ez_install.exe132 pip安装(可选安装,如需在线安装selenium,则需要 安装)目的:可以使用该命令在线安装插件获取pip-1O2.zip,拷贝pip-1.0.2 zip包到C盘根目录解压,然后打开cmd窗口,切 换路径至 pip-1.0.2,运行 python setup.py install安装完成后, 可以在 C:Python27Scripts 下面找到 pip.exe, 和能在C :Python27Libsite-packages 下面找到 pip-1.0.2-py2.7.egg 文件夹安装成功后,可以删除解压后的目录133 Nosetests 安装目的:该插件属于我们的框架,为运行用例做准备获取nosetests文件,解压文件,将目录拷贝到C:下面,打开cmd窗口,切换目录到 C:nose-131,运行 python setup.py install安装完成后,可以在C:Python27Scripts下面看到nosetests.exe及相关文件为了确保nosetests对其他目录也有效,参看1.2添加C:Python27Scripts;到环境变 量PATH里面。打开cmd窗口,输入nosetests,回车,没有错误显示表明安装成功134 nose-testconfig 安装目的:该插件用于框架里面的config文件导入,比如from testconfig import config 获取nose-testconfig-0.9.tar.gz文件,解压文件,将目录拷贝到C:下面,打开cmd 窗口,切换目录到 C: nose-testconfig-0.9,运行 python setup.py install 安装成功,如 下图所示Installed c : py thon 27 libs it epackage sSnose_tes t con fig0.9-py2 -7. egg Processing dependenc ies f or nose-七巳吞七conf ig = =0.9Fin is bed processing dependencies for nose-testconf ig = =0-9C:nose-testconfiq-0-9135Unittest 安装目的:该插件其实Python有自带,这里是安装最新版本,为安装nose-selenium插件做准备获取unittest2-0.5.1.zip文件,解压文件,将目录拷贝到C:下面,打开cmd窗口,切换目录到C: unittest2-0.5.1,运行python setup.py install安装成功,如下图所示Installed c :hon27libs itepackageittest20_5 -1py2 _7_eggFrocessinsr dependencies for u.nittest2=051Fin is lied process ing dependenc ies f or unittest2=0_5 _1C:unittcst2-0.5.11.3.6 requests 安装目的:为安装 nose-selenium 插件做准备获取requests-2.2.1.tar.gz文件,解压文件,将目录拷贝到C:下面,打开cmd窗口,切换目录到C:requests-221,运行python setup.py install安装成功,如下图所示I nstalled c: python27libsite-packagfesreqiJiests-2 _2 _l-py2 _7_eggPpoc easing de pendencies: F oi* requests =2 _ 2 _ 1Finis:h&d process:in? dependencies: For reqwests=2211.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数据库,获取pydoc.zip文件,直接解压后,运行 EXE 即可。Lxml插件(直接安装):用于解析XML文件,获取Ixml-335.win32-py27.zip文件, 直接解压后,运行 EXE 即可。Openpyxl插件安装,获取openpyxl-1.8.6.tar.gz文件,解压文件,将目录拷贝到C:下 面,打开cmd 窗口,切换目录到 C:openpyxl-1.8.6,运行 python setup.py install 安装 即可。2Webdriver 安装2.1SeleniumWebdriver 安装目的:WebDriver用于启动浏览器,模拟用户在浏览器上做操作获取 selenium-2.40.0.zip文件,解压到 C:,打开 cmd 窗口,切换目录到 C: selenium-2.40.0, 运行python setup.py install,安装成功后,输入python命令换行,进入python编辑模式, 输入from selenium import webdriver,不报错,表明已经安装成功2.2ChromeWebdriver 安装目的:用于Webdriver能够启动Chrome浏览器获取 chromedriver.zip文件,解压文件,将 chromedriver.exe拷贝到 C:Python27 目录下, 并添加 C:UsersAdministratorAppDataLocalGoogleChromeApplication (chrome 安装 路径,这里是win7下的安装路径)到环境变量path2.3IEWebdriver 安装目的:用于Webdriver能够启动IE浏览器获取 IEDriverServer_x64_2.33.0.zip 文件, 解压文件, 将 IEDriverServer.exe 拷贝 到 C:Python27 目录下3Eclipse 安装前置条件:系统已经安装 JDK获取eclipse.zip文件,解压文件,比如:D:eclipse,直接打开eclipse.exe即可运行如果你的eclipse里面没有安装pyDev,请按以下步骤安装:1)在 Help 菜单中,选择 Install New Software2)选择 Add按钮,Name: PyDev(这个随便起),Location http:/pydev.org/updates(PyDev的更新地址),点击0K3)选择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菜单中,选择Ins tall New Sof tware2)选择 Add 按钮,Name: SVN, Location:,点击OK3)勾选 Subclipse 和 SVNKit4)不要勾选“ Contact all update sites during install to find required software, 点击 Next安装即可,重启Eclipse即可5)安装完成后即可从SVN中直接导入自动化项目工程金 ImportSelect通过从SVN遛源库中检出已有项目玮创建新项目.Select an import 5-ource:FinishCancel6)点击 Next,创建新的导入文件路径 http:/192.168.25.69:8080/svn/hjqa/,选择 /03测试设计/98自动化测试/automation,点击Next,导入即可。这样设置后可以方便更新上传自动化测试代码4 框架使用说明4.1 代码目录结构fts PyDew PackagfEcpIorer| automation D3视试设计/9B弓空化瞅试目ticin釣方法与业务逻辑相tiumine 亚commonsm用业务逻辑confautomationtestjog.conf 2229 14-4-14 下午 1:1 毁 囲 elemconfig.py 2174 14-4-1 JzF11;37 linyongy i prodcon-fig.py 2229 14-4-14 T午LIB linyorigy 囱 qa2config.py 2239 14-4-15 JzFlO:O6 linyongy qs3confi-g.py 2229 1.4-4-14 T-LilS linyongya廊 yzconfig.py 2246 14-4-15 下午弓:1 孑 linyongyann用 class_yz.cfg 2242 14-4-15 上午 11:24 linyongyai 團 class2.cfg 2229 14-4-14:18- linyongyan歸 cl3&3.cfg 2229 144-14下午 1 江已 linyongyan歸 huigui_prod.cfg 2L&1 14-4-2 下午 1:50 linyongy xunjian_prod.cfg 2181 14-4-2 不午 1 点0 linyong 细screenshot存放用例运行失败的截圄j le&icase0毋testClass测试脚本_init_.py 2174 14-4-1 _b-Fll!37 linycngyan testLoginHcrmePage-.py 2191 14-4-2 下午3;54 liny卜卜J 2&丿tatdsta 昂 cardinfo_ prodCardinfoutil碑KKK Kr Kr公共加去,与业关_init_.py 2174 1441 上午 11:37 linyongyan LirowserAction.py 2225 14-4-14 下午 1:09 linyongy commonEase.py 224& 14-4-13 下午却IE linyongys fil&Action.py 2225 144-14 下午L09 linyongyan圃 _init_.py 2174 14-4-1 JzPll:37 linyongyan 縮 no5et&5ts.xml 2174 144-137 linyongyan岡 run-cla&s2.batRM 14414 下午 1:21 linyon口诈ri Ifir彳 F,HJ| -J-4.2 使用说明-conf - env:存放各个测试环境的信息,比如: prodconfig.py:存放prod环境的用户登录信息,主站点以及各产品线站点的URL,比如: configclass = yzconfig.py:存放验证环境的用户登录信息,主站点以及各产品线站点的URL比如: configclass = qa2config.py:存放qa2环境的用户登录信息,主站点以及各产品线站点的URL 比如: configclass = qa3config.py:存放qa3环境的用户登录信息,主站点以及各产品线站点的URL比如:configclass = !“Uih吕=*global configconfig = -# The Location run:可以在cfg文件里面指定要运行的用例和运行环境的配置文件1 nosetests2 ; Hard-code thm nose-testconfig fig format3 tc-format4 ;with-seleniuin-driver = true jebdriver - firefox6 ;webdriver = chrome7 with-xunit=Tru亡8 j This helps Mose traverse through our directory structure 9 j;in匸LudE=Fu门匸tion吕L| nose10 j The list of tests goes herellteSts=tot/teStClaSS12 ieKclude= TC13日14 i Testconfig - overritk on th亡 njetests ccmmand line for sitern曰十己 environments 冷“丄逸冈邸冲S普胡口蠡置文件如果需要指定运行某一个特定的用例,只需更新tests=用例相对路径,比如:tests=testcase/testClass/testClassCommonStudyCard.py如果需要在线上真实环境运行,设置tc-file=conf/env/prodconfig.py,如果要在验证环境上运 行,设置为 tc-file=conf/env/yzconfig.py 即可-util:存放与业务逻辑无关的公共方法,比如涉及文件读写操作,浏览器启动,判断一个元 素、文件、目录是否存在-common:存放与基础业务逻辑相关的方法或类,即涉及各个产品之间的业务逻辑公共方 法,比如:登录信息录入,注册信息录入,提交订单,取消订单等七usiness:存放与各产品业务相关的逻辑方法,比如:网校课程购买,团购商品购买,听写酷 听写等- testcase: 存放测试用例, 文件命名,类名和方法名以 test 开头或结尾, 比如: testClassCommonStudyCard.py,类名 testClassCommonStudyCardimport osfrom testconfig import configfrom huJiang, util import browserActio-nj fileActionj commonBasefrom huJiang.匚口nroDn import loginfrom hujiang.business import classBuyFlcwclass t est Elsss CorananSt u cJy 匸 a rd:def seHJp( set/):卜町Cons tru 匚 口厂二【Jr j j fiseLf. classIJrl = config rctcrss username = 匚onfig 1 匚lassUs已厂ri口用丘冷 setj-. passwd = config rcL口ssPi/d seLf. driver = browserAction startBrowser(HrFF) 3browserAction . clean匚ookie (setf. driver)生已Lf. driver. get (rfrhttp:/. h uj iang匚口厢)def tearDown(s已吁):browserAct ion . clean匚ookie (se tf. driver) browserAction匸loseBowser(se L/. driver)def t e s t 1 ommon S t u dy C a rd Ad d An d Us e ( s e Lf):print arst 口厂古 test 匚 ommon stucfy card crcfcf 口鬥c/ use 口 re s Li It List =dataList = ( group ID 1 匚lcr5 ID r匚口厂c/ ID st口古t/w ,匚口晰已口古,)=1, driver =1 set/, driver if)driver. find_element_by_link_teKt (u 冬黃 J 匸丄让k() login.loginPage(driverset/, username set/, passwd)每个用例都至少包含一个setUp()和teardown()。setUp()为准备测试数据,启动测试环境, 如启动浏览器,确保运行环境干净等操作。teardown()清理现场,当测试运行结束,清除历 史,恢复运行前的现场。- testdata: 存放测试准备数据testresult:当特殊测试用例需要输出特别的测试报告,保存记录- bat 批处理文件:执行用例文件,该文件封装了用例执行命令,用户只需双击该文件即可 运行相应的测试用例。如果用户不使用bat批处理文件,也可以直接打开CMD窗口,运行 命令:nosetests -s -v -c 指定配置文件, 如:nosetests -s -v -c confrunclass2.cfg -nosetest.xml:保存测试运行结果testcase iname= testC o mnionStud yCo rdAddAndU se Hine=,31-776 c la ssn a me - *h u j ia ng lestca se.te -!CDATAstart test common study ca rd dd and use. group id Is 3117 classld is 1411B4 to add cat w/t estcaso-ctestcase narrie= letCnmnionYouhLiiCrdAddAiidLlsre11 time = !l329_O4711 匚lassnarrie = lliujiang上e玉tc也me:.Testsuite结点属性解释:-tests:运行的用例总量-failures:运行失败的用例数量-errors:运行用例出现error,表明脚本需要更新,有error没有被抓住 testcase结点中的time:单个用例的运行时间
展开阅读全文