




已閱讀5頁,還剩40頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
內容摘要 自動化測試簡介自動化測試類型自動化測試優勢 劣勢自動化測試適用范圍自動化測試工具Selenium簡介自動化測試框架 1 自動化測試簡介 自動化測試是使用自動化測試工具或編寫代碼來替代手工測試的測試類型 自動化測試只是輔助手工測試 并不能完全替代手工 自動化更多的是去做驗證型測試而非探索性測試 目的是將手工測試從重復的勞動中脫離出來 節約時間 人力成本 并且在新增一個功能時 可以對其相關所有功能做回歸測試 提高軟件的質量 2 敏捷測試與自動化測試 為什么引入自動化測試敏捷開發的最大特點是高速迭代 有周期性 并且能夠及時 持續的響應客戶的頻繁反饋 伴隨著頻繁的迭代 測試人員需要頻繁的重新進行測試 在此由于系統是不穩定的系統 也造成了測試的不穩定 我們不知道這次的故事是否會影響到系統的其他功能 在敏捷測試過程中 項目后期不會給予測試人員很多的集成測試時間 而且測試人員也無法在每次的迭代完成之后對之前的迭代進行回歸測試 基于這一點 就需要自動化測試在每個迭代完成時對之前的迭代進行集成測試 3 自動化測試類型 UI自動化性能自動化接口自動化單元測試自動化 4 自動化測試優勢 劣勢 優勢 節約人力 代碼維護好 可自動執行節約時間 測試腳本可在晚上進行執行回歸測試 提高軟件質量代碼可復用 5 自動化測試優勢 劣勢 劣勢 代碼維護成本高 對測試人員的要求高不易做探索性測試不適合頻繁需求變更的項目 6 自動化測試適用范圍 需求變更不頻繁回歸測試測試人員有一定的編碼基礎產品型項目 項目周期長重復工作量大 7 自動化測試工具 8 Selenium簡介 Selenium是一款基于web應用程序的開源測試工具 Selenium測試直接運行在瀏覽器中 就像真正的用戶在操作一樣 它支持Firefox ie Chrome等眾多瀏覽器 它同時支持JAVA C Ruby Python PHP Perl等眾多的主流語言 9 Selenium簡介 SeleniumCore JavaScriptFrameworkSeleniumCore是Selenium的核心部分 它由一些純js代碼組成 可以運行在windows linux的不同browser上 我們就是通過這些js代碼 才可以實現程序對瀏覽器的控制 IDE Firefox插件IDE是在core的基礎上的一種應用 通過UI實現類似QTP Winner的腳本錄制回放功能 SeleniumIDE是通過監聽用戶對html頁面的操作來錄制腳本的 是真正能夠監聽用戶對html頁面的操作的錄制工具 10 Selenium簡介 RC RemoteControl SeleniumRC模式 是客戶端利用各種編程語言 通過網絡向SeleniumServer發送指令 SeleniumServer接收到測試指令后 啟動瀏覽器并向其發出JavaScript調用實現對Html頁面的全面追蹤 并通過網絡把執行結果返回給調用者SeleniumServer的實現原理是其打開瀏覽器時 把自己的JavaScript文件嵌入網頁中 然后Selenium的網頁通過frame嵌入目標網頁 這樣 就可以使用Selenium的JavaScript對象來控制目標網頁 11 Selenium簡介 WebDriverWebDriver啟動目標瀏覽器 并綁定到指定端口 該啟動的瀏覽器實例 做webdriver的remoteserver Client端通過CommandExcuter發送HTTPRequest給remoteserver的偵聽端口 通信協議 thewebriverwireprotocol Remoteserver需要依賴原生的瀏覽器組件 如 IEDriver dll chromedriver exe 來轉化轉化瀏覽器的native調用 12 SeleniumRC與SeleniumWebdriver 13 Selenium安裝 基于Python語言 下載并安裝Pythonpython 2 7 10 msi配置python環境變量環境變量 Path變量值 C Python27下載setuptools python基礎包工具 pythoneasy install py安裝pippythonsetup pyinstall進入C Python27 ScriptsEasy install exepip 14 Selenium安裝 基于Python語言 安裝selenium進入C Python27 Scripts 執行pipinstall Uselenium安裝java下載并安裝selenium服務端selenium server standalone 2 39 0 jar在selenium server standalone 2 39 0 jar目錄下執行 java jarselenium server standalone 2 39 0 jar安裝Chromedriver把chromedriver exe放置到chrome安裝目錄下 并配置chromedriver exe環境變量 15 瀏覽器操作 設置最大化driver maximize window 設置瀏覽器大小driver set window size 寬 高 設置瀏覽器前進后退driver back driver forward 關閉瀏覽器driver quit 打開瀏覽器driver get 16 瀏覽器操作 17 對象定位 對象的定位和操作是自動化測試的核心部分 其中操作又是建立在定位的基礎上 因此對象的定位又顯得特別重要 對象的定位分為以下幾種 IdNameClassnameTagnameLinktextXpath 部分瀏覽器會提供計算xpath的插件 firefox chrome Cssselector 18 對象定位 單個元素定位 Id定位 find element by id Name定位 find element by name Classname定位 find element by class name tagname定位 find element by tag name linktext定位 find element by link text find element by partial link text Xpath定位 find element by xpath cssselector定位 find element by css selector 19 對象定位 一組元素定位 Id定位 find elements by id Name定位 find elements by name Classname定位 find elements by class name tagname定位 find elements by tag name linktext定位 find elements by link text find elements by partial link text Xpath定位 find elements by xpath cssselector定位 find elements by css selector 20 對象定位 對象的定位要依據id name css xpath的順序進行定位id name是最常用并且最容易的方式Css xpath往往會與id name配合使用Xpath是最脆弱的方式 units Servicescompones ui 21 對象定位 22 對象定位 23 對象定位 id 24 對象定位 name 25 對象定位 xpath 26 操作測試對象 清除元素內容Clear 模擬按鍵輸入Send keys 單擊元素Click 提交表單Submit 獲取大小Size獲取文本內容Text獲取相關屬性值get attribute name 查看對象是否可見is displayed 獲取對象屬性get attribute 27 鼠標事件 右擊 context click 雙擊 double click 拖動 drag and drop source target 鼠標懸停 move to element 按下鼠標左鍵在一個元素上 click and hold 28 鍵盤事件 send keys Keys BACK SPACE 刪除鍵 BackSpace send keys Keys SPACE 空格鍵 Space send keys Keys TAB 制表鍵 Tab send keys Keys ESCAPE 回退鍵 Esc send keys Keys ENTER 回車鍵 Enter send keys Keys CONTROL a 全選 Ctrl A send keys Keys CONTROL c 復制 Ctrl C send keys Keys CONTROL x 剪切 Ctrl X send keys Keys CONTROL v 粘貼 Ctrl V 29 設置等待時間 固定休眠時間Sleep 時間 超時等待 設置最長等待時間implicitly wait 時間 設置每隔一段時間內檢測當前頁面元素是否存在WebDriverWait driver 時間 until WebDriverWait driver 時間 until not 30 層級定位 元素有多層父元素 當定位子元素時需要先定位父元素 然后定位到子元素 driver find element by id find element by link text 界面中多個frame 多個frame處于父級子級關系 先找到父級的frame1 再找到子級的frame2 可通過frame的id及name進行定位 driver switch to frame frame1 driver switch to frame frame2 31 窗口處理 獲取當前窗口current window handle獲取所有窗口window handles切換窗口switch to window 待切換窗口 32 對話框處理 定位對話框alert driver switch to alert 獲取對話框文本內容alert text 點擊對話框確認按鈕alert accept 點擊對話框取消按鈕alert dismiss 33 下拉框處理 test1test2test3test4test5test6 34 下拉框處理 例子 coding utf 8fromseleniumimportwebdriverimportos timedriver webdriver Chromefile path file os path abspath test html driver get file path time sleep 2 先定位到下拉框m driver find element by id optiontest 再點擊下拉框下的選項m find element by xpath option value test2 click time sleep 1 driver quit 35 執行js文件 當遇到WebDriver無法完成的操作時 可以通過執行js文件來完成 方法 execute script js 36 cookie處理 獲取所有cookie信息get cookies 獲取制定cookie信息get cookies name 添加cookie信息add cookie name value 刪除特定cookiedelete cookie name 刪除所有cookiedelete all cookies 37 cookie處理 獲取所有cookie信息get cookies 獲取制定cookie信息get cookies name 添加cookie信息add cookie name value 刪除特定cookiedelete cookie name 刪除所有cookiedelete all cookies 38 驗證碼處理 去掉驗證碼設置萬能驗證碼Python圖片驗證碼獲取 識別率不是百分之百 通過添加登錄cookie通過擋板 39 斷言處理 assert 驗證失敗了 測試終止Verify 驗證失敗了 其余測試案例繼續執行Waitfor 待某一條件為True時測試案例執行 待某一條件為false時測試案例失敗并暫停測試 40 斷言處理 assertLocation 判斷當前是在正確的頁面 assertTitle 檢查當前頁面的title是否正確 assertValue 檢查input的值 checkbox或radio 有值為 on 無為 off assertSelected 檢查select的下拉菜單中選中是否正確 assertSelectedOptions 檢查下拉菜單中的選項的是否正確 assertText 檢查指定元素的文本 assertTextPresent 檢查在當前給用戶顯示的頁面上是否有出現指定的文本 assertTextNotP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 元宇宙社交平臺虛擬社交平臺虛擬空間布局與用戶體驗提升報告
- 2025年金融行業反洗錢技術革命與創新監管機制解讀報告
- 社區心理健康服務在社區心理健康服務體系建設中的實施效果研究與實踐評估探索報告
- 2025年電動汽車電池熱管理系統熱管理材料創新與應用趨勢報告
- 城市公園改造提升項目社會穩定風險評估與城市綠地生態效益評估報告
- 分布式能源系統2025年生物質能源的生物質能熱電聯產政策環境研究報告
- 培訓機構課時費管理制度
- 江濱公園日常管理制度
- 2025年四川省德陽市中考英語真題(解析版)
- 月餅成品包裝管理制度
- 護欄網施工方案
- Linux網絡操作系統項目化教程 課件 項目1-6 安裝Linux操作系統- 管理進程
- 污水處理廠安全風險分級管控體系方案1
- 珠寶行業代賣合作協議書
- (高清版)JGT 225-2020 預應力混凝土用金屬波紋管
- 中國地理(廣州大學)智慧樹知到期末考試答案章節答案2024年廣州大學
- 自然辯證法-2018版課后思考題答案
- (正式版)JBT 5300-2024 工業用閥門材料 選用指南
- 校園超市經營投標方案(技術方案)
- 《養老護理員》-課件:擺放良肢位
- 2023年遼寧省高中學業水平合格性考試物理試卷真題(答案詳解)
評論
0/150
提交評論