下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1/ 7頁(yè)面自動(dòng)化測(cè)試問(wèn)題匯總專(zhuān)業(yè)技術(shù)在學(xué)習(xí)完 Selenium 的大部分接口或者方法之后,你可能會(huì)去面試自動(dòng)化測(cè) 試,主要是 Selenium 的自動(dòng)化測(cè)試。下面這些問(wèn)題總結(jié),可能會(huì)對(duì)你有所幫 助。什么是 Selenium?Selenium 是一個(gè)開(kāi)源的 web 自動(dòng)化測(cè)試框架,主要是基于 web uI 的自動(dòng)化 測(cè)試?,F(xiàn)在的版本,逐步增加了對(duì)移動(dòng)端的自動(dòng)化測(cè)試。Sele nium 支持多種語(yǔ)言進(jìn)行開(kāi)發(fā)自動(dòng)化測(cè)試腳本,有 Java,python, C#, Javascript 等等。Selenium 支 持跨瀏覽器平臺(tái)測(cè)試。Sele nium 是否支持桌面應(yīng)用軟件的自動(dòng)化測(cè)試。Sele ni
2、um 不支持桌面軟件的自動(dòng)化測(cè)試,Sele nium 是根據(jù)網(wǎng)頁(yè)元素的屬性才 定位元素,而其他桌面軟件自動(dòng)化測(cè)試工具是根據(jù)桌面元素的位置來(lái)定位元素,當(dāng)然現(xiàn)在也有根據(jù)桌面元素的屬性來(lái)定位的Sele nium 是否支持用例的執(zhí)行的引擎引擎好比就是一個(gè)發(fā)動(dòng)機(jī)。Sele nium 是沒(méi)有關(guān)于測(cè)試用例和測(cè)試套件管理 和執(zhí)行的模塊。我們需要借助第三方單元測(cè)試框架來(lái)實(shí)現(xiàn)用例管理和用例的執(zhí) 行。例如 Java中有 Junit 或者 testNG,Python 中有 unittest 單元測(cè)試框架。Seleinum 是否有讀取 excel 文件的庫(kù)沒(méi)有,這里需要用到第三方工具。例如Apache P0 插件Sel
3、e nium 有哪些組件最早的有 Selenium IDE,ID 只支持安裝在 fiefox 上一個(gè)插件, 支持錄制自動(dòng)化 腳本。還有 remote RC 和 Grid 和 webdriver。我們一般最重要的就是使用 webdriver。Sele nium 有什么限制或者缺陷除了基于 web 的軟件和 mobile 的程序,selenium 不支持桌面軟件自動(dòng)化測(cè) 試。2/ 7軟件測(cè)試報(bào)告,和用例管理只能依賴(lài)第三方插件,例如 Junit/TestNG 和 unittest。由于它是免費(fèi)的軟件,所 以沒(méi)有供應(yīng)商去提供支持和服務(wù), 有問(wèn)題, 只能求助 sele nium 社區(qū)。 還有一個(gè) 就是,
4、 selenium入門(mén)門(mén)檻可能有點(diǎn)高,需要具備一定編程語(yǔ)言基礎(chǔ)的才能玩轉(zhuǎn)在 selenium 中,有哪些不同定位元素方法ID/className/Name/Li nkText/PartialLi nkText/Xpath/CSS selector什么是 imlicitlyWaitimlicitlyWait 是隱式等待,一般在查找元素的時(shí)候使用。例如,我設(shè)置一個(gè) 查找元素最大時(shí)間為 10 秒,使用了 imlicitlyWait 后,如果第一次沒(méi)有找到元素, 會(huì)在 10 秒之內(nèi)不斷循環(huán)去找元素,知道超過(guò)10 秒,報(bào)超時(shí)錯(cuò)誤。什么是線程等待有時(shí)候,我們需要強(qiáng)制設(shè)置線程等待,Thread.sleep(
5、2000),driver 這個(gè)實(shí)例,就是當(dāng)前的線程。你能解釋下 Selenium 這個(gè)框架嗎?你寫(xiě)的測(cè)試腳本能在不同瀏覽器上運(yùn)行嗎,支持跨瀏覽器平臺(tái)嗎?這里出現(xiàn)了跨瀏覽器平臺(tái)的概念,就是寫(xiě)一個(gè)測(cè)試用例,可以在主流的幾 個(gè)瀏覽器跑起來(lái)。 是的,我寫(xiě)的測(cè)試用例能在 IE,火狐和谷歌這三種瀏覽器上 運(yùn)行。主要是在windows 平臺(tái)上運(yùn)行腳本,所以 mac 的 safari 瀏覽器暫時(shí)沒(méi)有寫(xiě) 過(guò)。主要實(shí)現(xiàn)這個(gè)跨瀏覽器的思想就是,把瀏覽器類(lèi)型寫(xiě)到配置文件,代碼里 寫(xiě) if 語(yǔ)句去判斷配置文件的瀏覽器的類(lèi)型,來(lái)決定用什么瀏覽器去執(zhí)行測(cè)試用例關(guān)閉瀏覽器中 quit 和 close 的區(qū)別兩個(gè)都可以實(shí)現(xiàn)退出
6、瀏覽器 session 功能,close 是關(guān)閉你當(dāng)前聚焦的 tab 頁(yè) 面,而 quit是關(guān)閉全部瀏覽器 tab 頁(yè)面,并退出瀏覽器 session。知道這兩個(gè)區(qū)別, 我們就知道 quit般用在結(jié)束測(cè)試之前的操作,close 用在執(zhí)行用例過(guò)程中關(guān)閉 某一個(gè)頁(yè)面的操作在日歷這種 web 表單你是如何處理的?3/ 7首先要分析當(dāng)前網(wǎng)頁(yè)試用日歷插件的前端代碼,看看能不能通過(guò)元素定位, 點(diǎn)擊日期實(shí)現(xiàn),如果不能,可能需要借助javascript。還有些日歷控件一個(gè)文本輸入框,可以直接 sendKeys(方法來(lái)實(shí)現(xiàn)傳入一個(gè)時(shí)間的數(shù)據(jù)。如何處理下拉菜單?通常我們也可以通過(guò) Click 方法來(lái)點(diǎn)擊下拉菜單里
7、面的元素,還有一種方法, 在Selenium 中有一個(gè)類(lèi)叫 Select,支持這種下拉菜單交互的操作?;臼褂谜Z(yǔ)法是這樣的:Select Se二new Select(eleme nt);Se.selectBy In dex(i ndex);Se.selectByvalue(value);Se.selectByVisibleText(text);怎么驗(yàn)證勾選框是enable/disabled/ checked/Unchecked/ displayed/ not displayed ?你查找元素遇到過(guò)在 Frame 里面嗎?你是如何處理 Frame 里面元素定位的?有時(shí)候我們知道元素定位表達(dá)式?jīng)]有
8、問(wèn)題,但是還是提示no such element,那么我們就需要考慮這個(gè)元素是否在 frame 中。如果在,我們就需要從topwindow, 通過(guò)swithcTo.Frame()方法來(lái)切換到目標(biāo)frame中, 可以通過(guò)frame 的name和 id 和索引三種方法來(lái)定位 frame。在 selenium 中如何處理多窗口?這里需要用到 swithTo 方法。需要獲取當(dāng)前瀏覽器多窗口句柄,然后根據(jù)判斷跳轉(zhuǎn)新句柄還是舊句柄如何處理 alert 彈窗我們常見(jiàn)的 alert 彈窗有兩種:基于 windows 彈窗和基于 web 頁(yè)面彈窗4/ 7我們知道,webdriver 是能夠處理 alert 彈窗
9、的,Selenium 提供了 Alert 這個(gè)接 口。相關(guān)操作代碼如下:/切換到 AlertAlert alert = driver.switchTo().alert();/點(diǎn)擊彈窗上確定按鈕alert.accept();/點(diǎn)擊彈窗的取消按鈕alert.dismiss()/獲取彈窗上線上的文本文字內(nèi)容alert.getText();/有些彈窗還支持文本輸入,這個(gè)可以把要輸入字符通過(guò)sendkeys 方法輸入alert.se ndkeys();舉例一下你遇到過(guò)那些異常,在selenium 自動(dòng)化測(cè)試過(guò)程中1. Eleme ntNotSelectableException :元素不能選擇異常2.
10、Eleme ntNotVisibleExceptio n :元素不可見(jiàn)異常3. NoSuchAttributeExceptio n :沒(méi)有這樣屬性異常4. NoSuchElementException 沒(méi)有該元素異常5. NoSuchFrameException :沒(méi)有該 frame 異常6. TimeoutException :超時(shí)異常5/ 77. Eleme nt not visible at this point :在當(dāng)前點(diǎn)元素不可見(jiàn)fin dEleme nt 和 Fin dEleme nts 有什么區(qū)別?首先,兩個(gè)都是查找元素,都支持八大元素定位方法。fin dEleme nt()得到
11、的只有一個(gè)元素,如果根據(jù)提供的元素定位方式找不到,會(huì)報(bào)n oSuchEleme nt 異常。fin dEleme nts()返回的是一組元素,所以我們需要根據(jù)能夠找到一組元素的 表達(dá)式去定位,返回一組元素我們可以放在集合里,這樣我們就可以使用集合 里面的迭代方法去遍歷元素,拿到元素去做其他操作。如何獲取頁(yè)面標(biāo)題,懸浮文本和錯(cuò)誤文本,并驗(yàn)證?標(biāo)題,我們可以通過(guò) driver.getTitle()方法來(lái)得到一個(gè)字符串,然后使用字符 串的containts 方法或者 equals 方法去進(jìn)行斷言。懸浮文本(tooltip ), 一般是利用 Actions 類(lèi), 然后鼠標(biāo)懸停方法, 然后通過(guò) getT
12、ext()方法來(lái)得到這個(gè) tooltip 字符串。錯(cuò)誤信息,直接把這個(gè)錯(cuò)誤字段先進(jìn)行定位,然后通過(guò)getText()方法拿到錯(cuò)誤文本,主要的斷言有包含,相等,不相等,不包含,以什么開(kāi)頭等。你是如何管理你的測(cè)試用例并執(zhí)行?寫(xiě)用例和管理并執(zhí)行用例,我們都需要借助單元測(cè)試框架來(lái)實(shí)現(xiàn),如果是Java 語(yǔ)言一般有 junit 和 TestNG 如果是 python,常見(jiàn)的有 unittest。就你實(shí)際情況,說(shuō)一下。例如我使用TestNG 比較多,需要配置 testng.xml文件來(lái)實(shí)現(xiàn)測(cè)試用例的執(zhí)行。有時(shí)候需要配置多個(gè)testng.xml 去實(shí)現(xiàn)不同的任務(wù)場(chǎng)景。再展開(kāi),可能問(wèn)你一下 test ng 框架
13、的知識(shí)點(diǎn)。例如,方法依賴(lài),用例執(zhí)行 優(yōu)先級(jí),數(shù)據(jù)源驅(qū)動(dòng)等。6/ 7如何確定動(dòng)態(tài)加載的元素:-xpath 或者 css 通過(guò)同級(jí)、父級(jí)、子級(jí)進(jìn)行定位介紹一下 selenium2.0Selenium2.0 = Seleniuml.O + WebDriveK也就是說(shuō) Selenium2.0 合并了這兩個(gè) 項(xiàng)目)Rc是在瀏覽器中運(yùn)行 js應(yīng)用, 使用瀏覽器內(nèi)置的 js翻譯器翻譯和執(zhí)行 sele nese 命令WebDriver 是通過(guò)原生瀏覽器支持或?yàn)g覽器擴(kuò)展來(lái)直接控制瀏覽器。針對(duì)各 瀏覽器而開(kāi)發(fā),避免了 js 安全模型導(dǎo)致的限制;還利用操作系統(tǒng)及的調(diào)用,模 擬用戶(hù)輸入;請(qǐng)說(shuō)明 selenium 2.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保護(hù)環(huán)境從我做起的演講稿
- 中秋佳節(jié)致辭范文(15篇)
- 人生大事觀后感(19篇)
- 為開(kāi)學(xué)典禮的致辭(25篇)
- 中學(xué)生開(kāi)學(xué)典禮致辭(8篇)
- 影響學(xué)生個(gè)性形成與發(fā)展的因素
- 集合課件教學(xué)課件
- 2025年安徽宣城廣德市引進(jìn)高層次醫(yī)療衛(wèi)生人才15人筆試備考題庫(kù)及答案解析
- 2025年高考語(yǔ)文復(fù)習(xí)知識(shí)清單第六章文言文閱讀專(zhuān)題05選擇性必修下冊(cè)文言知識(shí)梳理(學(xué)生版+解析)
- 2024年11月6日車(chē)輛傷害事故演練方案
- 2024年廣東省公務(wù)員錄用考試《行測(cè)》試題及答案解析
- 黑龍江省 哈爾濱市第四十七中學(xué)校2024-2025學(xué)年七年級(jí)上學(xué)期期中考試語(yǔ)文試題
- 泵站機(jī)組預(yù)調(diào)試運(yùn)行方案
- 初中英語(yǔ)閱讀教學(xué)中滲透德育的路徑例析
- 2024年軟裝公司合同模板
- 2024-2030年智慧環(huán)保行業(yè)市場(chǎng)發(fā)展分析及競(jìng)爭(zhēng)形勢(shì)與投資發(fā)展前景研究報(bào)告
- 部編版語(yǔ)文四年級(jí)上冊(cè)習(xí)作《記一次游戲》精美課件
- 2025年高考作文備考之作文審題強(qiáng)化訓(xùn)練(6)(客觀題+主觀題)
- 2024-2025學(xué)年蘇教版小學(xué)三年級(jí)上學(xué)期期中數(shù)學(xué)試卷與參考答案
- 2024年中國(guó)海油秋季校園招聘高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 五年級(jí)口算題卡每天100題帶答案
評(píng)論
0/150
提交評(píng)論