app自动化框架详细阐述_第1页
app自动化框架详细阐述_第2页
app自动化框架详细阐述_第3页
app自动化框架详细阐述_第4页
app自动化框架详细阐述_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,自动化框架串讲,姓名:王文慧,研发中心用户产品部,导师:赵海洋,目录 CONTENTS,自动化框架介绍,TESTNG框架介绍,核心流程,项目总结与规划,自动化框架介绍,自动化框架介绍,技术,基于Selenium WebDriver开源技术开发,用Maven进行Project管理,数据管理,用CSV文件存储测试数据,实现测试数据与测试用例的分离,测试数据管理方便,降低自动化脚本的维护成本,实现数据驱动,PO模式,自身元素(WebElement),实现功能 (Services),TestNG组织测试,自动化框架介绍,收益,在集成测试阶段快速实现回归测试 4.10版本开始执行 每个版本跑3-5次回

2、归测试 兼容机型和系统(本地跑),覆盖外卖Top5机型,覆盖系统4.0-6. 定位的bug,存在的问题,版本间测试用例不兼容,兼容性开发成本较高。 比如shopdetail 左右滑动的区域 在4.9时是大图下的长方形区域的id,4.10版本删除了这个区域,导致这个元素id获取不到,case报错,框架代码目录介绍,TestNG框架介绍,数据管理,TESTNG框架介绍,即Testing, Next Generation,下一代测试技术,是根据JUnit和NUnit思想,采用jdk的annotation技术来强化测试功能并借助XML 文件强化测试组织结构而构建的测试框架。,应用范围,使用步骤,TES

3、TNG,单元测试 集成测试 系统测试,编写测试业务逻辑 在配置测试信息 运行TestNG配置文件testng.xml,数据管理,TESTNG框架介绍,TestNG运行方式,1、Eclipse集成方式 TestNG提供Eclipse插件,在run configure中进行配置,2、Maven集成方式,3、命令行方式 Javaorg.testng.TestNG testng1.xml = 右键运行testNG,数据管理,TESTNG框架介绍,TestNG的主要特点:,Annotation 依赖性测试 支持并发测试 支持错误重运行测试 参数化测试 支持测试分组 通过testng.xml来管理测试 详

4、实的报告,可按照自己需要进行二次开发 不仅仅适用于单元测试,数据管理,TESTNG框架介绍,TestNG使用annotation的优点:,方法名称不受任何模式或者格式的束缚; 如下是TestNG使用的annotation清单: BeforeSuite, BeforeTest, BeforeClass, BeforeMethod, BeforeGroups AfterSuite, AfterTest, AfterClass, AfterMethod, AfterGroups DataProvider ExpectedExceptions Factory Test Parameters,数据管理,

5、TESTNG框架介绍,基本使用,当testNG运行的case有失败的时候,会在test-output目录下生成一个testng-failed.xml文件,这对于批量执行测试定位问题很有帮助,testng可以单独执行这些失败的测试;,使用参数,TestNG传参数的两种方式(xml文件,DataProvider)下面这个方法没用到,数据管理,TESTNG框架介绍,监听器,尽管名字叫监听器,但事实上它们只是一些预定义的 Java 接口。用户创建这些接口的实现类,并把它们加入到 TestNG 中,TestNG 便会在测试运行的不同时刻调用这些类中的接口方法,监听器接口,Listener,IExecut

6、ionListenner,ISuiteListener,IInvokedMethodListener,TestListenerAdapter,IReporter,onExecutionStart(),onExecutionFinish(),onStart(ISuite suite),onFinish(ISuite suite),beforeInvocation(),afterInvocation(),onStart(),onFinish(),onTestFailure(),onTestSkipped(),onTestSuccess(),核心流程,核心流程,自动化框架,自动化框架,end,onE

7、xecutionStart() 开始监听测试,testng启动执行之前调用,onExecutionFinish() 测试结束监听,testng执行完所有测试后调用,ListenerAdapter,核心流程,核心流程,end,启动监听,监听器作为守护进程在后台运行,end,核心流程,核心流程,end,ListenerAdapter,1,录屏功能我们没用这个功能,end,ListenerAdapter,核心流程,end,ListenerAdapter,核心流程,end,ListenerAdapter,核心流程,1,ListenerAdapter,1,ListenerAdapter,测试集执行结束,

8、进入TestBase.java中执行setup(),启动app (BeforeTest) HtmlReporterListener监听,2,ListenerAdapter,1,ListenerAdapter,进入TestBase.java中执行setup(),启动app,2,ListenerAdapter,核心流程,ListenerAdapter,核心流程,BeforeClass 初始化page,因ShopMenuTest 继承了TestBase类,故对initPage() 进行实现改造 获取到csv中的元素,1,2,ListenerAdapter,核心流程,动态加载和创建class(Inde

9、xPage)对象,1,2,Test运行case,核心流程,ListenerAdapter,核心流程,ListenerAdapter,元素.click(),怎么获取元素id的呢?这个框架已做了封装AppWebelemt.java,核心流程,最后一个case执行结束有始有终 onExecutionFinish()执行监听的结束方法onFinish()等 afterTest teardown() killapp,项目总结与规划,收获,项目总结,滚动查询:SearchOperate.WaitForStringShowAndClick_Scroll(String strings) 这个方法有时候滑的很快,导致当前元素已翻页,故而找不到就会报错,且滑动查找执行太慢,当前case中,如果点击进入第二个页面,因某个原因报错,导致无法重跑case ,怎么办呢? trycatch() ,一个页面中,即有上下滑动,又有左右滑动,如果直接用封装的方法swip()滑动,因为默认swip() 的滑动时间是0.5s,导致整个滑动过程特别快,在下一步操作时会报错,进入第三方页面时,必须采用系统返回键返回

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论