app自动化框架详细阐述.pptx

上传人:b****3 文档编号:2742777 上传时间:2022-11-10 格式:PPTX 页数:38 大小:1.14MB
下载 相关 举报
app自动化框架详细阐述.pptx_第1页
第1页 / 共38页
app自动化框架详细阐述.pptx_第2页
第2页 / 共38页
app自动化框架详细阐述.pptx_第3页
第3页 / 共38页
app自动化框架详细阐述.pptx_第4页
第4页 / 共38页
app自动化框架详细阐述.pptx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

app自动化框架详细阐述.pptx

《app自动化框架详细阐述.pptx》由会员分享,可在线阅读,更多相关《app自动化框架详细阐述.pptx(38页珍藏版)》请在冰豆网上搜索。

app自动化框架详细阐述.pptx

自动化框架串讲姓名:

王文慧研发中心用户产品部导师:

赵海洋目录CONTENTS自动化框架介绍01TESTNG框架介绍02核心流程03项目总结与规划04自动化框架介绍自动化框架介绍技术基于SeleniumWebDriver开源技术开发用Maven进行Project管理数据管理用CSV文件存储测试数据,实现测试数据与测试用例的分离测试数据管理方便,降低自动化脚本的维护成本,实现数据驱动PO模式自身元素(WebElement)实现功能(Services)TestNG组织测试自动化框架介绍收益在集成测试阶段快速实现回归测试4.10版本开始执行每个版本跑3-5次回归测试兼容机型和系统(本地跑),覆盖外卖Top5机型,覆盖系统4.0-6.定位的bug存在的问题p版本间测试用例不兼容,兼容性开发成本较高。

比如shopdetail左右滑动的区域在4.9时是大图下的长方形区域的id,4.10版本删除了这个区域,导致这个元素id获取不到,case报错框架代码目录介绍测试代码目录变量规范定义Page类case测试相关的工具类TestBase类|setup()等源代码(core)目录所需资源目录(报告相关的配置和模板、log4j)Maven的依赖包,存放在本地默认路劲C:

user.m2项目的主体资源Target是存放项目构建后的文件和目录,jar包,war包,编译的class文件等,target里面的内容都是M2构建的时候生成的Src目录包含所有工程的源码文件,配置文件,资源文件等等,它的子目录一般包含main、testGit使用ci.yml进行项目配置,包含如何构建项目的定义,一般放在根目录改文件用于管理:

源代码,配置文件,url,项目的依项目的赖关系等等TestNG框架介绍数据管理TESTNG框架介绍即Testing,NextGeneration,下一代测试技术,是根据JUnit和NUnit思想,采用jdk的annotation技术来强化测试功能并借助XML文件强化测试组织结构而构建的测试框架。

应用范围使用步骤TESTNG单元测试集成测试系统测试编写测试业务逻辑在配置测试信息运行TestNG配置文件testng.xml数据管理TESTNG框架介绍TestNG运行方式1、Eclipse集成方式TestNG提供Eclipse插件,在runconfigure中进行配置2、Maven集成方式3、命令行方式Javaorg.testng.TestNGtestng1.xml=右键运行testNG数据管理TESTNG框架介绍TestNG的主要特点:

Annotation依赖性测试支持并发测试支持错误重运行测试参数化测试支持测试分组通过testng.xml来管理测试详实的报告,可按照自己需要进行二次开发不仅仅适用于单元测试数据管理TESTNG框架介绍TestNG使用annotation的优点:

方法名称不受任何模式或者格式的束缚;如下是TestNG使用的annotation清单:

BeforeSuite,BeforeTest,BeforeClass,BeforeMethod,BeforeGroupsAfterSuite,AfterTest,AfterClass,AfterMethod,AfterGroupsDataProviderExpectedExceptionsFactoryTestParametershttp:

/suite)onFinish(ISuitesuite)beforeInvocation()afterInvocation()onStart()onFinish()onTestFailure()onTestSkipped()onTestSuccess()核心流程核心流程CoreutilsworkflowelementsTestSuiteTestCaseTestScriptTestDataCoreDriverHelperCsvFilepropertiesDataDriverParsecsvPageclassloaderListenerappiumDriver自动化框架ResultLog4jReportNgMailReportScreenShotsUIAutomatorUIAutomatorIOSAndroidSideH5chromedriverSelenium/AppiumDriverAppiumServerSendOperationCMDtoport4727WebDriverControllerAppiumClientListentoSocketPort4727Bootstrap.jarPCSideSorketJSON自动化框架end(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsonExecutionStart()开始监听测试,testng启动执行之前调用onExecutionFinish()测试结束监听,testng执行完所有测试后调用ListenerAdapter核心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextends核心流程end启动监听,监听器作为守护进程在后台运行end(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextends初始化Property配置文件,放入系统属性变量中System.getProperty(“”);配置文件路劲/resource/config/Config.propertis日志设置(Log4j输出)ListenerAdapter核心流程核心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextends执行appDriver类的静态方法块,静态变量endListenerAdapter1(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextends录屏功能我们没用这个功能endListenerAdapter核心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextends运行子类Test的静态变量endListenerAdapter核心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextends从父类到子类的静态语句块、静态变量运行结束,进入监听ListenerAdapter,开始运行testNG.xml中的内容:

套件测试集测试方法endListenerAdapter核心流程1ListenerAdapter核心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsend核心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsend1ListenerAdapter测试集执行结束,进入TestBase.java中执行setup(),启动app(BeforeTest)HtmlReporterListener监听2ListenerAdapter(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsend1ListenerAdapter进入TestBase.java中执行setup(),启动app2ListenerAdapter核心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsendListenerAdapter核心流程BeforeClass初始化page,因ShopMenuTest继承了TestBase类,故对initPage()进行实现改造获取到csv中的元素,12(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsendListenerAdapter核心流程动态加载和创建class(IndexPage)对象12(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest

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

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1