教学课件·网络测试技术与应用

上传人:人*** 文档编号:569375066 上传时间:2024-07-29 格式:PPT 页数:149 大小:11.27MB
返回 下载 相关 举报
教学课件·网络测试技术与应用_第1页
第1页 / 共149页
教学课件·网络测试技术与应用_第2页
第2页 / 共149页
教学课件·网络测试技术与应用_第3页
第3页 / 共149页
教学课件·网络测试技术与应用_第4页
第4页 / 共149页
教学课件·网络测试技术与应用_第5页
第5页 / 共149页
点击查看更多>>
资源描述

《教学课件·网络测试技术与应用》由会员分享,可在线阅读,更多相关《教学课件·网络测试技术与应用(149页珍藏版)》请在金锄头文库上搜索。

1、 第二部分 WEB应用测试1 web应用程序测试入门软件测试过程目标系统(被测系统)测试用例输入数据输入数据希望的希望的输出结果输出结果usernamepassword登录成功得到实际输出结果实际输出结果?录入输入数据输入数据常见的目标系统Web系统应用程序应用程序游戏游戏多机应用多机应用B/S架构C/S架构架构单机应用单机应用移动应用移动应用B/S架构的目标系统互联网浏览器浏览器浏览器浏览器目标系统(被测系统)网站系统用户与网站系统的交互过程打开浏览器,打开浏览器,键入网站系统键入网站系统的的URL地址地址网站系统向网站系统向网站系统发送发送HTTP请请求求网站系统收到网站系统收到并解析并解

2、析HTTP请求请求网站系统处理网站系统处理HTTP请求请求网站系统将请网站系统将请求处理结果封装求处理结果封装成成HTTP响应响应浏览器收到并浏览器收到并解析解析HTTP响应得响应得到到HTML页面页面用户做出下一用户做出下一步操作步操作HTTP请求HTTP响应网站系统的演进单机多机集群用户数量增加用户数量增加业务更加复杂业务更加复杂网络速度变快网络速度变快提升用户体验提升用户体验单机网站系统组成应用程序应用服务器数据库文件多机网站系统组成应用程序应用服务器数据库文件文件服务器数据库服务器应用缓存技术应用程序应用服务器数据库文件文件服务器数据库服务器分布式缓存服务器1分布式缓存分布式缓存服务器

3、2分布式缓存本地缓存应用程序本地缓存应用服务器2使用集群技术应用服务器文件服务器数据库服务器分布式缓存服务器1分布式缓存分布式缓存服务器2分布式缓存本地缓存应用程序1Nginx/LVS/H5负载均衡器数据库文件分布式缓存服务器2分布式缓存数据库改造应用程序本地缓存应用服务器2应用服务器文件服务器数据库服务器1本地缓存应用程序1Nginx/LVS/H5负载均衡器数据库文件分布式缓存服务器1分布式缓存数据库服务器2数据库主备写操作读操作同步同步CDN和反向代理分布式缓存服务器2分布式缓存应用程序本地缓存应用服务器2应用服务器文件服务器数据库服务器1本地缓存应用程序1Nginx/LVS/H5负载均衡

4、器数据库文件分布式缓存服务器1分布式缓存数据库服务器2数据库主备反向代理服务器CDNCDN文件服务器2文件使用分布式文件系统分布式缓存服务器2分布式缓存应用程序本地缓存应用服务器2应用服务器数据库服务器1本地缓存应用程序1Nginx/LVS/H5负载均衡器数据库文件服务器1文件分布式缓存服务器1分布式缓存数据库服务器2数据库主备反向代理服务器CDNCDN使用NoSQL和搜索引擎文件服务器2文件分布式缓存服务器2分布式缓存应用程序本地缓存应用服务器2应用服务器数据库服务器1本地缓存应用程序1Nginx/LVS/H5负载均衡器数据库文件服务器1文件分布式缓存服务器1分布式缓存数据库服务器2数据库主

