版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、logoselenium2 python自動化測試實戰(zhàn)自動化測試實戰(zhàn) - -蟲師蟲師http:/前言:前言:為什么要做自動化測試?a、節(jié)省手工測試的人才和成本b、有助于提升測試團隊的技術(shù)力量c、能夠生成直觀的圖形化報表d、我不知道,領(lǐng)導要求做的前言:前言:分層的自動化測試前言:前言:什么樣的產(chǎn)品適合做自動化測試?功能成熟(需求變動較?。┊a(chǎn)品更新維護周期長項目進度不太大比較頻繁的回歸測試軟件開發(fā)比較規(guī)范,具有可測試性可以腳本具有可復(fù)用性h
2、ttp:/本課程學習重點:本課程學習重點:selenium 技術(shù): 元素定位的幾種方法 webdriver api ,selenium ide,selenium gridpython 技術(shù): 函數(shù)、類、方法;讀寫文件,unitest單元測試框架,htmltestrunner.py,發(fā)郵件模塊,多線程技術(shù)等。seleniumseleniumselenium selenium 的特點:的特點:開源,免費多瀏覽器支持:firefox、chrome、ie多平臺支持:linux 、windows、mac多語言支持:java、python、ruby、ph
3、p、c#、對web頁面有良好的支持簡單(api 簡單)、靈活(用開發(fā)語言驅(qū)動)支持分布式測試用例執(zhí)行selenium selenium 家譜家譜selenium 1.0selenium 1.0 : selenium 2.0 selenium 2.0 = selenium 1.0 + webdriver 環(huán)境搭建:環(huán)境搭建:window window 安裝:安裝:第一步、安裝python第二步、安裝setuptoolsc:setuptools-1.3python setup.py install第三步
4、、安裝pipc:pip-1.4.1 python setup.py install 第四步、安裝seleniumc:python27scripts pip install -u selenium環(huán)境變量: 變量名:path變量值:;c:python27 環(huán)境搭建:環(huán)境搭建:簡易安裝(簡易安裝(activepythonactivepython):): activepython 包含了一個完整的 python 內(nèi)核,并附加了一些 python 的 windows擴展第一步、下載安裝activepython第二步、安裝seleniumc:python27scripts
5、 pip install -u selenium 環(huán)境搭建:環(huán)境搭建:linuxlinux安裝(安裝(ubuntuubuntu):):第一步、安裝:setuptoolsrootfnngj-h24x:# apt-get install python-setuptools第二步、安裝piprootfnngj-h24x:./pip-1.4.1# python setup.py install第三步、安裝seleniumrootfnngj-h24x:./pip-1.4.1# pip install -u selenium第一個自動化腳本:
6、第一個自動化腳本:百度搜索:元素的定位:元素的定位:webdriver 提供的八種定位方法:find_element_by_id()find_element_by_name()find_element_by_class_name()find_element_by_tag_name()find_element_by_link_text()find_element_by_partial_link_text()find_element_by_xpath()find_element_by_css_selector()http:/itest
7、.info元素的定位:元素的定位: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 相同的幾率很高元素的定位:元素的定位:linkpartial link :百度首頁文字鏈接:新 聞貼 吧知 道find_element_by_link_text(u新 聞)find_
8、element_by_partial_link_text(新)find_element_by_link_text(u貼 吧).注:中文字符串加u 是將中文轉(zhuǎn)換成unicode,防止編碼問題。元素的定位:元素的定位:xpath :find_element_by_xpath(/*id=kw1)find_element_by_xpath(/inputid=kw1)find_element_by_xpath(/inputname=wd)find_element_by_xpath(/inputclass=s_ipt)find_element_by_xpath(/spanc
9、lass=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)元素的定位:元素的定位:css 常見語法常見語法:元素的定位:元素的定位:css :定位find_element_by_css_selector(from)定位find_element_by_css_selector(.subdiv)find_element_b
10、y_css_selector(from+div)定位find_element_by_css_selector(#recordlist)find_element_by_css_selector(ul#recordlist)find_element_by_css_selector(divul)定位headingfind_element_by_css_selector(divul)find_element_by_css_selector(div.subdiv ul p) headingwebdriver apiwebdriver api
11、:瀏覽器最大化:maximize_window()設(shè)置瀏覽器寬、高:set_window_size(480, 800)控制瀏覽器后退,前進:back()forward()webdriver apiwebdriver api:webelement接口常用方法接口常用方法:clear 清除元素的內(nèi)容send_keys 在元素上模擬按鍵輸入click 單擊元素submit 提交表單size 返回元素的尺寸text 獲取元素的文本get_attribute(name) 獲得屬性值is_displayed() 設(shè)置該元素是否用戶可見webd
12、river apiwebdriver api: actionchains 類鼠標操作的常用方法:類鼠標操作的常用方法: context_click() 右擊 double_click() 雙擊 drag_and_drop() 拖動 move_to_element() 鼠標懸停在一個元素上 click_and_hold() 按下鼠標左鍵在一個元素上webdriver apiwebdriver api: actionchains 類鼠標操作的常用方法:類鼠標操作的常用方法: context_click() 右擊webdriver ap
13、iwebdriver api: actionchains 類鼠標操作的常用方法:類鼠標操作的常用方法: drag_and_drop() 拖動webdriver apiwebdriver api: actionchains 類鼠標操作的常用方法:類鼠標操作的常用方法: move_to_element() 鼠標懸停webdriver apiwebdriver api: keys 類鍵盤操作的常用方法:類鍵盤操作的常用方法:send_keys(keys.back_space) 刪除鍵(backspace)send_keys(keys.s
14、pace) 空格鍵(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) 復(fù)制(ctrl+c)send_keys(keys.control,x) 剪切(ctrl+x)send_keys(keys.control,v) 粘貼(ctrl+v)webdriver apiwebdriver api: actio
15、nchains 類鼠標操作的常用方法:類鼠標操作的常用方法: move_to_element() 鼠標懸停webdriver apiwebdriver api: 打印信息(斷言的信息):打印信息(斷言的信息):title 返回當前頁面的標題current_url獲取當前加載頁面的urltext 獲取元素的文本信息webdriver apiwebdriver api: 打印信息(打印信息(126郵箱):郵箱):webdriver apiwebdriver api: 腳本中的等待時間:腳本中的等待時間:
16、sleep(): python提供設(shè)置固定休眠時間的方法。implicitly_wait(): 是webdirver 提供的一個超時等待。webdriverwait(): 同樣也是webdirver 提供的方法。webdriver apiwebdriver api: webdriver提供定位一組對象的方法:提供定位一組對象的方法:find_elements_by_id()find_elements_by_name()find_elements_by_class_name()find_elements_by_tag_name()find_elements_by_
17、link_text()find_elements_by_partial_link_text()find_elements_by_xpath()find_elements_by_css_selector()webdriver apiwebdriver api:定位一組對象,例一:定位一組對象,例一:webdriver apiwebdriver api:定位一組對象,例二:定位一組對象,例二:webdriver apiwebdriver api:層級定位:層級定位:web
18、driver apiwebdriver api:frame表單嵌套的定位:表單嵌套的定位:switch_to_frame 方法webdriver apiwebdriver api:div彈窗的處理:彈窗的處理:webdriver apiwebdriver api:多窗口的處理:多窗口的處理:current_window_handle 獲得當前窗口句柄window_handles返回的所有窗口的句柄到當前會話switch_to_window() 用于處理多窗口之前切換webdriver apiwebd
19、river api:多窗口的處理:多窗口的處理:webdriver apiwebdriver api:alert/confirm/prompt處理:處理:switch_to_alert() 用于獲取網(wǎng)頁上的警告信息。text 返回 alert/confirm/prompt 中的文字信息。accept 點擊確認按鈕。dismiss 點擊取消按鈕,如果有的話。send_keys 輸入值,這個alertconfirm沒有對話框就不能用了,不然會報錯。webdriver apiwebdriver api:下拉框處理:下拉框處理:二次定位:
20、driver.find_element_by_xx(xx).find_element_by_xx(xx).click()webdriver apiwebdriver api:文件上傳:文件上傳:driver.find_element_by_xx(xx).send_keys(d:/abc.txt)webdriver apiwebdriver api:文件下載:文件下載:確定content-type : 下載文件的類型方法一:curl -i url | grep content-type方法二:webdriver apiwebdriver api:文件下載:文件下載:webdriver apiwebdriver api:調(diào)用調(diào)用javascript:execute_script() 調(diào)用js方法webdriver apiwebdriver api:控制瀏覽器滾動條:控制瀏覽器滾動條:webdriver apiwebdriver ap
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度安置住房產(chǎn)權(quán)分割買賣合同3篇
- 2025年度智能電網(wǎng)建設(shè)與運營承包合同含新能源并網(wǎng)與電力調(diào)度4篇
- 2025年度特種貨車承包運營合同4篇
- 2025年度?;奋囕v物流運輸合同4篇
- 2025年度幼兒園教室窗簾安全性與環(huán)保性檢測合同4篇
- 2025年度智能化城市景觀承包設(shè)計工程合同4篇
- 2024試讀生權(quán)益保障合同:學生試用條款明細版B版
- 2025年度智能充電樁設(shè)備集成采購合同4篇
- 2025年度二零二五年度竹林資源承包與生態(tài)旅游開發(fā)合同3篇
- 2025年度儲藏室租賃與貨物出入庫管理服務(wù)協(xié)議3篇
- 2019級水電站動力設(shè)備專業(yè)三年制人才培養(yǎng)方案
- 室內(nèi)裝飾裝修施工組織設(shè)計方案
- 洗浴中心活動方案
- 送電線路工程施工流程及組織措施
- 肝素誘導的血小板減少癥培訓課件
- 韓國文化特征課件
- 抖音認證承諾函
- 清潔劑知識培訓課件
- 新技術(shù)知識及軍事應(yīng)用教案
- 高等數(shù)學(第二版)
- 肺炎喘嗽的中醫(yī)護理常規(guī)
評論
0/150
提交評論