Splinter 的认识和基础应用

  Splinter 是一个使用Python开发的开源web应用测试程序,它可以帮助我们实现自动浏览站点和与其进行交互。它是依赖于其它python插件或拓展进行的,所以我们使用它之前需要安装一系列的依赖包。

依赖包
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的路径添加到环境变量中,我们才能随便的使用它们。

  splinter常用的一些命令

定位元素:
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 鼠标指针位于元素下方的事件

使用事例:

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

 

posted @ 2018-06-27 19:02  木楉。  阅读(3346)  评论(0编辑  收藏  举报