5、备反向代理服务器CDNCDNNoSQL数据库搜索引擎拆分应用服务器文件服务器2文件分布式缓存服务器2分布式缓存应用程序本地缓存A业务应用服务器2数据库服务器1Nginx/LVS/H5负载均衡器数据库文件服务器1文件分布式缓存服务器1分布式缓存数据库服务器2数据库主备反向代理服务器CDNCDNNoSQL数据库搜索引擎A业务应用服务器1应用程序本地缓存B业务应用服务器2B业务应用服务器1WEB系统技术架构的革新系统技术架构的革新未曾停止未曾停止等待你的发现 第二部分 WEB应用测试1 web性能测试软件性能测试狭义的性能测试是指在给定条件基准的前提下被测目标系统能达到的运行程度。测试被测目标系统在

6、给定环境下的运行性能,度量其性能与预定义目标的差距。 。广义的性能测试则是压力测试、负载测试、强度测试、并发(用户)测试、大数据量测试、配置测试、可靠性测试等和性能相关的测试统称。软件性能测试定义:在极限负载(大数据量、大量并发用户等)情况下的测试,查看应用系统在峰值使用情况下操作行为,以及当负载降低后系统的状态,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。分类:压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试稳定性压力测试和极限负载情况下导致系统崩溃的破破坏性压力测试坏性压力测试。 目的:发现在什么条件下系统的性能变得不可接受,并通过对应用程序施加

7、越来越大的负载,直到发现应用程序性能下降的拐点。几种性能测试间的区别负载测试:载重20吨,汽车是否能以100公里时速行驶;或者载重20吨,汽车的最快速度是多少。压力测试:在20吨、30吨、40吨的情况下,汽车是否还能正常行驶,当载重多少时汽车将无法行驶,当汽车无法行驶后减少载重量,汽车是否还能继续正常行驶。容量测试:如果要去汽车以时速100公里的速度行驶,最多可以载重多少吨。 为什么要实现性能测试自动化 自动化性能测试的核心是向预部署系统施加工作负载,同 时评估系统性能和最终用户体验。 应用程序对目标用户的响应是否足够迅速? 应用程序是否能够游刃有余地处理预期用户负载? 应用程序是否能够处理业

8、务所需的事务数? 在预期和非预期用户负载下应用程序是否稳定? 是否能够确保用户在使用此应用程序时感到满意? HP LoadRunner介绍与负载测试设计LoadRunner工具使用1工具简介2工具方法论3VuGen的使用4Controller的使用5Analysis的使用工具简介LoadRunner产品包括五个核心组件:Virtual User Generator:虚拟用户生成器虚拟用户生成器,简称VuGen,用来录制被测目标系统客户端的操作,并自动生成虚拟用户脚本。Controller:控制器控制器,它是整个负载测试的控制中心,用来管理、设计、驱动及监控负载测试场景的执行以及被测目标系统的资

9、源使用情况。Load Generator:负载生成器负载生成器,可以是压力机操作系统中的一个进程或线程,它执行虚拟用户脚本以模拟真实用户的行为对被测目标系统发出请求并接收响应,进而模拟真实的负载。Analysis:分析器分析器,它读取控制器收集的测试过程数据,分析负载测试的结果,进一步生成测试报告。Launcher:加载器加载器,负责提供一个集成的操作界面,从中测试人员可以启动LoadRunner的所有其他组件。 术语场景场景文件根据性能要求定义每次测试期间发生的事件。Vuser在场景中,LoadRunner 用虚拟用户 (或称 Vuser)代替真实用户。 Vuser 模仿真实用户的操作来使用

10、应用系统。一个场景可以包含数十、数百乃至数千个 Vuser。Vuser 脚本Vuser 脚本描述 Vuser 在场景中执行的操作。由Init、Action、End三部分组成,其中在虚拟用户设置中可以让Action部分重复执行多次,而Init和End部分仅能执行1次。 事务 要评测服务器性能,需要定义事务。事务代表要评测的终端用户业务流程。 术语系统用户数系统用户数Nu:使用被测目标系统的总人数在线用户数在线用户数Nou:高峰时同时访问被测目标系统在线人数并发用户数并发用户数Ncu:在同一时刻与服务器进行了交互的在线用户数三者存在如下关系:Nu Nou Ncu性能需求一个拥有4000员工的公司,

