selenium2 python自動(dòng)化測(cè)試實(shí)戰(zhàn)課件_第1頁
selenium2 python自動(dòng)化測(cè)試實(shí)戰(zhàn)課件_第2頁
selenium2 python自動(dòng)化測(cè)試實(shí)戰(zhàn)課件_第3頁
selenium2 python自動(dòng)化測(cè)試實(shí)戰(zhàn)課件_第4頁
selenium2 python自動(dòng)化測(cè)試實(shí)戰(zhàn)課件_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、,LOGO,selenium2 python,自動(dòng)化測(cè)試實(shí)戰(zhàn),-蟲師,1,學(xué)習(xí)交流PPT,2,學(xué)習(xí)交流PPT,前言:,為什么要做自動(dòng)化測(cè)試? A、節(jié)省手工測(cè)試的人才和成本 B、有助于提升測(cè)試團(tuán)隊(duì)的技術(shù)力量 C、能夠生成直觀的圖形化報(bào)表 D、我不知道,領(lǐng)導(dǎo)要求做的,3,學(xué)習(xí)交流PPT,前言:,分層的自動(dòng)化測(cè)試,4,學(xué)習(xí)交流PPT,前言:,什么樣的產(chǎn)品適合做自動(dòng)化測(cè)試? 功能成熟(需求變動(dòng)較?。?產(chǎn)品更新維護(hù)周期長 項(xiàng)目進(jìn)度不太大 比較頻繁的回歸測(cè)試 軟件開發(fā)比較規(guī)范,具有可測(cè)試性 可以腳本具有可復(fù)用性,5,學(xué)習(xí)交流PPT,本課程學(xué)習(xí)重點(diǎn):,selenium 技術(shù): 元素定位的幾種方法 WebDr

2、iver API ,selenium IDE,selenium grid python 技術(shù): 函數(shù)、類、方法;讀寫文件,unitest單元測(cè)試框架,HTMLTestRunner.py,發(fā)郵件模塊,多線程技術(shù)等。,6,學(xué)習(xí)交流PPT,selenium,selenium 的特點(diǎn): 開源,免費(fèi) 多瀏覽器支持:firefox、chrome、IE 多平臺(tái)支持:linux 、windows、MAC 多語言支持:java、python、ruby、php、C#、 對(duì)web頁面有良好的支持 簡單(API 簡單)、靈活(用開發(fā)語言驅(qū)動(dòng)) 支持分布式測(cè)試用例執(zhí)行,7,學(xué)習(xí)交流PPT,selenium 家譜,sel

3、enium 1.0 :,selenium 2.0 = selenium 1.0 + WebDriver,8,學(xué)習(xí)交流PPT,9,學(xué)習(xí)交流PPT,環(huán)境搭建:,window 安裝: 第一步、安裝python 第二步、安裝setuptools C:setuptools-1.3python setup.py install 第三步、安裝pip C:pip-1.4.1 python setup.py install 第四步、安裝selenium C:Python27Scripts pip install -U selenium 環(huán)境變量:,變量名:PATH 變量值:;C:Python27,10,學(xué)習(xí)交流

4、PPT,環(huán)境搭建:,簡易安裝(ActivePython): ActivePython 包含了一個(gè)完整的 Python 內(nèi)核,并附加了一些 Python 的 Windows擴(kuò)展 第一步、下載安裝ActivePython 第二步、安裝selenium C:Python27Scripts pip install -U selenium,11,學(xué)習(xí)交流PPT,環(huán)境搭建:,linux安裝(ubuntu): 第一步、安裝:setuptools rootfnngj-H24X:# apt-get install python-setuptools 第二步、安裝pip rootfnngj-H24X:./pip-

5、1.4.1# python setup.py install 第三步、安裝selenium rootfnngj-H24X:./pip-1.4.1# pip install -U selenium,12,學(xué)習(xí)交流PPT,第一個(gè)自動(dòng)化腳本:,百度搜索:,13,學(xué)習(xí)交流PPT,14,學(xué)習(xí)交流PPT,元素的定位:,WebDriver 提供的八種定位方法: find_element_by_id() find_element_by_name() find_element_by_class_name() find_element_by_tag_name() find_element_by_link_text

6、() find_element_by_partial_link_text() find_element_by_xpath() find_element_by_css_selector(),15,學(xué)習(xí)交流PPT,元素的定位:,idnameclass nametag name : 百度搜索框前端代碼(通過firebug查看) find_element_by_id(kw1) find_element_by_name(wd) find_element_by_class_name(s_ipt) find_element_by_tag_name(input) 注:頁面上的元素tag name 相同的幾率很

7、高,16,學(xué)習(xí)交流PPT,元素的定位:,linkpartial link : 百度首頁文字鏈接: 新 聞 貼 吧 知 道 find_element_by_link_text(u新 聞) find_element_by_partial_link_text(新) find_element_by_link_text(u貼 吧) . 注:中文字符串加u 是將中文轉(zhuǎn)換成unicode,防止編碼問題。,17,學(xué)習(xí)交流PPT,元素的定位:,xpath : find_element_by_xpath(/*id=kw1) find_element_by_xpath(/inputid=kw1) find_elem

8、ent_by_xpath(/inputname=wd) find_element_by_xpath(/inputclass=s_ipt) find_element_by_xpath(/spanclass=bg s_iptwr/input) find_element_by_xpath(/formid=form1/span/input) . find_element_by_xpath(/html/body/div/div4/div2/div/form/span/input),18,學(xué)習(xí)交流PPT,元素的定位:,CSS 常見語法:,19,學(xué)習(xí)交流PPT,元素的定位:,CSS : 定位 find_el

9、ement_by_css_selector(from) 定位 find_element_by_css_selector(.subdiv) find_element_by_css_selector(from+div) 定位 find_element_by_css_selector(#recordlist) find_element_by_css_selector(ul#recordlist) find_element_by_css_selector(divul) 定位Heading find_element_by_css_selector(divul) find_element_by_css_s

10、elector(div.subdiv ul p), Heading,20,學(xué)習(xí)交流PPT,21,學(xué)習(xí)交流PPT,WebDriver API:,瀏覽器最大化: maximize_window() 設(shè)置瀏覽器寬、高: set_window_size(480, 800) 控制瀏覽器后退,前進(jìn): back() forward(),22,學(xué)習(xí)交流PPT,WebDriver API:,WebElement接口常用方法: clear 清除元素的內(nèi)容 send_keys 在元素上模擬按鍵輸入 click 單擊元素 submit 提交表單 size 返回元素的尺寸 text 獲取元素的文本 get_attrib

11、ute(name) 獲得屬性值 is_displayed() 設(shè)置該元素是否用戶可見,23,學(xué)習(xí)交流PPT,WebDriver API:,ActionChains 類鼠標(biāo)操作的常用方法: context_click() 右擊 double_click() 雙擊 drag_and_drop() 拖動(dòng) move_to_element() 鼠標(biāo)懸停在一個(gè)元素上 click_and_hold() 按下鼠標(biāo)左鍵在一個(gè)元素上,24,學(xué)習(xí)交流PPT,WebDriver API:,ActionChains 類鼠標(biāo)操作的常用方法: context_click() 右擊,25,學(xué)習(xí)交流PPT,WebDriver

12、API:,ActionChains 類鼠標(biāo)操作的常用方法: drag_and_drop() 拖動(dòng),26,學(xué)習(xí)交流PPT,WebDriver API:,ActionChains 類鼠標(biāo)操作的常用方法: move_to_element() 鼠標(biāo)懸停,27,學(xué)習(xí)交流PPT,WebDriver API:,Keys 類鍵盤操作的常用方法: send_keys(Keys.BACK_SPACE) 刪除鍵(BackSpace) send_keys(Keys.SPACE) 空格鍵(Space) send_keys(Keys.TAB) 制表鍵(Tab) send_keys(Keys.ESCAPE) 回退鍵(Esc

13、) send_keys(Keys.ENTER) 回車鍵(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),28,學(xué)習(xí)交流PPT,WebDriver API:,ActionChains 類鼠標(biāo)操作的常用方法: move_to_element() 鼠標(biāo)懸停,29,學(xué)習(xí)交流PPT,WebDriver API:,打印信息(斷言的信息): titl

14、e 返回當(dāng)前頁面的標(biāo)題 current_url 獲取當(dāng)前加載頁面的URL text 獲取元素的文本信息,30,學(xué)習(xí)交流PPT,WebDriver API:,打印信息(126郵箱):,31,學(xué)習(xí)交流PPT,WebDriver API:,腳本中的等待時(shí)間: sleep(): python提供設(shè)置固定休眠時(shí)間的方法。 implicitly_wait(): 是webdirver 提供的一個(gè)超時(shí)等待。 WebDriverWait(): 同樣也是webdirver 提供的方法。,32,學(xué)習(xí)交流PPT,WebDriver API:,webdriver提供定位一組對(duì)象的方法: find_elements_by

15、_id() find_elements_by_name() find_elements_by_class_name() find_elements_by_tag_name() find_elements_by_link_text() find_elements_by_partial_link_text() find_elements_by_xpath() find_elements_by_css_selector(),33,學(xué)習(xí)交流PPT,WebDriver API:,定位一組對(duì)象,例一:,34,學(xué)習(xí)交流PPT,WebDriver API:,定位一組對(duì)象,例二:,35,學(xué)習(xí)交流PPT,WebD

16、river API:,層級(jí)定位:,36,學(xué)習(xí)交流PPT,WebDriver API:,frame表單嵌套的定位: switch_to_frame 方法,37,學(xué)習(xí)交流PPT,WebDriver API:,div彈窗的處理:,38,學(xué)習(xí)交流PPT,WebDriver API:,多窗口的處理: current_window_handle 獲得當(dāng)前窗口句柄 window_handles 返回的所有窗口的句柄到當(dāng)前會(huì)話 switch_to_window() 用于處理多窗口之前切換,39,學(xué)習(xí)交流PPT,WebDriver API:,多窗口的處理:,40,學(xué)習(xí)交流PPT,WebDriver API:,a

17、lert/confirm/prompt處理: switch_to_alert() 用于獲取網(wǎng)頁上的警告信息。 text 返回 alert/confirm/prompt 中的文字信息。 accept 點(diǎn)擊確認(rèn)按鈕。 dismiss 點(diǎn)擊取消按鈕,如果有的話。 send_keys 輸入值,這個(gè)alertconfirm沒有對(duì)話框就不能用了,不然會(huì)報(bào)錯(cuò)。,41,學(xué)習(xí)交流PPT,WebDriver API:,下拉框處理: 二次定位: driver.find_element_by_xx(xx).find_element_by_xx(xx).click(),42,學(xué)習(xí)交流PPT,WebDriver API:

18、,文件上傳: driver.find_element_by_xx(xx).send_keys(d:/abc.txt),43,學(xué)習(xí)交流PPT,WebDriver API:,文件下載: 確定Content-Type : 下載文件的類型 方法一: curl -I URL | grep Content-Type 方法二:,44,學(xué)習(xí)交流PPT,WebDriver API:,文件下載:,45,學(xué)習(xí)交流PPT,WebDriver API:,調(diào)用javaScript: execute_script() 調(diào)用js方法,46,學(xué)習(xí)交流PPT,WebDriver API:,控制瀏覽器滾動(dòng)條:,47,學(xué)習(xí)交流PPT,WebDriver API:,cookie處理: get_cookies() 獲得所有c

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論