自動化測試實戰(zhàn)教材_第1頁
自動化測試實戰(zhàn)教材_第2頁
自動化測試實戰(zhàn)教材_第3頁
自動化測試實戰(zhàn)教材_第4頁
自動化測試實戰(zhàn)教材_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

LOGOselenium2python自動化測試實戰(zhàn)---蟲師前言:為什么要做自動化測試?A、節(jié)省手工測試的人才和成本B、有助于提升測試團隊的技術(shù)力量C、能夠生成直觀的圖形化報表D、我不知道,領(lǐng)導(dǎo)要求做的前言:分層的自動化測試前言:什么樣的產(chǎn)品適合做自動化測試?功能成熟(需求變動較小)產(chǎn)品更新維護周期長項目進度不太大比較頻繁的回歸測試軟件開發(fā)比較規(guī)范,具有可測試性可以腳本具有可復(fù)用性本課程學(xué)習(xí)重點:selenium技術(shù):

元素定位的幾種方法

WebDriverAPI,seleniumIDE,seleniumgridpython技術(shù):

函數(shù)、類、方法;讀寫文件,unitest單元測試框架,HTMLTestRunner.py,發(fā)郵件模塊,多線程技術(shù)等。seleniumselenium的特點:開源,免費多瀏覽器支持:firefox、chrome、IE多平臺支持:linux、windows、MAC多語言支持:java、python、ruby、php、C#、對web頁面有良好的支持簡單(API簡單)、靈活(用開發(fā)語言驅(qū)動)支持分布式測試用例執(zhí)行selenium家譜selenium1.0:selenium2.0=selenium1.0+WebDriver環(huán)境搭建:window安裝:第一步、安裝python第二步、安裝setuptoolsC:\setuptools-1.3>pythonsetup.pyinstall第三步、安裝pipC:\pip-1.4.1>pythonsetup.pyinstall第四步、安裝seleniumC:\Python27\Scripts>pipinstall-Uselenium環(huán)境變量:

變量名:PATH變量值:;C:\Python27

