qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

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

          為什么選python?

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

            平臺搭建:

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

            selenium + python自動化測試環境搭建

            第一個腳本:

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

          # 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()

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

            # coding = utf-8
            可加可不加,開發人員喜歡加一下,防止亂碼嘛。

            from selenium import webdriver
            要想使用selenium的webdriver 里的函數,首先把包導進來嘛

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

            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()
            退出并關閉窗口的每一個相關的驅動程序,它還有個類似的表弟。

            browser.close()
            關閉當前窗口 ,用哪個看你的需求了。

          添加休眠

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

          # coding = utf-8

          from selenium import webdriver
          import  time  #調入time函數

          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()

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

            其實,這個函數的真正用途不是給我們看腳本的運行過程的,有時候網絡原因,或頁面加載慢。假設搜索框輸入框輸入了selenium ,搜索按鈕還沒加載出來,那么腳本就報錯。在適當的位置加入time.sleep()有助于減少網絡原因造成的腳本執行失敗;

            輸出

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

          # coding = utf-8

          from selenium import webdriver

          driver = webdriver.Chrome()
          driver.get('http://www.baidu.com')
          print driver.title  # 把頁面title 打印出來
          driver.quit()

            雖然我沒看到腳本的執行過程,但我在執行結果里看到了

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

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

            更多內容,關注更新.....

          posted on 2013-07-04 10:28 順其自然EVO 閱讀(448) 評論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動化測試學習

          <2013年7月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 思南县| 大足县| 五莲县| 红桥区| 教育| 甘孜县| 蛟河市| 临泉县| 江华| 廊坊市| 万荣县| 黄浦区| 和平区| 泾川县| 泽普县| 彝良县| 花垣县| 全南县| 大宁县| 洪雅县| 如皋市| 舟曲县| 上栗县| 连南| 鄢陵县| 桓仁| 青冈县| 昂仁县| 尚志市| 临洮县| 静乐县| 沂南县| 中山市| 富民县| 财经| 平遥县| 锡林郭勒盟| 五大连池市| 龙南县| 福清市| 佳木斯市|