11、需要开发一个仅供公司内部员工使用的办公自动化系统(OA系统),最高峰时有500人同时在线人同时在线。对于系统的典型用户来说,一天之内用户使用访问OA系统的平均时长为平均时长为4小时小时,通常用户仅会在8小时工作时间小时工作时间内访问该系统。那么,系统的并发用户数是多少呢?给出了一个并发用户数的推导公式:L为在线用户的平均会话时长,T为考察时间长度,为并发用户数的峰值。 工具方法论1.测试计划:测试前要规划测试对象的性能需求,定义压力指标;2.脚本编制:捕获实际用户的业务操作流程,形成自动脚本;3.定义场景:设定所采用的负载方案、业务流程组合和虚拟用户数量;4.执行场景:设定压力管理和执行压力场

12、景,进行性能参数的监控;5.分析结果:使用分析器导出结果生成分析图表;分析结果;6.诊断结论:给出诊断结论;7.调优:针对诊断结果进行调优;生成Vuser的流程录制业务流程修改强化脚本参数化关联检查点集合点事务化参数化参数化的作用 通过将一组待提交的数据进行变量化来达到在脚本运行时引入多样数据的目的;关联关联的作用 将执行过程中从服务端获取即时数据保存在某个变量中,在后续业务中进行提交的机制检查点检查点的作用 从业务过程的角度检查用例结果是否正确; 运行正确的两个层次:服务器响应正确;业务处理正确; HTTP状态码 服务响应正确不等于业务处理正确集合点集合点的作用 保证用户的绝对并发执行;在模

13、拟多用户对业务流程进行操作时,能够模拟绝对的并发压力;事务化事务化的作用LoadRunner中默认一个action是一个事务,统计事务处理时间是以整个action来统计。例如,脚本中包含用户登录用户登录、机票检索机票检索、订票订票、支付支付等活动,那么此时度量的结果是完成上述所有操作的总时间。如果希望知道虚拟用户完成每个不同操作的时间,需要使用事务(Transaction)对上述操作进行界定。通过创建事务,可以将连续的业务过程进行事务化分割,能够明确统计每一步骤的处理性能。Controller的使用场景的设定运行时设定监控设定网络模拟及IP欺骗场景设定Manual Scenario(手工场景设

14、置)手工设置压力的分布和增长、降低的策略,测试时工具根据设定的压力分配各条脚本的访问用户数量分布,可以选择根据百分比或直接设置绝对数量两种;适用于对预计访问压力的性能评估需要。Goal-Oriented Scenario(目标场景设置)设定压力运行的性能目标,由工具自动调整访问压力来尝试达到;适用于对系统性能需求明确进行验证需要。场景设定Scenario的设置starttime convert scenarioload generatorsschedule enable ip spooferResultsRendezvous运行时设定Run LogicPacingThink TimesMisc

15、ellaneousSpeed SimulationProxyPreferencesContent Check监控设定性能监控 trans response time trans / sec (passed)网络监控throughput服务器监控%processor time(Memory) available bytes%disk timeprocessor queue length专项监控Analysis的使用导出结果读取图表组合图表取样间隔总结 使用LoadRunner配合合理的方案,能够对系统进行有效的性能测试;性能测试是一项团队合作的工作,需要各个技术角色的参与,从被测系统的开发人员到

16、被测系统的软硬件维护人员多方的配合;HTTP协议状态码的含义100 : Continue 101 : witching Protocols 200 : OK 201 : Created 202 : Accepted 203 : Non-Authoritative Information 204 : No Content 205 : Reset Content 206 : Partial Content 300 : Multiple Choices 301 : Moved Permanently 302 : Found 303 : See Other 304 : Not Modified 305

17、 : Use Proxy 307 : Temporary Redirect 400 : Bad Request 401 : Unauthorized 402 : Payment Required 403 : Forbidden404 : Not Found 405 : Method Not Allowed 406 : Not Acceptable 407 : Proxy Authentication Required 408 : Request Time-out 409 : Conflict 410 : Gone 411 : Length Required 412 : Precondition

18、 Failed 413 : Request Entity Too Large 414 : Request-URI Too Large 415 : Unsupported Media Type 416 : Requested range not satisfiable 417 : Expectation Failed 500 : Internal Server Error 501 : Not Implemented 502 : Bad Gateway 503 : Service Unavailable 504 : Gateway Time-out 505 : HTTP Version not s