環(huán)境搭建建:簡易安裝裝(ActivePython)::ActivePython包包含了了一個完完整的Python內(nèi)核核,并附附加了一一些Python的的Windows擴展第一步、、下載安安裝ActivePython第二步、、安裝seleniumC:\Python27\Scripts>pipinstall-Uselenium環(huán)境搭建建:linux安裝裝(ubuntu)::第一步、、安裝::setuptoolsroot@fnngj-H24X:~#apt-getinstallpython-setuptools第二步、安裝裝piproot@fnngj-H24X:../pip-1.4.1#pythonsetup.pyinstall第三步、安裝裝seleniumroot@fnngj-H24X:../pip-1.4.1#pipinstall-Uselenium第一個自動化化腳本:百度搜索:元素的定位::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()元素的定位::id\name\classname\tagname:百度搜索框前前端代碼(通通過firebug查看看)<inputid="kw1"class="s_ipt"type="text"maxlength="100"name="wd"autocomplete="off">find_element_by_id(‘kw1’)find_element_by_name(‘wd’)find_element_by_class_name(‘s_ipt’)find_element_by_tag_name(‘‘input’)注:頁面上的的元素tagname相同的幾幾率很高元素的定位::link\partiallink:百度首頁文字字鏈接:<ahref=""name="tj_news">新聞</a><ahref=""name="tj_tieba">貼吧</a><ahref=""name="tj_zhidao">知道</a>find_element_by_link_text(u‘新聞聞’)find_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(‘//input[@id='kw1']’)find_element_by_xpath(‘//input[@name='wd']’)find_element_by_xpath(‘//input[@class='s_ipt']’)find_element_by_xpath(‘//span[@class='bgs_iptwr']/input’)find_element_by_xpath(‘//form[@id='form1']/span/input’)....find_element_by_xpath(‘/html/body/div/div[4]/div[2]/div/form/span/input’)元素的定位::CSS常見見語法:元素的定位::CSS:定位</from>find_element_by_css_selector(‘from’)定位<divclass="subdiv">find_element_by_css_selector(‘.subdiv’)find_element_by_css_selector(‘from+div’)定位<ulid="recordlist">find_element_by_css_selector(‘#recordlist’)find_element_by_css_selector(‘ul#recordlist’)find_element_by_css_selector(‘div>ul’)定位<p>Heading</p>find_element_by_css_selector(‘div>ul’)find_element_by_css_selector(‘div.subdiv>ul>p’)</form><divclass="subdiv"><ulid="recordlist"><p>Heading</p>WebDriverAPI:瀏覽器最大化化:maximize_window()設(shè)置瀏覽器寬寬、高:set_window_size(480,800)控制瀏覽器后后退,前進::back()forward()WebDriverAPI:WebElement接接口常用方法法:clear清清除元素的的內(nèi)容send_keys在在元素上模模擬按鍵輸入入click單單擊元素submit提提交表單單size返返回元素的尺尺寸text獲獲取元素的文文本get_attribute(name)獲獲得屬屬性值is_displayed()設(shè)設(shè)置該元素是是否用戶可見見WebDriverAPI:ActionChains類鼠標(biāo)標(biāo)操作的常用用方法:context_click()右右擊double_click()雙雙擊drag_and_drop()拖拖動move_to_element()鼠標(biāo)標(biāo)懸停在一個個元素上click_and_hold()按下下鼠標(biāo)左鍵在在一個元素上上WebDriverAPI:ActionChains類類鼠標(biāo)操操作的常用用方法:context_click()右右擊WebDriverAPI:ActionChains類類鼠標(biāo)操操作的常用用方法:drag_and_drop()拖拖動WebDriverAPI:ActionChains類類鼠標(biāo)操操作的常用用方法:move_to_element()鼠鼠標(biāo)懸停WebDriverAPI:Keys類類鍵盤操操作的常用用方法: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')復(fù)復(fù)制(Ctrl+C)send_keys(Keys.CONTROL,'x')剪剪切(Ctrl+X)send_keys(Keys.CONTROL,'v')粘粘貼(Ctrl+V)WebDriverAPI:ActionChains類類鼠標(biāo)操操作的常用用方法:move_to_element()鼠鼠標(biāo)懸停WebDriverAPI:打印信息((斷言的信信息):title返回當(dāng)前頁頁面的標(biāo)題題current_url獲取當(dāng)前加加載頁面的的URLtext獲取元素的的文本信息息WebDriverAPI:打印信息((126郵郵箱):WebDriverAPI:腳本中的等等待時間::sleep():python提供設(shè)設(shè)置固定休休眠時間的的方法。implicitly_wait():是webdirver提供供的一個超超時等待。。WebDriverWait():同樣也是webdirver提供的的方法。WebDriverAPI:webdriver提供定位位一組對象象的方法::find_elements_by_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()WebDriverAPI:定位一組對對象,例一一:WebDriverAPI:定位一組對對象,例二二:WebDriverAPI:層級定位::WebDriverAPI:frame表單嵌套套的定位::switch_to_frame方方法WebDriverAPI:div彈窗窗的處理::WebDriverAPI:多窗口的處處理:current_window_handle獲得得當(dāng)當(dāng)前前窗窗口口句句柄柄window_handles返回回的的所所有有窗窗口口的的句句柄柄到到當(dāng)當(dāng)前前會會話話switch_to_window()用于于處處理理多多窗窗口口之之前前切切換換WebDriverAPI::多窗窗口口的的處處理理::WebDriverAPI::alert/confirm/prompt處處理理::switch_to_alert()用于于獲獲取取網(wǎng)網(wǎng)頁頁上上的的警警告告信信息息。。text返回回alert/confirm/prompt中中的的文文字字信信息息。。accept點擊擊確確認認按按鈕鈕。。dismiss點擊擊取取消消按按鈕鈕,,如如果果有有的的話話。。send_keys輸入入值值,,這這個個alert\confirm沒沒有有對對話話框框就就不不能能用用了了,,不不然然會會報報錯錯。。WebDriverAPI::下拉拉框框處處理理::二次次定定位位::driver.find_element_by_xx('xx').find_element_by_xx('xx').click()WebDriverAPI:文件上傳傳:driver.find_element_by_xx('xx').send_keys('d:/abc.txt')WebDriverAPI:文件下載載:確定Content-Type::下載載文件的的類型方法一::curl-IURL|grep"Content-Type"方法二::WebDriverAPI:文件下載載:WebDriverAPI:調(diào)用javaScript::execute_script()調(diào)調(diào)用js方法WebDriverAPI:控制瀏覽覽器滾動動條:WebDriverAPI:cookie處處理:get_cookies()獲得所有有co

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論