Splinter 的認識和基礎應用

  Splinter 是一個使用Python開發的開源web應用測試程序,它能夠幫助咱們實現自動瀏覽站點和與其進行交互。它是依賴於其它python插件或拓展進行的,因此咱們使用它以前須要安裝一系列的依賴包。css

依賴包
Splinter0.7.2依賴如下包:
Selenium(版本>=2.44.0)
Django(版本>=1.5.8,<1.7)
Flask(版本>=0.10)
lxml(版本>=2.3.6)
zope.testbrowser(版本>=4.0.4)
cssselect

  當咱們控制瀏覽器時還須要下載一些瀏覽器的driver,並要將這些driver的路徑添加到環境變量中,咱們才能隨便的使用它們。html

  splinter經常使用的一些命令python

定位元素:
browser.find_by_css('h1')
browser.find_by_tag('h1')
browser.find_by_name('name')
browser.find_by_id('firstheader')
browser.find_by_value('fquery')
browser.find_by_xpath('//h1')
browser.find_element_by_XXX() # element 表示定位的是單個
browser.find_elements_by_XXX() # elements 表示定位的是多個,不能直接進行操做

html控件應用:
test單行文本框、testarea多行文本框:用於填充事件
select下拉框:用於選擇事件
radio單選框:用於單選事件
button按鈕:用於點擊事件
checkbox複選框:用於複選事件
a超連接:用於跳轉事件


經常使用的操做命令:
click   點擊
submit 提交表單 fill 一次性填充 choose 單選 type 鍵入式填充
clear 清除元素的內容
send_keys 在元素上模擬按鍵輸入 mouse_over 鼠標指針位於元素上方的事件 mouse_out 鼠標指針位於元素下方的事件

使用事例:web

from splinter import Browser

b = Browser('chrome')   #使用谷歌瀏覽器,若是省略了傳入的字符串,則默認使用firefox
url = "http://www.baidu.com"  #控制瀏覽器進入的站點
b.visit(url)
b.fill('q', 'splinter - python acceptance testing for web applications')   #使用splinter向站點中填充一個內容

    button = browser.find_by_name('btnG')   #獲取站點中的按鈕

    button.click()   #單擊按鈕提交填充的數據
    if browser.is_text_present('splinter.readthedocs.org'):   #判斷是否存在這個字符串
        print "Yes, the official website was found!"
    else:
        print "No, it wasn't found... We need to improve our SEO techniques"
from splinter.browser import Browser
from time import sleep

b = Browser()
b.visit("http://www.baidu.com")

print(u'稍後進行查找')
time.sleep(8)

b.find_by_id('kw').fill("splinter")
b.find_by_id('su').click()

print(u'查找結束')
time.sleep(10)

b.quit()
相關文章
相關標籤/搜索