VS2010中的自动化测试.docx

上传人:小飞机 文档编号:4926001 上传时间:2023-05-23 格式:DOCX 页数:16 大小:636.22KB
返回 下载 相关 举报
VS2010中的自动化测试.docx_第1页
第1页 / 共16页
VS2010中的自动化测试.docx_第2页
第2页 / 共16页
VS2010中的自动化测试.docx_第3页
第3页 / 共16页
VS2010中的自动化测试.docx_第4页
第4页 / 共16页
VS2010中的自动化测试.docx_第5页
第5页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《VS2010中的自动化测试.docx》由会员分享,可在线阅读,更多相关《VS2010中的自动化测试.docx(16页珍藏版)》请在三一办公上搜索。

1、VS2010中的自动化测试一一Web性能测试作者:heqichang,发布于 2012-6-6一、概述网站的性能由很多不同的因素决定,比如:网络速度、不同的浏览器或者在同一时刻的用户数量、硬件 处理能力等因素,都会影响到网站的性能和响应时间。Web性能测试就是帮助开发者在开发工程中就能确认并 尽力修复这些问题。下面讨论几种主要的性能测试: Validation and verification test :这个测试用来帮助我们检验输入值和是否能在期望的入口安全登录。 比如:一个字段要求你输入一个Email地址,那么你必须正确输入才能提交页面。 Web page usability test :

2、它相当于是在生产环境中,通过模拟用户行为来查看网站内容是否完整。比 如:每个链接是否正确或者页面上的信息是否显示正确等。 Security Testing :它帮助我们检验不同权限的用户是否能得到相应的内容,还有对本地或者服务器上 其它资源文件的访问权限 Performance Testing :帮助我们验证在特地环境下页面响应的时间,它包括压力测试和负载测试。 Testing web page compatibility :这个就是验证网站在不同浏览器上的兼容性。 Testing a web application using different networks : 这个测试取决于我们的最

3、终用户是处在什么样的网 络环境中。对于Web性能测试,还有很多其它相关的测试,比如不同的操作系统、不同的数据库的影响等等都与性 能有一定的关系。上面我所说的性能测试,在VS2010中提供了相应的工具,为我们进行测试,下面我们就来创建一个简单 的Web性能测试。二、创建Web性能测试在我们创建Web性能测试之前先创建一个简单的网站,包括一个添加用户数据和显示用户数据的网页, 数据表设计如下:| dbcUssrs: Tabl*(heqirhang-pc2express,WebPe-i4ormani:eTe-rt) n xwColumn Nam?Data TypeAllow Nulls赠IDuniq

4、ue identifier -B盲Usernamenarrhr(50)ECcndernvarcharfiO)A砂ay arch ar(50)Cifyrevarch3T(5O)Phone-nvarcharfSO)Em-aifrevdrc-hdr(SQ)EC&iurTin Prap-rtifft f -JJJ i, CGenral)产(Ma me)IDAllow NulkNoData TypeuniqueiderrtifierDefdLih Value &r fi-iHdtng (wwidO)(General)网站用户界面如下:这个Web应用程序可以部署在 Web服务器上进行测试,也可以直接在AS

5、P.NET Development Server上进 行测试,当然,如果在开发环境上测试,需要保持Development Server运行着。现在开始来创建一个Web性能测试,可以直接点击VS工具栏上Test- New Test,然后选择如图所示 文件:Add New T*tTemplate?:load TestUnit Ted Wir-dData bd stUnit TritGenericYou tan ute a web perform3nee test withi n a load re-jt to test the perfarm a nee af a We-b sit 呻,Nam:d

