版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
□動(dòng)化測(cè)試□試題(口)□動(dòng)化測(cè)試□試題(口)N0.1什么是□動(dòng)化測(cè)試□動(dòng)化測(cè)試就是把以□為驅(qū)動(dòng)的測(cè)試□為轉(zhuǎn)化為機(jī)器執(zhí)口的□種過程,即摹擬□□測(cè)試的步驟,通過執(zhí)□測(cè)試腳本□動(dòng)地測(cè)試軟件;□動(dòng)化測(cè)試就是程序(腳本)測(cè)試程序,使口□動(dòng)化□具編寫、執(zhí)□測(cè)試□員測(cè)試腳本和案例的技術(shù)□動(dòng)化測(cè)試的主要□標(biāo)是減少□動(dòng)運(yùn)□的測(cè)試□例數(shù)量,□不是徹底取銷□動(dòng)測(cè)試。N0.2什么是分層測(cè)試?口1?數(shù)據(jù)層。2.接□層’°3.UI層N0.3□動(dòng)化測(cè)試的適□和不適□場(chǎng)景□動(dòng)化測(cè)試決定基于ROI(投資回報(bào)率),□動(dòng)化測(cè)試適口于需求□較穩(wěn)定(不時(shí)常變更)的場(chǎng)景在以下情況下□選□動(dòng)化“重復(fù)性任務(wù)“煙霧和理智測(cè)試。使□多個(gè)數(shù)據(jù)集進(jìn)□測(cè)試-回歸測(cè)試□例以下場(chǎng)景不適合口□動(dòng)化。受測(cè)試的應(yīng)□程序頻繁更改°暫時(shí)測(cè)試。隨機(jī)測(cè)試N0.4你覺患上□動(dòng)化測(cè)試最□的缺陷是什么?°不穩(wěn)定。可靠性不強(qiáng)°不易維護(hù)。成本與收益N0.4項(xiàng)□使□的□動(dòng)化測(cè)試框架appium、selenium、unittest或者robotframework看項(xiàng)□情況回答根據(jù)□動(dòng)化測(cè)試□標(biāo)不□致,分為三種:appUID動(dòng)化測(cè)試,webUID動(dòng)化測(cè)試,接口□動(dòng)化測(cè)試。appUI搭建框架使口python+uniitest+appiumD具webUI搭建框架使口python+selenium+unittest接口測(cè)試框架使口python+unittest+requestsNO.5對(duì)庫的使口□□最熟悉哪個(gè)庫,如何使□這些庫的,是否做了基于復(fù)□的封裝,怎么考慮的這些封裝參考以下內(nèi)容:分別封裝了基礎(chǔ)類例如:等待某元素浮現(xiàn)的□法,更□便查找操作元素的□法,和被測(cè)試業(yè)務(wù)相關(guān)的類和□法代碼舉例:classBaseView(object):def__init__(selfdriverself.driver=driver#獲取□個(gè)頁□,參數(shù)為urldefget(self,*loc):returnself.driver.get(*loc)#普通元素定位by_idfind_element(By.id,'xxx')或者find_element_by_id('')by_namefind_element(B,'xxx')或者find_element_by_name('')by_xpathfind_element(By.xpath,'xxx')或者find_element_by_xpath('')by_class_namefind_element(By.className,'xxx')或者find_element_by_class_name('')by_link_textfind_element(By.linkText,'xxx')或者find_element_by_link_text('')by_partial_link_textfind_element(By.partialLinkText,'xxx')或者find_element_by_partial_link_text('')by_tag_namefind_element(By.tagName,'xxx')或者find_element_by_tag_name(”)by_css_selectorfind_element(By.cssSelector,'xxx')或者find_element_by_css_selector('')deffind_element(self*loc:returnselfdriverfind_element(*loc)#元素定位返回口個(gè)數(shù)組list,□般□于判斷元素是否存在deffind_elements(self,*loci:returnselfdriverfind_elements(*loc)#獲取屏幕口□defget_window_size(self):returnselfdriverget_window_size()#滑動(dòng)屏幕defswipe(selfstar_x,star_y,end_xend_y,duration):returnselfdriverswipestar_x,star_yend_x,end_y,duration)#時(shí)間等待(隱形等待)defimplicitly_wait(self,t):returnselfdriverimplicitly_waitt#時(shí)間等待(顯性等待)defweb_driver_wait(self,t,s#由于不長使□,再也不進(jìn)□具體的封裝#每經(jīng)過s秒就查看□次指定元素是否可見如果操作ts薄超時(shí)異常returnWebDriverWaitselfdriver,ts)#可以配合until或者until_not口法,再輔助以□些判斷條件,就可以構(gòu)成這樣□個(gè)場(chǎng)景NO.6如何設(shè)計(jì)□質(zhì)量□動(dòng)化腳本°1.使口四層結(jié)構(gòu)實(shí)現(xiàn)業(yè)務(wù)邏輯、腳本、數(shù)據(jù)分離?!?.使口PO設(shè)計(jì)模式,將□個(gè)頁□□到的元素和操作步驟封裝在□個(gè)頁□類中。如果□個(gè)元素定位發(fā)口了改變,我們只□修改這個(gè)頁□的元素屬性°3.對(duì)于頁□類的□法,我們盡量從客戶的正向邏輯去分析,□法中是□個(gè)獨(dú)□場(chǎng)景,例如:登錄到退出,□且不要想著把所有的步驟都封裝在□個(gè)□法中?!?測(cè)試□例設(shè)計(jì)中,減少測(cè)試□例之間的耦合度。N0.7如何在腳本中組織測(cè)試□例,按什么模式設(shè)計(jì)按pageobject設(shè)計(jì)模式(PO模式)pageobject設(shè)計(jì)模式:□1?通俗來講,把每一個(gè)頁□當(dāng)成□個(gè)頁□對(duì)象,頁□層寫定位元素□法和頁□操作□法。2.口例層從頁□層調(diào)□操作□法,寫成□例亠3.可以做到定位元素與腳本的分離NO.8pageobject設(shè)置模式中,是否需要在pag?口定位的口法中加之?dāng)嗫诓恍枰?page頁只做元素抓取和操作□法NO.gpageobject設(shè)計(jì)模式中,如何實(shí)現(xiàn)頁口的跳轉(zhuǎn)?初始化drive參數(shù),Page類傳driver參數(shù)MO.10你的□動(dòng)化□例的執(zhí)□策略是什么?口1.□動(dòng)化測(cè)試□例是□來監(jiān)控的。集成到j(luò)enkins,創(chuàng)建定時(shí)任務(wù)定時(shí)執(zhí)口;口2?有些□例在產(chǎn)品上線前必須回歸。jenkins上將任務(wù)綁定到開辟的build任務(wù)上,觸發(fā)執(zhí)□;口3.有些□例不需要時(shí)常執(zhí)□。jenkins創(chuàng)建□個(gè)任務(wù),需要執(zhí)□的時(shí)候□□構(gòu)建即可。N0.11如何去提升□例的穩(wěn)定性?□例在運(yùn)□過程中時(shí)常會(huì)浮現(xiàn)不穩(wěn)定的情況,也就是說這次可以通過,下次就沒辦法通過了可采口以下措施:。1.在時(shí)常檢測(cè)失敗的元素前盡量加之顯式等待時(shí)間,等要操作的元素浮現(xiàn)之后再執(zhí)□下□的操作;口2.多線程的時(shí)候,減少測(cè)試□例耦合度,因?yàn)槎嗑€程的執(zhí)□順序是不受控制的;口3.多口try捕捉,處理異常;。4.盡量使□測(cè)試?!醐h(huán)境,避免其他類型的測(cè)試同時(shí)進(jìn)□,對(duì)數(shù)據(jù)造成□擾。N0.12□動(dòng)化遇到□例仙I掉如何排查故障按層次說清晰排查失?。贺巍酢醪閼?yīng)□是否真的有bug,。確認(rèn)不是bug,是不是新版本引□了新的變更;調(diào)試腳本看看□□的腳本是不是因?yàn)闆]有等待元素浮現(xiàn)后就操作了;是不是元素上□有其他元素浮現(xiàn)這樣操作是不是操作了其他的元素上了N0.13什么是持續(xù)集成?頻繁的將代碼集成到主口,持續(xù)性的進(jìn)□項(xiàng)□的構(gòu)架,以便能能夠快速發(fā)現(xiàn)錯(cuò)誤,防□分□□幅度偏離主口N0.14什么□動(dòng)化測(cè)試的需要連接數(shù)據(jù)庫做數(shù)據(jù)校驗(yàn)?口UID動(dòng)化不需要。接□測(cè)試會(huì)需要NO.15如何去定位頁□上動(dòng)態(tài)加載的元素?□先觸發(fā)動(dòng)態(tài)事件,然后再定位。如果是動(dòng)態(tài)菜單,則需要層級(jí)定位。一一JS實(shí)現(xiàn)(對(duì)動(dòng)態(tài)事件封裝)N0.16如何去定位屬性動(dòng)態(tài)變化的元素?先去找該元素不變的屬性,要是都變,那就找不變的□元素,□層級(jí)定位(以不變應(yīng)萬變)屬性動(dòng)態(tài)變化也就是指該元素沒有固定的屬性值,可以通過:JS實(shí)現(xiàn),通過相對(duì)位置來定位,□如,paren/following-sibling/percent-siblingNO.17如何使□當(dāng)path定位□個(gè)兄弟元素因?yàn)樾值茉睾驮撛赝瑢儆凇鮽€(gè)□親節(jié)點(diǎn)的元素,所以使□xpath定位□個(gè)兄弟元素應(yīng)先定位□親節(jié)點(diǎn)的元素NO.18等待元素浮現(xiàn)的這個(gè)□法如何實(shí)現(xiàn)的□□個(gè)循環(huán)間隔時(shí)間去檢查這個(gè)元素是否可見NO.19怎樣去選擇口個(gè)下拉框中的value二xx的option?select類口□提供的□法:select_by_value(“xxx”)xpath的語法也可以定位到NO.20如何在定位元素后□亮元素(以調(diào)試為口的)?重置元素屬性,給定位的元素加背景、邊框NO.21webdriver可以口來做接□測(cè)試嗎?不可以,webdriver是專門做web的UID動(dòng)化參數(shù)NO.22什么是斷□和驗(yàn)證?斷口(assert):測(cè)試將會(huì)在檢查失敗時(shí)停口,并不運(yùn)□后續(xù)的檢查口優(yōu)點(diǎn):可以直接了當(dāng)?shù)目吹綑z查是否通過口缺點(diǎn):檢查失敗后,后續(xù)檢查不會(huì)執(zhí)口,□法采集那些檢查結(jié)果狀態(tài)驗(yàn)證(vertify):將不會(huì)終□測(cè)試-缺點(diǎn):你必須做更多的□作來檢查測(cè)試結(jié)果查看口志——>耗時(shí)多,所以更偏向于斷口NO.23什么是數(shù)據(jù)驅(qū)動(dòng)框架?它與關(guān)鍵字驅(qū)動(dòng)框架有什么不同?數(shù)據(jù)驅(qū)動(dòng)框架:在這個(gè)框架中,測(cè)試□例邏輯駐留在測(cè)試腳本中。測(cè)試數(shù)據(jù)被分離并保存在測(cè)試腳本之外。測(cè)試數(shù)據(jù)是從外部口件(Excels件)中讀取的,并被加載到測(cè)試腳本中的變量中。變量□于輸□值和驗(yàn)證值。關(guān)鍵字驅(qū)動(dòng)框架:關(guān)鍵字/表驅(qū)動(dòng)框架需要開辟數(shù)據(jù)表和關(guān)鍵字。它們獨(dú)□于執(zhí)□它們的測(cè)試□動(dòng)化□具??梢允埂趸蛘卟皇埂鯌?yīng)□程序來設(shè)計(jì)測(cè)試。在關(guān)鍵字驅(qū)動(dòng)的測(cè)試中,被測(cè)試的應(yīng)□程序的功能記錄在□個(gè)表格中,以及每一個(gè)測(cè)試的分步說明。NO.24解釋使□TestNG^不是JUnit框架的好處?TestNG相較于Junit的優(yōu)勢(shì):在JUnit中,我們必須聲明@BeforeClass,這是JUnit中的口個(gè)約束,□在TestNG中沒有像這樣的約束。TestNG提供了更多的setUp/tearDown級(jí)別???.@Before/AfterSuite□2.@Before/AfterTest心3.@Before/AfterGroupTestNG中不需要擴(kuò)展任何類。TestNG中沒有□法名稱約束,就像JUnitD樣。在TestNG中,我們可以告訴測(cè)試□個(gè)□法依賴于另□個(gè)□法,□在JUnit中這是不可能的。測(cè)試□例的分組在TestNG中可口,□JUnit中則不可口。執(zhí)□可以基于組完成。例如,如果你已經(jīng)定義了許多案例,并通過將2個(gè)組分別定義為“離職“與”回歸”隔離。如果你只是想執(zhí)口“理智”的情況,那就告訴TestNG執(zhí)口“理智”。TestNG將口動(dòng)執(zhí)□屬于“
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外貿(mào)安全培訓(xùn)課件
- 2026年牡丹江大學(xué)單招綜合素質(zhì)考試備考試題含詳細(xì)答案解析
- 2026浙江溫州市樂清市健康醫(yī)療管理集團(tuán)有限公司及下屬子公司招聘4人考試重點(diǎn)題庫及答案解析
- 2026年鄭州電子商務(wù)職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試參考題庫含詳細(xì)答案解析
- 2026年運(yùn)城師范高等專科學(xué)校單招綜合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 2026年鄭州澍青醫(yī)學(xué)高等??茖W(xué)校單招職業(yè)技能考試模擬試題含詳細(xì)答案解析
- 2026年湖南軟件職業(yè)技術(shù)大學(xué)單招職業(yè)技能考試備考題庫含詳細(xì)答案解析
- 2026年鶴崗師范高等專科學(xué)校高職單招職業(yè)適應(yīng)性測(cè)試備考題庫及答案詳細(xì)解析
- 2026年南京城市職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試模擬試題及答案詳細(xì)解析
- 2026年南陽職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 2025年全國茉莉花茶產(chǎn)銷形勢(shì)分析報(bào)告-
- 校本課程篆刻教學(xué)設(shè)計(jì)
- 明確安全生產(chǎn)領(lǐng)導(dǎo)小組的職責(zé)與安全管理體系
- 七年級(jí)下冊(cè)語文必背古詩文(字帖描紅)
- 電儀施工質(zhì)量總結(jié)
- 《甜花香型大葉種工夫紅茶》編制說明
- QSY06503.14-2020石油煉制與化工裝置工藝設(shè)計(jì)包編制規(guī)范 - 副本
- 柜式七氟丙烷-氣體滅火系統(tǒng)-安裝與施工-方案
- 核醫(yī)學(xué)全身骨顯像骨顯像課件
- 昌樂縣鎮(zhèn)區(qū)基準(zhǔn)地價(jià)更新修正體系匯編(完整版)資料
- 項(xiàng)目管理學(xué)課件戚安邦全
評(píng)論
0/150
提交評(píng)論