毕业论文基于selenium框架的web自动化测试系统的设计与实现内容摘要:
个或多个逻辑操作的集合,即一个测试用户脚本。 比如,在客户端访问资源的测试用例,它调用了客户端登录方法和访问资源方法。 测试用例脚本 脚本与页面对象库分离使得脚本在一定程度上独立于 WEB 页面,脚本没有直接的处理页面元素,代码通过元素对象映射表获取赋有 WEB 页面标签值的变量。 目前实现了一半,页面对象库已经独立于脚本单独管理,但暂时是写死在常量类当中再赋给变量,后期可做扩展维护。 WEB 页面对象包括 HTML 标签、 XPath 和页面内容(文本、图片、对话框中的值等),当页面对象变更后,一般情 况下不需要再修改脚本,只要修改页面对象库即可。 代理( Agent)层 代理( Agent)层主要包括“页面元素操作组件”和一系列“工具组件”。 “页面元素操作组件”通过在接口( interface)中定义例如打开浏览器、在输入框中输入值、点击页面元素等抽象方法,并开发了针对 IE浏览器的具体实现类,实现针对 IE浏览器页面元素的各种操作,并提供给脚本调用。 脚本层只需要关心被测试的应用是针对什么浏览器即可。 通过配置,动态选择创建的对象,调用针对指定浏览器的页面元素操作。 “工具组件”目前包括例如 Comparator(对象比较器,用于页面对象排序), Log(功能实现和调用封装), DateUtils(日期、时间处理), Random(各种随机文本生成接口), Class For Name(根据配置动态创建对象), Regex(各种正则表达式判断功能实现), Dynamic file lookup(动态文件查找), Threadsleep(线程等待封装)等一系列功能。 UI Driver 层 底层功能和测试业务并不相关,主要是控制 ATS 正常运行的一些机制,包括了多线程脚本运行管理机制、多远程客户端控制管理机制, ATS 启动控制 机制, ATS 运行环境浙江财经大学本科生毕业论文(设计 ) 11 管理机制,多种类浏览器测试管理机制等底层功能实现。 浙江财经大学本科生毕业论文(设计 ) 12 7 系统实现 日志管理模块 日志管理模块主要是通过 Apache 的一个开放源代码项目即 Log4j 来实现,在本系统设计中主要有两大作用。 准确定位 日志管理便于开发人员在开发过程中运行测试用例时,可以准确定位当前程序已完成的某种处理的记录及正在进行的操作,当然更易于找到问题出现的位置,提高开发效率。 配置文件 如下所示: ?xml version= encoding=UTF8 ? !DOCTYPE log4j:configuration SYSTEM log4j:configuration xmlns:log4j=39。 appender name=CONSOLE class= layout class= param name=ConversionPattern value=[%p]%m %n[%d{yyyyMMdd HH:mm:ss}](%c:%L)%n%n / /layout /appender appender name=INFO class= param name=Encoding value=UTF8 / param name=File value=../logs/ / param name=Append value=true / param name=MaxFileSize value=1MB / param name=MaxBackupIndex value=10000 / layout class= param name=ConversionPattern value=%d %c:%L [%p] %m%n / /layout !限制输出级别 filter class= param name=LevelMin value=INFO/ param name=LevelMax value=ERROR/ /filter /appender 浙江财经大学本科生毕业论文(设计 ) 13 appender name=ERROR class= param name=Encoding value=UTF8 / param name=File value=../logs/ / param name=Append value=true / param name=MaxFileSize value=1MB / param name=MaxBackupIndex value=10000 / layout class= param name=ConversionPattern value=%d %c:%L [%p] %m%n / /layout !限制输出级别 filter class= param name=LevelMin value=ERROR/ param name=LevelMax value=ERROR/ /filter /appender !通过 logger/logger的定义可以将各个包中的类日志输出到不同的日 志文件 中 !ATS 平台的日志管理 logger name= additivity=false level value=INFO / appenderref ref=INFO / appenderref ref=ERROR / appenderref ref=CONSOLE / /logger !ezg 平台的日志管理 logger name= additivity=false level value=INFO / appenderref ref=INFO / appenderref ref=ERROR / appenderref ref=CONSOLE / /logger root priority value=info / appenderref ref=CONSOLE / appenderref ref=INFO / appenderref ref=ERROR / /root /log4j:configuration 浙江财经大学本科生毕业论文(设计 ) 14 日志文件配置完成,其使用如下: //声明日志对象 private static Logger logger = ()。 //“信息”的输出 ((公告发布者账号登录 ))。 //“错误信息”的输出 ((methodName, false,页面元素被异常匹配到。 具体原因如下 , + ()))。 提高开发效率 可以通过文件配置,将出现问题的日志信息打包,便于开发人员集中处理程序中出现的问题。 public static void setFile(String className){ Appender infoAppender = (). getAppender()。 Appender errorAppender = (). getAppender()。 String path = (4,(.))。 path = + + (\\., \\+)。 //截取类名 IeBrowseAWImpl className = ((.)+1)。 if(local.equals(())) { //如果是 INFO 信息 if (infoAppender instanceof RollingFileAppender) { RollingFileAppender fappender = (RollingFileAppender) infoAppender。 (logs + + path + + info + + className + .log)。 ()。 } //如果是 ERROR 信息 if (errorAppender instanceof RollingFileAppender) { RollingFileAppender fappender = (RollingFileAppender) errorAppender。 (logs + + path + + error + + className + .log)。 ()。 浙江财经大学本科生毕业论文(设计 ) 15 } } } 以上代码动态处理 Log 日志输出目录 和输出文件,按照类名作为文件名,这样方便日志文件打包后,对应开发文件的查找。 页面对象模块 主要用于对被测软件的每一界面 (UI)均建立相关的对象模型,方便最上层调用,这一层需根据软件的不断更新而更改,下面将以公告通知列表页面(如图 71 所示)为对象进行介绍。 图 71 公告通知列表页面 根据页面对象的特点及系统需要,主要将页面对象规划为三个小模块,分别是页面元素、元素的 setter 和 getter 方法及页面元素的操作(如点击新建按钮,点击标题链接等)。 部分页面元素定义如下: /**公告主题 */ private String subject_id =。 private String subject =。 浙江财经大学本科生毕业论文(设计 ) 16 /**公告类型第一个 下拉框 */ private String noticeType_id =。 private String noticeType =。 /**公告类型第二个下拉框 */ private String gglx_id =。 private String gglx =。 /**所属栏目 */ private String boardIdQuery_id =。 private String boardIdQuery =。 /**开始日期 */ private String messageStartDate_id =。 private String messageStartDate =。 /**结束日期 */ private String messageEndDate_id =。 private String messageEndDate =。 页面元素的定义使得当页面发生变化时,只需要在当前页面对象中做一次修改全部完成,不需要再逻辑代码中反复做修改,提高开发效率。 部分 setter 和 getter 方法如下: public String getSubject() { return subject。 } public void setSubject(String subject) { = subject。 } public String getNoticeType() { return noticeType。 } public void setNoticeType(String noticeType) { = noticeType。 } setter 和 getter 方法的便于在外部类方法中对页面对象元素值的修改及使用。 页面元素操作方法(以新增一条简单公告为例)如下: public boolean add(BaseBrowse broDriver, WebDriver driver) throws Exception { (driver, (), 浙江财经大学本科生毕业论文(设计 ) 17 )。 ((点击新增按钮 ))。 (broDriver, driver)。 ((新增公告结束 ))。 boolean exsit = (broDriver, driver, ())。 if(exsit){ ((找到“新建”按钮,公告列表页面加载完毕 ))。 }else { ((未找到“新建”按钮,公告列表页面加载失败 ))。 } return exsit。 } 通 过以上三步把页面元素及对元素的操作完成后,就写好了当前页面的对象,再测试用例中要用到的时候,需要在其中声明一下即可使用。 测试用例脚本模块 以下是登陆的测试脚本,当加载 数据配置文件到测试套件中,初始化测试套件后,启动 TestNG 类, testng 框架就会对测试套件进行解析, testng 框架通过对测试套件中的 数据配置文件。毕业论文基于selenium框架的web自动化测试系统的设计与实现
相关推荐
第二,直接出口,其特点是要在国外设立派出机构,要投入较大经费,但可以因直接进入海外市场而获得第一手时常信息和国际化经营方法。 第二、契约式进入方式:契约式进入方式又称为非股权安排或契约安排,指在不涉及股权和企业产权的前提下,以契约转让无形资产的形式进入目标市场的经营方式。 具体的途径有:第一,许可证协议,此种方式的有利之处是费用低、障碍小、风险小,不利的是控制力量弱 、机会成本大、潜在竞争激烈。
........................... 22 加大基础培训力度 .................................................................... 22 14 发挥三级职工教育网的作用 .................................................. 22 提高职工素质 ..........
使用时将 3脚接地,可起到屏蔽作用。 本设计使用的 AD590 为 TO- 52,其测温范围 是- 55~+ 150℃,最大非线性误差为177。 ℃。 7 7 图 33 AD590 外形与符号 图 34 25℃时电流与温度关系 AD590 的电流-温度( IT) 特性曲线如图 5 所示,热力学温度值与摄氏温 度值换算关系为: ( ) ( ) 27 5t T K℃ ( 1) 3. 2. 2
普遍提高、知识经济即将 到来的今天,特别是在那些高级人才云集的跨国公司是站得住脚的。 当然这种实现自我价值的需要在外界 6 6 物质条件相同的情况下也存在着较大的个体差异,但那些自我实现欲望强烈的人在公司的生存与发展中起决定性作用。 这种假设使企业将人力资源管理的目标放在提高员工工作生活质量、满足他们成长和自我实现的需要上。 在人事管理中,企业对人的看法局限于人力是一种成本,在使用时以节约为目标
,( 4) :84~86。 ?2? 尹丽丽 . 大学生短信语言的性别差异 [D].北京林业大学 .2020 年。 ?3? Tasuku Igarashi, Jiro Takai and Toshikazu Yoshida. A Longitudinal Study of Social Network Development via Mobile Phone Text Messages:
而忽视了作为学习主体的人,忽视了个体发展的需要。 :20 世纪,工具论广为流传。 美术教育被当作是对儿童进行教育的工具和手段。 这实际上是一种以儿童为中心的观点,在当时产生了深刻的影响。 这一价值取向是对社会本位论的反驳,强调个体的发展。 这一时期,是以里德、罗恩菲尔德为代表的。 :受到以学科基本结构为框架来进行教育的影响,本质论代替工具论,成为美术河南教育学院本科毕业论文(设计) 6