19、upported Run Logic脚本块由一组脚本组成的集合,脚本块区别于脚本组在于工具的脚本组是固定的,而脚本块使客户自定添加的;脚本组可以含有脚本块;脚本组脚本组是脚本或脚本块的组合,工具有三类固有的脚本组:Init:Init脚本组在一个虚拟并发用户的整个执行周期内只会运行一次;所有该组的脚本或脚本块都只会顺序执行一次;Run:Run脚本组在一个虚拟并发用户的整个执行周期内可以运行多次;End:同Init脚本组End脚本组在一个虚拟并发用户的整个执行周期内只会运行一次;IterationIteration特指的是Run脚本组的迭代;设置Iteration迭代次数时,将影响整个Run脚本组

20、的迭代次数;当Run脚本组需要内迭代时,则可以通过脚本块来进行内循环的设置;Preferencesadvanced-Winlnet replay instead of Sockets(Windows only)1.Socket和Winsocket ,Socket是通用的TCP/IP的协议实现, Winsocket是Socket在Windows下的针对windo Windows ws特性的封装实现,能发挥win Windows dows的特性但通用性较不足;2.Winlnet是实现了Winsocket的动态库;Content Check将系统的错误封装成便于识别和定位的日志记录;检索服务器返回的

21、数据包是否含有目标内容,存在即说明错误发生;通过LoadRunner进行负载测试负载测试步骤准备工作,在Jforum系统中注册test01-test10共10个用户录制脚本,创建Vuser创建场景,运行测试形成测试报告,分析结果创建创建VUSER创建用户登录和登出用户登录和登出的Vuser脚本启动界面单击创建/编辑脚本。这时将打开 VuGen 起 始页。创建Web脚本在欢迎使用 Virtual User Generator 区域中,单击新建脚本按钮。 这时将打开 “新建虚拟用户”对话框,显示 “新建单协议脚本”选项。创建Web脚本请确保 “类别”是热门协议。 VuGen 将列出适用于单协议脚本

22、的所有可用协议。 向下滚动列表,选择 Web (HTTP/HTML) 并单击创建,创建一个空白 Web 脚本。开始录制单击Next单击Start Recording准备开始录制在URL中填入JForum论坛的链接地址,注意此处需要替换成虚拟机中论坛的需要替换成虚拟机中论坛的IP地地址址http:/10.254.73.20:8080/jforum/forums/list.page打开IE初始化Vuser,记录生成的多个事件点击“登入”连接登录输入之前已经注册的正确用户名和密码单击“登录”按钮注销单击“注销test01”连接。停止录制单击浮动窗口上的“停止”按钮出现录制概要“录制概要”包含协议信息

23、以及会话期间创建的一系列操作。 VuGen 为录制期间 执行的每个步骤生成一个快照,即录制期间各窗口的图片。保存脚本单击工具栏保存按钮,输入需要保存的文件名,如login-logout。查看录制的脚本单击“Action”连接,查看刚刚录制的Vuser脚本要在脚本视图中查看脚本,请选择视图 脚本视图,或者单击脚本按钮。查看录制的脚本可以在该窗口中直接输入 C 或 LoadRunner API 函数以及控制流语句。回放录制的脚本单击Tasks中的Verify Replay按钮,回放已经录制的脚本回放成功后,出现右图所示提示。此时仅能说明录制脚本执行正确。回放录制的脚本若需要确保运行逻辑正确,需要对

24、比录制和回放时快照快照的差别。VuGen为录制期间执行的每个步骤生成一个快照,即录制期间各窗口的图片。添加事务单击单击Add Transaction的链接的链接单击单击New Transaction按钮,先后按钮,先后添加添加login和和logout两个事务两个事务查看事务代码单击Script按钮,切换到脚本视图,可以查看到刚刚添加的事务参数化用户登录信息选择视图 树视图进入树视图;或者单击Tree按钮进入树视图。在测试树中双击 Submit Data: jforum.page步骤。将打开 “提交数据步骤 属性”对话框。单击“ABC”按钮,在弹出的对话框中,在“参数名”输入框中输入“user

25、name”,单击“Properties”按钮。将常量值更改为变量值 输入文件名“userinfo.dat”单击“Create Table”按钮在弹出的对话框中单击“确定”按钮将常量值更改为变量值 通过“Add Column”和“Add Row”按钮,增加用户名和密码字段,录入test01-test10十个用户的信息在“By number”输入框中输入1单击“Close”按钮以相同的方式将password参数化将常量值更改为变量值 将常量值更改为变量值 完成username和password两个的参数化,单击“确定”按钮。将常量值更改为变量值 切换到脚本视图。可以查看到username和pass

