qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          輕松自動化---selenium-webdriver(python) (一)

          為什么選python

          之前的菜鳥系列是基于java的,一年沒學(xué)其實也忘的差不多了,目前所測的產(chǎn)品部分也是python寫的,而且團隊也在推廣python ,其實就測試人員來說,python也相當(dāng)受歡迎。易學(xué),易用。翻翻各測試招聘,python出現(xiàn)的概率也頗高。

           

          平臺搭建:

          前一篇中已經(jīng)介紹,如果你也想體驗一下自動化魅力,那就趕快搭建自己的環(huán)境吧~!

          selenium + python自動化測試環(huán)境搭建

           

          第一個腳本:

          下面看看python 穿上selenium webdriver 是多么的性感:

          復(fù)制代碼
          # coding = utf-8  from selenium import webdriver   browser = webdriver.Firefox()  browser.get("http://www.baidu.com") browser.find_element_by_id("kw").send_keys("selenium") browser.find_element_by_id("su").click() browser.quit()
          復(fù)制代碼

          怎么樣?相信不懂代碼的人都能看懂,但還是請容我在這里啰嗦一下每一句的含義:

           

          # coding = utf-8

          可加可不加,開發(fā)人員喜歡加一下,防止亂碼嘛。

           

          from selenium import webdriver

          要想使用seleniumwebdriver 里的函數(shù),首先把包導(dǎo)進來嘛

           

          browser = webdriver.Firefox() 

          我們需要操控哪個瀏覽器呢?Firefox ,當(dāng)然也可以換成Ie 或 Chrome 。browser可以隨便取,但后面要用它操縱各種函數(shù)執(zhí)行。

           

          browser.find_element_by_id("kw").send_keys("selenium")

          一個控件有若干屬性id 、name、(也可以用其它方式定位),百度輸入框的id kw ,我要在輸入框里輸入 selenium 。多自然語言呀!

           

          browser.find_element_by_id("su").click()

          搜索的按鈕的id su ,我需要點一下按鈕( click() )。

           

          browser.quit()

          退出并關(guān)閉窗口的每一個相關(guān)的驅(qū)動程序,它還有個類似的表弟。

          browser.close()

          關(guān)閉當(dāng)前窗口 ,用哪個看你的需求了。

           

          添加休眠

          什么?你說剛才太快沒看清瀏覽器的操作過程。請time出馬,讓他跑慢點。

           

          復(fù)制代碼
          # coding = utf-8  from selenium import webdriver import  time  #調(diào)入time函數(shù)  browser = webdriver.Firefox()  browser.get("http://www.baidu.com") time.sleep(0.3)  #休眠0.3秒 browser.find_element_by_id("kw").send_keys("selenium") browser.find_element_by_id("su").click() time.sleep(3)  # 休眠3秒 browser.quit()
          復(fù)制代碼

           

          time.sleep() 函數(shù)隨意插,哪里太快插哪里,再也不用擔(dān)心看不清腳本的運行過程了。

           

          其實,這個函數(shù)的真正用途不是給我們看腳本的運行過程的,有時候網(wǎng)絡(luò)原因,或頁面加載慢。假設(shè)搜索框輸入框輸入了selenium ,搜索按鈕還沒加載出來,那么腳本就報錯。在適當(dāng)?shù)奈恢眉尤?/span>time.sleep()有助于減少網(wǎng)絡(luò)原因造成的腳本執(zhí)行失敗;

           

          輸出

          什么?在運行腳本的時候,上了個廁所,你都不知道剛才的腳本是否運行成功了。把剛才訪問頁面的title 打印出來。

           

          復(fù)制代碼
          # coding = utf-8  from selenium import webdriver  driver = webdriver.Chrome() driver.get('http://www.baidu.com') print driver.title  # 把頁面title 打印出來 driver.quit()
          復(fù)制代碼

           

          雖然我沒看到腳本的執(zhí)行過程,但我在執(zhí)行結(jié)果里看到了

          >>>  百度一下,你就知道

          說明頁面正確被我打開了。

           

           

          --------------------------

          學(xué)習(xí)更多selenium 內(nèi)容:

           「功能測試自動化」匯總

          posted on 2014-03-10 11:28 順其自然EVO 閱讀(295) 評論(0)  編輯  收藏 所屬分類: 自動化測試python

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 横山县| 盐亭县| 游戏| 大埔县| 内乡县| 牙克石市| 文成县| 白朗县| 丽江市| 涟水县| 年辖:市辖区| 新津县| 黄大仙区| 铜梁县| 永仁县| 扎囊县| 江西省| 嘉兴市| 苏州市| 垣曲县| 丰台区| 吴堡县| 团风县| 濮阳县| 上饶市| 湘西| 新丰县| 土默特左旗| 岫岩| 凌云县| 建宁县| 波密县| 汾阳市| 简阳市| 巴林右旗| 庆阳市| 扬中市| 孝感市| 凤山市| 河间市| 宁安市|