

下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1/ 7頁面自動化測試問題匯總專業(yè)技術在學習完 Selenium 的大部分接口或者方法之后,你可能會去面試自動化測 試,主要是 Selenium 的自動化測試。下面這些問題總結,可能會對你有所幫 助。什么是 Selenium?Selenium 是一個開源的 web 自動化測試框架,主要是基于 web uI 的自動化 測試?,F在的版本,逐步增加了對移動端的自動化測試。Sele nium 支持多種語言進行開發(fā)自動化測試腳本,有 Java,python, C#, Javascript 等等。Selenium 支 持跨瀏覽器平臺測試。Sele nium 是否支持桌面應用軟件的自動化測試。Sele ni
2、um 不支持桌面軟件的自動化測試,Sele nium 是根據網頁元素的屬性才 定位元素,而其他桌面軟件自動化測試工具是根據桌面元素的位置來定位元素,當然現在也有根據桌面元素的屬性來定位的Sele nium 是否支持用例的執(zhí)行的引擎引擎好比就是一個發(fā)動機。Sele nium 是沒有關于測試用例和測試套件管理 和執(zhí)行的模塊。我們需要借助第三方單元測試框架來實現用例管理和用例的執(zhí) 行。例如 Java中有 Junit 或者 testNG,Python 中有 unittest 單元測試框架。Seleinum 是否有讀取 excel 文件的庫沒有,這里需要用到第三方工具。例如Apache P0 插件Sel
3、e nium 有哪些組件最早的有 Selenium IDE,ID 只支持安裝在 fiefox 上一個插件, 支持錄制自動化 腳本。還有 remote RC 和 Grid 和 webdriver。我們一般最重要的就是使用 webdriver。Sele nium 有什么限制或者缺陷除了基于 web 的軟件和 mobile 的程序,selenium 不支持桌面軟件自動化測 試。2/ 7軟件測試報告,和用例管理只能依賴第三方插件,例如 Junit/TestNG 和 unittest。由于它是免費的軟件,所 以沒有供應商去提供支持和服務, 有問題, 只能求助 sele nium 社區(qū)。 還有一個 就是,
4、 selenium入門門檻可能有點高,需要具備一定編程語言基礎的才能玩轉在 selenium 中,有哪些不同定位元素方法ID/className/Name/Li nkText/PartialLi nkText/Xpath/CSS selector什么是 imlicitlyWaitimlicitlyWait 是隱式等待,一般在查找元素的時候使用。例如,我設置一個 查找元素最大時間為 10 秒,使用了 imlicitlyWait 后,如果第一次沒有找到元素, 會在 10 秒之內不斷循環(huán)去找元素,知道超過10 秒,報超時錯誤。什么是線程等待有時候,我們需要強制設置線程等待,Thread.sleep(
5、2000),driver 這個實例,就是當前的線程。你能解釋下 Selenium 這個框架嗎?你寫的測試腳本能在不同瀏覽器上運行嗎,支持跨瀏覽器平臺嗎?這里出現了跨瀏覽器平臺的概念,就是寫一個測試用例,可以在主流的幾 個瀏覽器跑起來。 是的,我寫的測試用例能在 IE,火狐和谷歌這三種瀏覽器上 運行。主要是在windows 平臺上運行腳本,所以 mac 的 safari 瀏覽器暫時沒有寫 過。主要實現這個跨瀏覽器的思想就是,把瀏覽器類型寫到配置文件,代碼里 寫 if 語句去判斷配置文件的瀏覽器的類型,來決定用什么瀏覽器去執(zhí)行測試用例關閉瀏覽器中 quit 和 close 的區(qū)別兩個都可以實現退出
6、瀏覽器 session 功能,close 是關閉你當前聚焦的 tab 頁 面,而 quit是關閉全部瀏覽器 tab 頁面,并退出瀏覽器 session。知道這兩個區(qū)別, 我們就知道 quit般用在結束測試之前的操作,close 用在執(zhí)行用例過程中關閉 某一個頁面的操作在日歷這種 web 表單你是如何處理的?3/ 7首先要分析當前網頁試用日歷插件的前端代碼,看看能不能通過元素定位, 點擊日期實現,如果不能,可能需要借助javascript。還有些日歷控件一個文本輸入框,可以直接 sendKeys(方法來實現傳入一個時間的數據。如何處理下拉菜單?通常我們也可以通過 Click 方法來點擊下拉菜單里
7、面的元素,還有一種方法, 在Selenium 中有一個類叫 Select,支持這種下拉菜單交互的操作?;臼褂谜Z法是這樣的:Select Se二new Select(eleme nt);Se.selectBy In dex(i ndex);Se.selectByvalue(value);Se.selectByVisibleText(text);怎么驗證勾選框是enable/disabled/ checked/Unchecked/ displayed/ not displayed ?你查找元素遇到過在 Frame 里面嗎?你是如何處理 Frame 里面元素定位的?有時候我們知道元素定位表達式沒有
8、問題,但是還是提示no such element,那么我們就需要考慮這個元素是否在 frame 中。如果在,我們就需要從topwindow, 通過swithcTo.Frame()方法來切換到目標frame中, 可以通過frame 的name和 id 和索引三種方法來定位 frame。在 selenium 中如何處理多窗口?這里需要用到 swithTo 方法。需要獲取當前瀏覽器多窗口句柄,然后根據判斷跳轉新句柄還是舊句柄如何處理 alert 彈窗我們常見的 alert 彈窗有兩種:基于 windows 彈窗和基于 web 頁面彈窗4/ 7我們知道,webdriver 是能夠處理 alert 彈窗
9、的,Selenium 提供了 Alert 這個接 口。相關操作代碼如下:/切換到 AlertAlert alert = driver.switchTo().alert();/點擊彈窗上確定按鈕alert.accept();/點擊彈窗的取消按鈕alert.dismiss()/獲取彈窗上線上的文本文字內容alert.getText();/有些彈窗還支持文本輸入,這個可以把要輸入字符通過sendkeys 方法輸入alert.se ndkeys();舉例一下你遇到過那些異常,在selenium 自動化測試過程中1. Eleme ntNotSelectableException :元素不能選擇異常2.
10、Eleme ntNotVisibleExceptio n :元素不可見異常3. NoSuchAttributeExceptio n :沒有這樣屬性異常4. NoSuchElementException 沒有該元素異常5. NoSuchFrameException :沒有該 frame 異常6. TimeoutException :超時異常5/ 77. Eleme nt not visible at this point :在當前點元素不可見fin dEleme nt 和 Fin dEleme nts 有什么區(qū)別?首先,兩個都是查找元素,都支持八大元素定位方法。fin dEleme nt()得到
11、的只有一個元素,如果根據提供的元素定位方式找不到,會報n oSuchEleme nt 異常。fin dEleme nts()返回的是一組元素,所以我們需要根據能夠找到一組元素的 表達式去定位,返回一組元素我們可以放在集合里,這樣我們就可以使用集合 里面的迭代方法去遍歷元素,拿到元素去做其他操作。如何獲取頁面標題,懸浮文本和錯誤文本,并驗證?標題,我們可以通過 driver.getTitle()方法來得到一個字符串,然后使用字符 串的containts 方法或者 equals 方法去進行斷言。懸浮文本(tooltip ), 一般是利用 Actions 類, 然后鼠標懸停方法, 然后通過 getT
12、ext()方法來得到這個 tooltip 字符串。錯誤信息,直接把這個錯誤字段先進行定位,然后通過getText()方法拿到錯誤文本,主要的斷言有包含,相等,不相等,不包含,以什么開頭等。你是如何管理你的測試用例并執(zhí)行?寫用例和管理并執(zhí)行用例,我們都需要借助單元測試框架來實現,如果是Java 語言一般有 junit 和 TestNG 如果是 python,常見的有 unittest。就你實際情況,說一下。例如我使用TestNG 比較多,需要配置 testng.xml文件來實現測試用例的執(zhí)行。有時候需要配置多個testng.xml 去實現不同的任務場景。再展開,可能問你一下 test ng 框架
13、的知識點。例如,方法依賴,用例執(zhí)行 優(yōu)先級,數據源驅動等。6/ 7如何確定動態(tài)加載的元素:-xpath 或者 css 通過同級、父級、子級進行定位介紹一下 selenium2.0Selenium2.0 = Seleniuml.O + WebDriveK也就是說 Selenium2.0 合并了這兩個 項目)Rc是在瀏覽器中運行 js應用, 使用瀏覽器內置的 js翻譯器翻譯和執(zhí)行 sele nese 命令WebDriver 是通過原生瀏覽器支持或瀏覽器擴展來直接控制瀏覽器。針對各 瀏覽器而開發(fā),避免了 js 安全模型導致的限制;還利用操作系統及的調用,模 擬用戶輸入;請說明 selenium 2.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物質與精神面試題及答案
- 福建事業(yè)單位考試面試表現提升試題及答案
- 突破花藝師考試的關鍵點試題及答案
- 干花藝術應用的試題及答案
- 2024年農業(yè)職業(yè)經理人考試中的自我反省技巧試題及答案
- 2024園藝師考試經營管理試題及答案
- 檢斤員考試題及答案
- 農藝師考試評分標準解析試題及答案
- 警校邏輯考試題及答案解析
- 2024年農業(yè)經理人隆重登場試題及答案
- 鋼筋機械連接技術規(guī)程 JGJ 107-2016
- 中醫(yī)培訓課件:《中藥熱奄包技術》
- 【工商管理專業(yè)畢業(yè)綜合訓練報告2600字(論文)】
- jgj t17-2008蒸壓加氣混凝土建筑應用技術
- 德育主題班會 《遵義會議》教學課件
- 石頭峽水電站水利樞紐工程壩體設計說明書畢業(yè)設計
- 儲罐及輸油管道拆除方案(完整版)
- 淺談石油化工建設項目的工程造價管理與控制
- 2022年2022年雷鋒叔叔你在哪里說課稿
- 中國臨床路徑-內分泌科(5個)
- 預制梁場管理指導意見
評論
0/150
提交評論