26、word被参数化将登出中的test01替换为username,从而一起参数化保存对脚本的修改,完成Vuser脚本的制作。关闭Vugen。创建场景创建场景创建新场景打开Controller选择“Manual Scenario”选择login_logout脚本,单击“Add”按钮单击“OK”按钮,将login_logout脚本加入到新场景中。设计场景给场景命名“login-logout”设置“Start Vusers”、“Duration”和“Stop Vusers”单击“Run”按钮,切换到运行界面。增加Load Generator单击“Load Generators”按钮。在弹出对话框中单击“

27、Add”按钮在弹出对话框中,Name输入框中输入“localhost”,单击“OK”按钮,将本机添加到Controller的控制中。设置被监视Windows系统进入被监视windows系统,在开始运行中输入services.msc开启RemoteProcedureCall(RPC)和RemoteRegistry两个服务。进入被监视windows系统,在控制面板中,进入“用户帐户和家庭安全用户帐户管理帐户”选择管理员账户,单击“创建密码”连接,输入密码,如123456单击“创建密码”按钮增加对Windows主机的监控右键单击“Windows Resources”监视窗口,在弹出菜单中选择“Add

28、 Measurements”按钮。在弹出对话框中单击“Add”按钮在弹出对话框中,Name输入框中输入运行Tomcat的虚拟机IP地址,如“10.254.73.20”,选择Platform为“Windows Vista”,单击“OK”按钮,将测试机添加到监控中。设置用户名和密码单击“Add”按钮在弹出对话框中,输入被监控的Windows操作系统的管理员的用户名Administrator和密码123456单击“OK”按钮,设置被监控服务器的用户名和密码。单击“保存”按钮,保存修改后的场景。运行测试单击“Start Scenario”按钮,开始测试在运行测试过程中,观察运行时的指标参数,如Hits

29、/Second、Passed Transactions等。测试完成后,查看结果,如右图。形成测试报告形成测试报告形成测试报告单击“Analyze Results”按钮,开始对测试结果进行分析。分析保存测试报告分析测试报告单击“保存”按钮,保存测试报告。谢谢!谢谢! 第二部分 WEB应用测试3 web自动化测试URL和HTTP协议浏览器服务器请求相应HTTPURL全称是资源描述符,一个URL地址,它用于描述一个网络上的资源,如: http:/ 协议协议:/用户名用户名:密码密码域名域名:端口号端口号/目录目录/文件名文件名.文件后缀文件后缀?参数参数=值值#标志标志HTTP协议定义了与服务器交互

30、的不同方法,最基本的方法有4种:GET,POST,PUT,DELETE,分别对应着对这个资源的查,改,增,删4个操作。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。GET方法n最常见的解释:lGET使用URL或Cookie传参。而POST将数据放在BODY中。lGET的URL会有长度上的限制,则POST的数据则可以非常大。lPOST比GET安全,因为数据在地址栏上不可见。n实际上,在HTTP中GET和POST与数据如何传递没有关系;HTTP协议对GET和POST都没有对长度的限制;安全不安全和GET、POST没有关系。GET请求的数据会附在URL之后,以?分割URL和传输数

31、据,参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中XX中的XX为该符号以16进制表示的ASCIIPOST方法右键单击浏览器中的Web页面,选择查看源代码,定位到form使用WebScarab进行测试软件安装双击jar文件执行安装或者在命令行中执行如下命令:java -jar webscarab-installer-200

32、70504-1631.jar注:需要到安装包所在目录执行相应程序软件安装(续)进入安装程序,根据向导完成安装运行程序软件在桌面或开始菜单选择已安装的程序运行模式切换WebScarab有两种运行模式LiteFull本实验中需要使用Full模式运行从“Tool”中可以对模式进行切换切换后需要重启程序IE浏览器设置代理WebScarab具有代理功能,可作为用户和应用间的桥梁需要修改IE设置IE浏览器设置代理将代理指向为地址:localhost端口:8008此时,系统发往外部的请求都会经过代理服务器转发。设置WebScrab代理选择Proxy-Manual Edit,选中Intercept reque