6、d to Ttst Prejict:Crtdie t hz, Vf&uI C- pr-cyt.所示:点击OK后,会提示你新建一个测试工程,并给它命名,然后点击 Create。这时会弹出一个IE窗口如下左侧是一个Web Test Recorder (有可能在你创建测试文件后,弹出IE时没有这个东西出现,你可以通过 IE的工具-管理加载项选项中将Web Test Recorder启用),它主要用来记录浏览测试网页时所有的操作,它会 将所有的request和response记录下来,它还可以帮我们在不同的情况下找出我们期望的结果。现在我们输入刚刚创建的那个网页的地址,然后我们输入一些信息进行提交:点

7、击Insert之后,我们会看到Recorder帮我们捕捉到一些信息:完成所有操作后,点击Recorder面板中的Stop按钮,我们就可以自动跳转回VS中,并显示出之前记录 的所有请求信息。WebTntl.weblesfI 心| 4 j -j -j於羞茴习;艺.-.l_. 1_* Rjct Lerel祐叫虎mt Bel.htt.p/lcc a Ihc strSZlB/ a d d u t e*p7-LJ Exlracti&n Rules_Ji Extract Hidden- Fields tc tanteict para me ter 1Re Quest Level_EVt Nm ftGErPf

8、l tftii-sVitwlSctlDS_!j _EVE NT AGbM E N T M$H! 口。EM._EVE NTARjGUM E NT,.% _VIEWSTATE=(t HIDDE NL_V1EW5TATERequestPar am-eterLtuel-金 一EEWSTATEENCRVPTED =f樟HID-D-EN 1._V1EWTA.TEENCR/PTED)一的 _EVENTVUDATiON=4SHWENi,_EEKTVALlDATlQN|.-j Detai liViewl5ctl-02=John_0 Detai l$Vew!5rtl3= mak工.Detai IVie-A 14c

9、tHM=2i_ / Deta: lsVieMr5rfl-&5Nev York上 Detdi liViw Ildl-05=7S7S707-为 _兰占 i kyj?秘 1?口.拈了 二 it 由 n rn pi F,ctw*n|-_j| Va ltd alio n RulesJ Re-5pcnw UR.LJ Rrporst Trme Gcal Root Level :可以说是一条Web性能测试的入口点,比如:可以在此设置用户验证、代理或者为这条 测试添加一些描述信息等; Request Level :在Web性能测试中记录下来的每一条单独的请求,可以在此设置用户思考时间(think time)、请

10、求方式(GET或者POST)或者设置是否缓存等; Request Parameter Level :这里是每次请求的参数设置,可以在此设置是否进行Url编码、值还有名称。这里所有的属性设置你都可以在属性视窗中看到说明,如果还有不懂的,可以查看 MSDN进行帮助,所 有的属性都在 Microsoft.VisualStudio.TestTools.WebTesting 这个命名空间下。三、提取规则(Extraction Rules)在VS中我们可以用提取规则的功能把网站中的一些有用的数据提取出来。通常情况下,几乎所有的网站,它们页面之间总会有一些依赖关系,比如说你的下一个请求依赖你上一 次请求响应

11、中得到的一些数据。所以提取规则这个功能就 是可以让你从响应的数据中提取到你需要的数据,并 保存下来,用于你下一次的请求或者你之后需要的时候。它保存下来的数据在一个上下文参数中,你可以在全 局环境中使用它。在VS2010中已经为我们内建了几种提取规则,如图:关于内建提取规则说明,可参见这里。如果内建的这些提取规则还不能满足你的需要,也可以自定义自 己的提取规则这里我借百度(偷个懒a_a)做个Demo,看下怎么使用提取规则。根据上篇内容,首先利用Recorder来打开百度,然后随便搜索一个东西(我百度的James),最后点击 Stop,会在VS中生成如下数据:H WbTssta-麻甲Mv啪,Wd略

12、QEfir),| Eirtrartian Rults二1 Ertrj-ct Hidden Fields to contewt parjmeter Eg hrttp:Vvwww,tim 日llee/s- _ji QucySHg 电=James-1蓦 riv_b p =书Mbot hi Lrsv 上 p二:;rvpts (JMiDDt MLr-s.v_pt)盘I i nputT=51S8.一| Vflidatian RuEe-sW Response URLR旧piairiK Time Gnl现在我们在第一请求节点上右键添加一个提取规则,因为我是要提取第一次请求响应回来的中的值,如下所示:七-ji

