自動(dòng)化測(cè)試(一) PPT課件_第1頁(yè)
自動(dòng)化測(cè)試(一) PPT課件_第2頁(yè)
自動(dòng)化測(cè)試(一) PPT課件_第3頁(yè)
自動(dòng)化測(cè)試(一) PPT課件_第4頁(yè)
自動(dòng)化測(cè)試(一) PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

內(nèi)容摘要 自動(dòng)化測(cè)試簡(jiǎn)介自動(dòng)化測(cè)試類(lèi)型自動(dòng)化測(cè)試優(yōu)勢(shì) 劣勢(shì)自動(dòng)化測(cè)試適用范圍自動(dòng)化測(cè)試工具Selenium簡(jiǎn)介自動(dòng)化測(cè)試框架 1 自動(dòng)化測(cè)試簡(jiǎn)介 自動(dòng)化測(cè)試是使用自動(dòng)化測(cè)試工具或編寫(xiě)代碼來(lái)替代手工測(cè)試的測(cè)試類(lèi)型 自動(dòng)化測(cè)試只是輔助手工測(cè)試 并不能完全替代手工 自動(dòng)化更多的是去做驗(yàn)證型測(cè)試而非探索性測(cè)試 目的是將手工測(cè)試從重復(fù)的勞動(dòng)中脫離出來(lái) 節(jié)約時(shí)間 人力成本 并且在新增一個(gè)功能時(shí) 可以對(duì)其相關(guān)所有功能做回歸測(cè)試 提高軟件的質(zhì)量 2 敏捷測(cè)試與自動(dòng)化測(cè)試 為什么引入自動(dòng)化測(cè)試敏捷開(kāi)發(fā)的最大特點(diǎn)是高速迭代 有周期性 并且能夠及時(shí) 持續(xù)的響應(yīng)客戶(hù)的頻繁反饋 伴隨著頻繁的迭代 測(cè)試人員需要頻繁的重新進(jìn)行測(cè)試 在此由于系統(tǒng)是不穩(wěn)定的系統(tǒng) 也造成了測(cè)試的不穩(wěn)定 我們不知道這次的故事是否會(huì)影響到系統(tǒng)的其他功能 在敏捷測(cè)試過(guò)程中 項(xiàng)目后期不會(huì)給予測(cè)試人員很多的集成測(cè)試時(shí)間 而且測(cè)試人員也無(wú)法在每次的迭代完成之后對(duì)之前的迭代進(jìn)行回歸測(cè)試 基于這一點(diǎn) 就需要自動(dòng)化測(cè)試在每個(gè)迭代完成時(shí)對(duì)之前的迭代進(jìn)行集成測(cè)試 3 自動(dòng)化測(cè)試類(lèi)型 UI自動(dòng)化性能自動(dòng)化接口自動(dòng)化單元測(cè)試自動(dòng)化 4 自動(dòng)化測(cè)試優(yōu)勢(shì) 劣勢(shì) 優(yōu)勢(shì) 節(jié)約人力 代碼維護(hù)好 可自動(dòng)執(zhí)行節(jié)約時(shí)間 測(cè)試腳本可在晚上進(jìn)行執(zhí)行回歸測(cè)試 提高軟件質(zhì)量代碼可復(fù)用 5 自動(dòng)化測(cè)試優(yōu)勢(shì) 劣勢(shì) 劣勢(shì) 代碼維護(hù)成本高 對(duì)測(cè)試人員的要求高不易做探索性測(cè)試不適合頻繁需求變更的項(xiàng)目 6 自動(dòng)化測(cè)試適用范圍 需求變更不頻繁回歸測(cè)試測(cè)試人員有一定的編碼基礎(chǔ)產(chǎn)品型項(xiàng)目 項(xiàng)目周期長(zhǎng)重復(fù)工作量大 7 自動(dòng)化測(cè)試工具 8 Selenium簡(jiǎn)介 Selenium是一款基于web應(yīng)用程序的開(kāi)源測(cè)試工具 Selenium測(cè)試直接運(yùn)行在瀏覽器中 就像真正的用戶(hù)在操作一樣 它支持Firefox ie Chrome等眾多瀏覽器 它同時(shí)支持JAVA C Ruby Python PHP Perl等眾多的主流語(yǔ)言 9 Selenium簡(jiǎn)介 SeleniumCore JavaScriptFrameworkSeleniumCore是Selenium的核心部分 它由一些純js代碼組成 可以運(yùn)行在windows linux的不同browser上 我們就是通過(guò)這些js代碼 才可以實(shí)現(xiàn)程序?qū)g覽器的控制 IDE Firefox插件IDE是在core的基礎(chǔ)上的一種應(yīng)用 通過(guò)UI實(shí)現(xiàn)類(lèi)似QTP Winner的腳本錄制回放功能 SeleniumIDE是通過(guò)監(jiān)聽(tīng)用戶(hù)對(duì)html頁(yè)面的操作來(lái)錄制腳本的 是真正能夠監(jiān)聽(tīng)用戶(hù)對(duì)html頁(yè)面的操作的錄制工具 10 Selenium簡(jiǎn)介 RC RemoteControl SeleniumRC模式 是客戶(hù)端利用各種編程語(yǔ)言 通過(guò)網(wǎng)絡(luò)向SeleniumServer發(fā)送指令 SeleniumServer接收到測(cè)試指令后 啟動(dòng)瀏覽器并向其發(fā)出JavaScript調(diào)用實(shí)現(xiàn)對(duì)Html頁(yè)面的全面追蹤 并通過(guò)網(wǎng)絡(luò)把執(zhí)行結(jié)果返回給調(diào)用者SeleniumServer的實(shí)現(xiàn)原理是其打開(kāi)瀏覽器時(shí) 把自己的JavaScript文件嵌入網(wǎng)頁(yè)中 然后Selenium的網(wǎng)頁(yè)通過(guò)frame嵌入目標(biāo)網(wǎng)頁(yè) 這樣 就可以使用Selenium的JavaScript對(duì)象來(lái)控制目標(biāo)網(wǎng)頁(yè) 11 Selenium簡(jiǎn)介 WebDriverWebDriver啟動(dòng)目標(biāo)瀏覽器 并綁定到指定端口 該啟動(dòng)的瀏覽器實(shí)例 做webdriver的remoteserver Client端通過(guò)CommandExcuter發(fā)送HTTPRequest給remoteserver的偵聽(tīng)端口 通信協(xié)議 thewebriverwireprotocol Remoteserver需要依賴(lài)原生的瀏覽器組件 如 IEDriver dll chromedriver exe 來(lái)轉(zhuǎn)化轉(zhuǎn)化瀏覽器的native調(diào)用 12 SeleniumRC與SeleniumWebdriver 13 Selenium安裝 基于Python語(yǔ)言 下載并安裝Pythonpython 2 7 10 msi配置python環(huán)境變量環(huán)境變量 Path變量值 C Python27下載setuptools python基礎(chǔ)包工具 pythoneasy install py安裝pippythonsetup pyinstall進(jìn)入C Python27 ScriptsEasy install exepip 14 Selenium安裝 基于Python語(yǔ)言 安裝selenium進(jìn)入C Python27 Scripts 執(zhí)行pipinstall Uselenium安裝java下載并安裝selenium服務(wù)端selenium server standalone 2 39 0 jar在selenium server standalone 2 39 0 jar目錄下執(zhí)行 java jarselenium server standalone 2 39 0 jar安裝Chromedriver把chromedriver exe放置到chrome安裝目錄下 并配置chromedriver exe環(huán)境變量 15 瀏覽器操作 設(shè)置最大化driver maximize window 設(shè)置瀏覽器大小driver set window size 寬 高 設(shè)置瀏覽器前進(jìn)后退driver back driver forward 關(guān)閉瀏覽器driver quit 打開(kāi)瀏覽器driver get 16 瀏覽器操作 17 對(duì)象定位 對(duì)象的定位和操作是自動(dòng)化測(cè)試的核心部分 其中操作又是建立在定位的基礎(chǔ)上 因此對(duì)象的定位又顯得特別重要 對(duì)象的定位分為以下幾種 IdNameClassnameTagnameLinktextXpath 部分瀏覽器會(huì)提供計(jì)算xpath的插件 firefox chrome Cssselector 18 對(duì)象定位 單個(gè)元素定位 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 對(duì)象定位 一組元素定位 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 對(duì)象定位 對(duì)象的定位要依據(jù)id name css xpath的順序進(jìn)行定位id name是最常用并且最容易的方式Css xpath往往會(huì)與id name配合使用Xpath是最脆弱的方式 units Servicescompones ui 21 對(duì)象定位 22 對(duì)象定位 23 對(duì)象定位 id 24 對(duì)象定位 name 25 對(duì)象定位 xpath 26 操作測(cè)試對(duì)象 清除元素內(nèi)容Clear 模擬按鍵輸入Send keys 單擊元素Click 提交表單Submit 獲取大小Size獲取文本內(nèi)容Text獲取相關(guān)屬性值get attribute name 查看對(duì)象是否可見(jiàn)is displayed 獲取對(duì)象屬性get attribute 27 鼠標(biāo)事件 右擊 context click 雙擊 double click 拖動(dòng) drag and drop source target 鼠標(biāo)懸停 move to element 按下鼠標(biāo)左鍵在一個(gè)元素上 click and hold 28 鍵盤(pán)事件 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 回車(chē)鍵 Enter send keys Keys CONTROL a 全選 Ctrl A send keys Keys CONTROL c 復(fù)制 Ctrl C send keys Keys CONTROL x 剪切 Ctrl X send keys Keys CONTROL v 粘貼 Ctrl V 29 設(shè)置等待時(shí)間 固定休眠時(shí)間Sleep 時(shí)間 超時(shí)等待 設(shè)置最長(zhǎng)等待時(shí)間implicitly wait 時(shí)間 設(shè)置每隔一段時(shí)間內(nèi)檢測(cè)當(dāng)前頁(yè)面元素是否存在WebDriverWait driver 時(shí)間 until WebDriverWait driver 時(shí)間 until not 30 層級(jí)定位 元素有多層父元素 當(dāng)定位子元素時(shí)需要先定位父元素 然后定位到子元素 driver find element by id find element by link text 界面中多個(gè)frame 多個(gè)frame處于父級(jí)子級(jí)關(guān)系 先找到父級(jí)的frame1 再找到子級(jí)的frame2 可通過(guò)frame的id及name進(jìn)行定位 driver switch to frame frame1 driver switch to frame frame2 31 窗口處理 獲取當(dāng)前窗口current window handle獲取所有窗口window handles切換窗口switch to window 待切換窗口 32 對(duì)話(huà)框處理 定位對(duì)話(huà)框alert driver switch to alert 獲取對(duì)話(huà)框文本內(nèi)容alert text 點(diǎn)擊對(duì)話(huà)框確認(rèn)按鈕alert accept 點(diǎn)擊對(duì)話(huà)框取消按鈕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 再點(diǎn)擊下拉框下的選項(xiàng)m find element by xpath option value test2 click time sleep 1 driver quit 35 執(zhí)行js文件 當(dāng)遇到WebDriver無(wú)法完成的操作時(shí) 可以通過(guò)執(zhí)行js文件來(lái)完成 方法 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 驗(yàn)證碼處理 去掉驗(yàn)證碼設(shè)置萬(wàn)能驗(yàn)證碼Python圖片驗(yàn)證碼獲取 識(shí)別率不是百分之百 通過(guò)添加登錄cookie通過(guò)擋板 39 斷言處理 assert 驗(yàn)證失敗了 測(cè)試終止Verify 驗(yàn)證失敗了 其余測(cè)試案例繼續(xù)執(zhí)行Waitfor 待某一條件為T(mén)rue時(shí)測(cè)試案例執(zhí)行 待某一條件為false時(shí)測(cè)試案例失敗并暫停測(cè)試 40 斷言處理 assertLocation 判斷當(dāng)前是在正確的頁(yè)面 assertTitle 檢查當(dāng)前頁(yè)面的title是否正確 assertValue 檢查input的值 checkbox或radio 有值為 on 無(wú)為 off assertSelected 檢查select的下拉菜單中選中是否正確 assertSelectedOptions 檢查下拉菜單中的選項(xiàng)的是否正確 assertText 檢查指定元素的文本 assertTextPresent 檢查在當(dāng)前給用戶(hù)顯示的頁(yè)面上是否有出現(xiàn)指定的文本 assertTextNotP

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論