33、sts前的复选框,保持GET和POST方法被选中这样,可以拦截所有浏览器发往外部的请求,除了所有图片和ping_session的请求。注:包括浏览器插件对外的链接访问JForum网站启动论坛系统,在IE地址栏输入本机的IP地址注:此处需要本机的IP地址。在命令行中键入ipconfig,查看本机的IP地址分析通信机制对网页的请求会被WebScrab拦截选择“会员注册”功能单击“会员注册”按钮,IE浏览器发往服务器的请求将被拦截单击Accept changes按钮,直到进入注册页面。进入注册页面填写注册信息会员:wtj,电子邮件:登录密码:123分析截获请求注意请求连接及填写的表单信息,POST方

34、法定位用户注册请求定位到forum.page的请求,其编号为71查看截获的请求双击forum.page请求,打开71号会话注:具体的请求编号因人而异Fuzzer功能右键单击71号会话,选择Use as fuzz templateFuzzer选择Fuzzer选项卡,查看模板信息添加测试数据用记事本生成类型如右图所示内容的文本文件,分别保存为userinfo.txt和usermail.txt。文件中每行代表一次请求的数据,可以用作用户名、密码、确认密码等信息。实际测试中可根据测试用例定义生成不同的测试数据文件。导入测试数据导入userinfo.txt中记录的用户信息导入测试数据同样的步骤导入use

35、rmail.txt中记录的邮件信息进行测试依次为表单项中的元素进行参数化,即导入测试数据点击“Start”开始测试,请求数会减少可修改测试数据,以重复多次完成测试用例检查测试结果可以查看到测试结果使用测试脚本添加的用户进行登录测试使用Selenium进行测试Selenium-IDE介绍使用Selenium IDE对JForum的用户注册模块进行测试Selenium-IDE是用来开发Selenium测试用例的一个工具。它以易于使用的FireFox插件形式出现,在浏览器显示的页面中,通过在浏览器插件的上下文菜单中执行Selenium的命令,选择向插件传递页面显示内容相关的参数,快速地实现测试用例的

36、开发。安装Firefox浏览器选择典型安装模式选择典型安装模式不需要把不需要把firefox设为默认浏览器设为默认浏览器安装Firefox浏览器不安装第三方工具不安装第三方工具完成安装,立即运行完成安装,立即运行firefox安装Firefox浏览器不导入任何数据不导入任何数据下次启动不检查是否默认浏览器下次启动不检查是否默认浏览器安装Firefox插件单击Alt键显示菜单,从“工具”菜单选择“附加组件”选择“从文件安装附加组件”选项在弹出文件选择窗口中选择selenium-ide-2.9.0.xpi插件,在浏览器将弹出的菜单中选择“安装”按钮选择“立即重启”安装Selenium IDE重启浏

37、览器后,在“工具”菜单中选择“Selenium IDE”运行之。注意:首先打开需要运行测试用例的页面,然后再启动Selenium IDE。Selenium IDE功能按钮介绍详见http:/seleniumhq.org/docs/02_selenium_ide.html 录制脚本修改脚本系统同时会记录用户所有输入,包括错误输入信息在录制脚本后需要修改输入,包括删除错误输入内容加入校验信息选择成功注册用户后系统的提示信息“恭喜您!”在右键菜单中选择“verifyText css=center b恭喜您!”选项此时会在IDE中出现校验命令运行测试用例保存测试用例运行测试用例运行测试用例分析错误原因

38、修改测试用例代码,直到测试用例通过SELENIUM WEBDRIVER高级内容:通过Java编程对JForum的登录模块进行测试安装Maven解压Maven压缩文件apache-maven-3.0.3-bin.zip到C盘根目录,目录结构如右图所示设置系统环境变量M2_HOME,变量值为Maven的解压路径,例如:C:apache-maven-3.0.3修改系统环境变量PATH将M2_HOME下的bin目录加入系统环境变量PATH中辅助选项设置MAVEN_OPTS环境变量为:-Xms256m -Xmx512m避免运行maven时出现内存溢出错误检查Maven安装在命令行中输入mvn -vers

