zoukankan      html  css  js  c++  java
  • Splinter——开源的轻量级前端测试工具

    先说说测试吧。

    我已经想不起来自己第一次听到“测试”这个词是什么时候了。。。也看过很多有关测试重要性的文章,但是自己一直都没有真正实践过。

    决定开始写测试是因为自己平时更新代码的时候好几次因为手工测试不充分,导致一些明显的BUG没有发现。所以痛下决心决定开始写测试。正好前段时间感觉时间不是那么紧了,就准备给自己的浪漫1点写测试用例。

    我个人感觉网站的测试重点是前端,后端更多的是安全性方面的问题。因为之前找了一个哥们给做了一下简单的安全检测,并且修复了很多漏洞,所以就只做前端的测试了。

    废话有点多了,进入正题吧。

    一、Splinter

    我的网站后端是使用Python的Django框架,所以自然就想到去找相关的测试工具。

    上github搜了一下,搜到两三个,打开简单浏览了一下感觉Splinter更简单一点,就决定试试。

    二、安装

    注:使用splinter需要有Python环境。

    有三种方法安装splinter。

    第一种是使用pip安装。pip是一个包管理工具,用Python的朋友应该都很熟悉,这里就不详细介绍pip了,如果大家不太了解可以去搜一下。

    $ [sudo] pip install splinter

    sudo是可选的,如果出现权限问题的话就加上sudo试试。

    第二种是使用git的clone功能把splinter克隆到本地然后安装:

    $ git clone git://github.com/cobrateam/splinter.git
    $ cd splinter
    $ [sudo] python setup.py install

    这种方法需要安装git,这里也不介绍了,毕竟本文主角是splinter如果没用过github的话还是使用pip安装吧,简单省事。

    第三种是直接下载zip文件然后解压进行安装。点击下载zip文件。

    解压之后运行:

    $ cd splinter
    $ [sudo] python setup.py install

    安装完成后就可以使用了。

    三、简单教程

    用一段官方的演示代码来讲解把:

     1 from splinter import Browser
     2 
     3 browser = Browser()
     4 browser.visit('http://google.com')
     5 browser.fill('q', 'splinter - python acceptance testing for web applications')
     6 browser.find_by_name('btnG').click()
     7 
     8 if browser.is_text_present('splinter.cobrateam.info'):
     9     print "Yes, the official website was found!"
    10 else:
    11     print "No, it wasn't found... We need to improve our SEO techniques"
    12 
    13 browser.quit()

    第1行是导入Browser。

    Browser是整个测试的基础,你可以把它理解为一个浏览器。

    第3行初始化一个Browser,不加参数的话默认是firefox。

    第4行是命令browser打开"http://google.com"。

    第5行是命令browser使用‘splinter - python acceptance testing for web applications’填充页面中‘name’是‘q’的元素。在Google的首页中,就是那个搜索框。大家可以看一下Google首页的代码。

    第6行是两个命令。第一个是找到‘name’属性为‘btnG’的按钮,第二个是click()也就是点击这个按钮。这个按钮就是Google的搜索按钮。

    第8行是判断页面中是否有‘splinter.cobrateam.info’这个字符串,因为上一步点击了搜索按钮,所以这里搜索的就是跳转之后的页面。当然,大家不用担心网速慢会判断出错,splinter会等页面载入完成再进行下一步的操作。

    第13行是删除browser。

    好了,讲完了,大家应该对splinter有了一个基本的认识了吧,怎么样,很简单吧~

    splinter虽然是轻量级测试工具,但是功能还是很完善的。支持通过各种属性(name,id...)来查找元素,支持多种浏览器(很遗憾没有IE),支持鼠标的交互行为(mouseover,click.....),支持执行js语句,支持页面回滚等等。

    详细的教程大家可以去splinter的官方查看documents,都是一些很简单的英文,我就不写到这里了。

    看到这里,大家心里应该都有一些自己的想法了吧,事不宜迟,赶快动手实践一下吧~

    PS:splinter的字符串查找功能如果直接查找中文字符的话会出错,我研究了一下,找到了一个解决方法,大家可以点击查看。

  • 相关阅读:
    简单的自我介绍
    学习总结(北航助教陈彦吉)
    2019春季第十二周助教总结
    2019春季第十一周助教总结
    第十一周作业
    2019春季第十周助教总结
    2019春季第九周助教总结
    第九周作业
    2019春季第八周助教总结
    第八周作业
  • 原文地址:https://www.cnblogs.com/numbbbbb/p/3042880.html
Copyright © 2011-2022 走看看