13、esiiL|日 i_l Extract ion Rule_ -1 Eidr占H Hide 白http7/wivw,b-aidu.pt部1 - ,易inputT=3X?I- 二 Validaition Ru屁 y Repore UR.L 我 Re-spone Timthttp: /www. baidu.Insert Web Service RequestInsert TransactionInsert Loop.insert Condition.Insert CommentInsert Call to Web Test,.insert Recording,Extract Web Test,.Ad

14、d Dependent RequestAdd HeaderAdd U QueryString PdrameterAdd form Post ParameterAdd file UpEcad Parameter提取规则设置如下:通过上面的设置,我将百度页面中,搜索按钮的值(“百度一下”)进行了提取,那么baidu这个参数在之 后的程序中将一直保存着这个值。它的访问方式类似于key-value这样的形式。我们运行一下这个测试,就可以 在结果中看到我们提取的信息了。PropjertiesNann*wdRecordrd ValueJames5恤wSwpiEtw RequestFjLcJ Truejpj

15、 Extract Attribute VaJuc ti crntest pard-me-teF bidu httpy/www.ba idu e-ony_i QuSfrin_g_a rfi met*ffi三% rsi_bp=(SHIDDENl.i忌 fSV_spt=fltWIDDENL.infMJtT=lSS7-Validation Rul-es京 Rtspone-URL9 Resfxnse rime GoalM icrcoft.VEsuii I Stu dio.T ?stT oak.Wrb Strs .Que ryStringRi Mr涌邛宣通过右键属性,然后在值属性中,将它重新绑定到baid

16、u属性,我们还需要注意一下的是我们之前提取的值是中文,所以需要将Url编码设置为ture。最后我们重新运行一下测试看下结果:J Passed Click.hmEM run jjajh Internet Erplorer 7.0 LAN Editurr 匕闵in&5Details我们可以将保存出来的信息用于下一次请求或者之后的任何一次请求中,比如我们可以修改第二个请求中需要搜索的值:WebTestS riSJORequestStatusTotal Requ. Req. Respon# 三 http7/,www. b aid.cojti/ M http:/iAGVw.baidu.eom/s200

17、OK 425 tec 1.05200 OK 169 ec HOC 5blameE:DevT estW ebA pplkation 2Tsuit 敢 heqicti ngH ECE:DevT tW ehA p p lie at i or2TestR e-Eultsheqi cKb nguHEq 1iTestftunDirecto rySTestRdn Resu Its Dire-rt.VoulAgentsiWe bT e stlte ration iWebTestUserldbtdu1 直A下Web Browser-Rt-sponse 匚5祯戏I_ ,一 _“a-、”- 、这里可以看到我们的第二

18、次搜索不在是James,而是“百度一下”了。四、验证规则(Validation Rules)很多网站都有一些验证程序来验证输入或者输出是否正确,比如:用户名不能含有特殊的字符、密码不 得少于6个字符或者正确的Email格式等等。验证规则这个功能就是验证响应的数据是否包含期望的信息,如果有,这条请求就可以 pass,否则就会 fail。我的VS2010也内建了几种验证规则:关于内建的验证规则说明,可参见这里。如果内建的这些验证规则还不能满足你的需要,也可以自定义 自己的验证规则。验证规则的使用方法其实和提取规则差不多,但是它只是起验证的作用,而不会帮你保存数据。但是要 注意的一点是,随着验证规则的增多,网站的性能测试和测试时间都将受到影响,尤其是在做压力测试的时候, 更要决定好哪些数据非常重要的、需要验证的。当然,VS中也提供设置验证规则的级别来降低这些影响。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号