39、ion,正确安装后应该有类似如下输出结果注意:安装Maven前必须已经正确安装配置JDK,并设置JAVA_HOME创建本地仓库创建c:m2目录,并将repository.rar压缩文件解压到c:m2目录下,生成本地仓库。设置环境变量M2_REPO,指向本地仓库的路径配置用户访问的settings.xml修改安装目录下conf文件夹里的settings.xml文件,在图示位置增加一行本地仓库的配置。将修改后的settings.xml位置文件拷贝到本地资源库中,即C:m2repository目录下。检查m2eclipse插件依次点击菜单栏中的FileNewProject,在弹出的对话框中,找到Ma

40、ven一项,再将其展开看到如图所示选项,说明Eclipse环境中已经安装了Maven的插件;否则需要手工安装该插件。禁用内嵌m2eclipse内嵌Maven模块通过Windows - Preferences打开Eclipse系统选项在弹出的对话框中展开左边的Maven项,选择Installation子项点击Add然后选择我们的Maven安装目录M2_HOME添加完毕之后选择这一个外部的Maven检查Eclipse中的Maven插件设置单击User Settings选项,确保用户设置和本地资源库设置正确编写pom.xml文件在任意位置创建MySel20Proj目录,编写如下pom.xml文件 4

41、.0.0 MySel20Proj MySel20Proj 1.0 org.seleniumhq.selenium selenium-java 2.47.1 创建maven项目在工程目录下运行:mvn clean install如果本地资源库配置正确,Maven将从本地资源库生成原始工程出现BUILD SUCCESS字样说明创建成功。生成项目框架运行结束后,Maven将在工程目录下的target文件夹中生成如下项目框架。该框架即为Selenium-WebDriver项目导入MySel20Proj项目到Eclipse运行命令mvn eclipse:eclipse导入MySel20Proj项目到Ec

42、lipseFile - Import. General - Existing Projects into Workspace 选择“Browse” 定位到MySel20Proj目录选择“ Finish”,完成项目导入创建源文件夹创建src/main/java源文件夹这是Maven的默认源文件夹,然后创建主测试文件登录页面代码分析通过FireFox浏览器的“查看元素”功能查看登录窗口的源代码对比登录前后页面变化登录前,页面顶部有“登录”连接,对于id为login登录后,页面顶部有“注销”连接,对于id为logout对比登录前后页面变化登录前,页面顶部左侧仅显示当前系统时间登录后,页面顶部左侧显示

43、用户最后一次登录时间创建测试主文件创建一个新的创建一个新的Class填写包名和类名填写包名和类名创建测试主文件package cn.edu.cuit.cs.selenium.example;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.support.ui.ExpectedCondi

44、tion;import org.openqa.selenium.support.ui.WebDriverWait;public class TestLogin public static String username = TiejunWang;public static String password = justatest;创建测试主文件public static void main(String args) / Create a new instance of the Firefox driver/ Notice that the remainder of the code relies

45、 on the interface,/ not the implementation.WebDriver driver = new FirefoxDriver();/ And now use this to visit JForumdriver.get(http:/localhost:8080/jforum/forums/list.page);/ Find the useranme and password elements by their namesWebElement usernameElement = driver.findElement(By.name(username);WebEl

46、ement passwordElement = driver.findElement(By.name(password);创建测试主文件/ Enter username and password for loginusernameElement.sendKeys(username);passwordElement.sendKeys(password);/ Check the welcome message before loginSystem.out.println(Before login);WebElement element = driver.findElement(By.classNa

47、me(gensmall);System.out.println(Welcome message is : + element.getText();/ Now submit the form. WebDriver will find the form for us from the elementusernameElement.submit();/ Wait for the page to load, timeout after 10 seconds(new WebDriverWait(driver, 10).until(new ExpectedCondition() public Boolea

48、n apply(WebDriver d) return (d.findElement(By.id(logout) != null););创建测试主文件/ Check the welcome message after loginSystem.out.println(After login);element = driver.findElement(By.className(gensmall);System.out.println(Welcome message is : + element.getText();/ Close the browserdriver.quit();运行测试文件右键单击TestLogin.java文件,选择“Run AS”选择“Java Application”查看结果此时程序会通过WebDriver同Firefox进行通信,自动进行登录并返回结果请确认此时Selenium IDE插件未打开查看Eclipse打印的结果信息谢谢!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号