版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
自動化框架串講姓名:王文慧研發(fā)中心用戶產(chǎn)品部導師:趙海洋目錄CONTENTS自動化框架引見01TESTNG框架引見02中心流程03工程總結與規(guī)劃04自動化框架引見自動化框架引見技術基于SeleniumWebDriver開源技術開發(fā)用Maven進展Project管理數(shù)據(jù)管理用CSV文件存儲測試數(shù)據(jù),實現(xiàn)測試數(shù)據(jù)與測試用例的分別測試數(shù)據(jù)管理方便,降低自動化腳本的維護本錢,實現(xiàn)數(shù)據(jù)驅動PO方式本身元素(WebElement)
實現(xiàn)功能(Services)TestNG組織測試自動化框架引見收益在集成測試階段快速實現(xiàn)回歸測試4.10版本開場執(zhí)行每個版本跑3-5次回歸測試兼容機型和系統(tǒng)〔本地跑〕,覆蓋外賣Top5機型,覆蓋系統(tǒng)4.0-6.定位的bug存在的問題版本間測試用例不兼容,兼容性開發(fā)本錢較高。比如shopdetail左右滑動的區(qū)域在4.9時是大圖下的長方形區(qū)域的id,4.10版本刪除了這個區(qū)域,導致這個元素id獲取不到,case報錯框架代碼目錄引見測試代碼目錄變量規(guī)范定義Page類case測試相關的工具類TestBase類|setup()等源代碼〔core〕目錄所需資源目錄〔報告相關的配置和模板、log4j〕Maven的依賴包,存放在本地默許路勁C:\user\...\.m2工程的主體資源Target是存放工程構建后的文件和目錄,jar包,war包,編譯的class文件等,target里面的內(nèi)容都是M2構建的時候生成的Src目錄包含一切工程的源碼文件,配置文件,資源文件等等,它的子目錄普通包含main、testGit運用ci.yml進展工程配置,包含如何構建工程的定義,普通放在根目錄改文件用于管理:源代碼,配置文件,url,工程的依工程的賴關系等等TestNG框架引見數(shù)據(jù)管理TESTNG框架引見即Testing,NextGeneration,下一代測試技術,是根據(jù)JUnit和NUnit思想,采用jdk的annotation技術來強化測試功能并借助XML文件強化測試組織構造而構建的測試框架。運用范圍運用步驟TESTNG單元測試集成測試系統(tǒng)測試編寫測試業(yè)務邏輯在配置測試信息運轉TestNG配置文件testng.xml數(shù)據(jù)管理TESTNG框架引見TestNG運轉方式1、Eclipse集成方式TestNG提供Eclipse插件,在runconfigure中進展配置2、Maven集成方式3、命令行方式Java
org.testng.TestNGtestng1.xml==右鍵運轉testNG數(shù)據(jù)管理TESTNG框架引見TestNG的主要特點:Annotation依賴性測試支持并發(fā)測試支持錯誤重運轉測試參數(shù)化測試支持測試分組經(jīng)過testng.xml來管理測試詳實的報告,可按照本人需求進展二次開發(fā)不僅僅適用于單元測試數(shù)據(jù)管理TESTNG框架引見TestNG運用annotation的優(yōu)點:方法稱號不受任何方式或者格式的束縛;如下是TestNG運用的annotation清單:?@BeforeSuite,@BeforeTest,@BeforeClass,@BeforeMethod,@BeforeGroups?@AfterSuite,@AfterTest,@AfterClass,@AfterMethod,@AfterGroups?@DataProvider?@ExpectedExceptions?@Factory?@Test?@Parameterswiki.inwaimai.baidu/pages/viewpage.action?pageId=11546672數(shù)據(jù)管理TESTNG框架引見根本運用當testNG運轉的case有失敗的時候,會在test-output目錄下生成一個testng-failed.xml文件,這對于批量執(zhí)行測試定位問題很有協(xié)助,testng可以單獨執(zhí)行這些失敗的測試;運用參數(shù)TestNG傳參數(shù)的兩種方式〔xml文件,@DataProvider〕下面這個方法沒用到數(shù)據(jù)管理TESTNG框架引見監(jiān)聽器雖然名字叫監(jiān)聽器,但現(xiàn)實上它們只是一些預定義的Java接口。用戶創(chuàng)建這些接口的實現(xiàn)類,并把它們參與到TestNG中,TestNG便會在測試運轉的不同時辰調(diào)用這些類中的接口方法監(jiān)聽器接口ListenerIExecutionListennerISuiteListenerIInvokedMethodListenerTestListenerAdapterIReporteronExecutionStart()onExecutionFinish()onStart(ISuitesuite)onFinish(ISuitesuite)beforeInvocation()afterInvocation()onStart()onFinish()onTestFailure()onTestSkipped()onTestSuccess()中心流程中心流程Coreutilsworkflowelements……TestSuiteTestCaseTestScriptTestDataCoreDriverHelperCsvFilepropertiesDataDriverParsecsvPageclassloaderListenerappiumDriver自動化框架ResultLog4jReportNgMailReportScreenShotsUIAutomatorUIAutomatorIOSAndroidSideH5chromedriverSelenium/AppiumDriverAppiumServerSendOperationCMDtoport4727WebDriverControllerAppiumClientListentoSocketPort4727Bootstrap.jarPCSideSorketJSON自動化框架end(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsonExecutionStart()開場監(jiān)聽測試,testng啟動執(zhí)行之前調(diào)用onExecutionFinish()測試終了監(jiān)聽,testng執(zhí)行完一切測試后調(diào)用ListenerAdapter中心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextends中心流程end啟動監(jiān)聽,監(jiān)聽器作為守護進程在后臺運轉
end(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextends初始化Property配置文件,放入系統(tǒng)屬性變量中System.getProperty(“〞);配置文件路勁/resource/config/Cpertis日志設置〔Log4j輸出〕
ListenerAdapter中心流程中心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextends執(zhí)行appDriver類的靜態(tài)方法塊,靜態(tài)變量endListenerAdapter1(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextends錄屏功能—我們沒用這個功能
endListenerAdapter中心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextends運轉子類Test的靜態(tài)變量endListenerAdapter中心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextends從父類到子類的靜態(tài)語句塊、靜態(tài)變量運轉終了,進入監(jiān)聽ListenerAdapter,開場運轉testNG.xml中的內(nèi)容:套件—測試集—測試方法endListenerAdapter中心流程1ListenerAdapter中心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsend中心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsend1ListenerAdapter測試集執(zhí)行終了,進入TestBase.java中執(zhí)行setup(),啟動app〔@BeforeTest〕HtmlReporterListener監(jiān)聽2ListenerAdapter(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsend1ListenerAdapter進入TestBase.java中執(zhí)行setup(),啟動app2ListenerAdapter中心流程(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsendListenerAdapter中心流程@BeforeClass初始化page,因ShopMenuTest承繼了TestBase類,故對initPage()進展實現(xiàn)改造獲取到csv中的元素,12(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsendListenerAdapter中心流程動態(tài)加載和創(chuàng)建class(IndexPage)對象12(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsend@Test運轉case中心流程ListenerAdapter(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsend中心流程ListenerAdapter元素.click(),怎樣獲取元素id的呢?這個框架已做了封裝AppWebelemt.java(IExecutionListener、ISuiteListener、IInvokedMethodListener、Ireporter、ITestListener)AutTest_TestNG.xmlstartListenerBaseTestBaseShopMenuTestListenerAppDriverDataDrivercoreextendsend中心流程最后一個case執(zhí)行終了—有始有終onExecutionFinish()執(zhí)行監(jiān)聽的終了方法onFinish()等@afterTestteardown()killapp工程總結與規(guī)劃收獲工程總結溝通才干跨
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年軟件開發(fā)知識產(chǎn)權服務合同范本
- 住宅買賣委托代理合同
- 施工場地文明施工責任書
- 【初中地理】第二章地圖基礎診斷卷 2024-2025學年人教版地理七年級上冊
- 人才發(fā)展合作方案協(xié)議
- 藝術家工作室合伙協(xié)議書樣本
- 專業(yè)庭院綠化施工合同示范
- 小產(chǎn)權房買賣合同匯編
- 2024年財務會計保密協(xié)議
- 投資公司勞務合同范本
- 垃圾清運服務應急處置方案
- 卡西尼卵形線在高考中應用
- (高清版)TDT 1068-2022 國土空間生態(tài)保護修復工程實施方案編制規(guī)程
- 波斯教圣女制度
- 無人機全行業(yè)保險
- 莫忘初心砥礪前行主題班會課件
- 電氣設備安全操作培訓
- 《反間防諜教育》課件
- 2020年03月護理查房-鎮(zhèn)痛分娩
- 預應力管樁施工常見質(zhì)量問題及處理
- 船舶專業(yè)大學生職業(yè)規(guī)劃
評論
0/150
提交評論