Splinter-オープンソースの軽量レベルのフロントエンドテストツール

5166 ワード

まずテストについて話しましょう.
「テスト」という言葉を初めて聞いたのはいつだったか思い出せない...テストの重要性に関する文章もたくさん見ましたが、自分では本当に実践したことがありません.
テストを始めることを決めたのは、自分が普段コードを更新している間に何度も手作業でテストが不十分だったため、明らかなバグが発見されなかったからです.だから思い切ってテストを始めることにしました.ちょうどこの間、時間がそんなにきつくないと感じて、自分のロマンス1にテスト例を書く準備をしました.
個人的にはサイトのテストのポイントはフロントエンドで、バックエンドは安全性の問題が多いと思います.前に友达を探して簡単な安全検査をして、多くの脆弱性を修復したので、フロントエンドのテストしかしませんでした.
くだらない話が少し多いから、本題に入りましょう.

一、Splinter


私のサイトのバックエンドはPythonのDjangoフレームワークを使っているので、自然と関連するテストツールを探したいと思っています.
上githubで検索して、2、3つ検索して、開けて簡単に閲覧して、Splinterがもっと簡単だと感じて、試してみることにしました.

二、取り付け


注意:splinterを使用するにはPython環境が必要です.
splinterをインストールするには3つの方法があります.
1つ目はpipを使用してインストールします.pipはパッケージ管理ツールで、Pythonを使っている友达はよく知っているはずですが、ここではpipを詳しく紹介しません.よく知らないなら探してみてください.
$ [sudo] pip install splinter

sudoはオプションで、権限の問題が発生したらsudoを付けてみます.
2つ目はgitのclone機能を使用してsplinterをローカルにクローンしてインストールすることです.
$ git clone git://github.com/cobrateam/splinter.git $ cd splinter $ [sudo] python setup.py install

この方法はgitをインストールする必要がありますが、ここでは紹介しません.結局、本稿の主役はsplinterです.githubを使ったことがないならpipを使ってインストールしましょう.簡単です.
3つ目は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アプリケーション」を使用してページの「name」が「q」である要素を埋め込むことです.Googleのトップページには、その検索ボックスがあります.Googleのトップページのコードを見てみましょう.
6行目は2つのコマンドです.1つ目は「name」属性が「btnG」のボタンを見つけ、2つ目はclick()つまりこのボタンをクリックします.このボタンがGoogleの検索ボタンです.
8行目はページに「splinter」があるかどうかを判断する.cobrateam.info’という文字列は、前のステップで検索ボタンをクリックしたので、ここで検索したのはジャンプ後のページです.もちろん、ネットの速度が遅いと判断が間違ってしまう心配はありません.splinterはページの読み込みが完了してから次の操作を行います.
13行目はbrowserを削除します.
 
さて、話が終わりました.皆さんはsplinterについて基本的な認識を持っているでしょう.どうですか.簡単でしょう.
splinterは軽量級のテストツールですが、機能は完璧です.各種属性(name,id...)によるサポート要素を検索し、複数のブラウザ(IEがないのは残念ですが)、マウスのインタラクティブな動作(mouseover,click......)をサポートします.js文の実行、ページロールバックなどをサポートします.
詳しいチュートリアルはsplinterの公式にdocumentsを見ることができて、すべていくつかのとても簡単な英語で、私はここまで書きません.
ここを見て、みんなの心の中には自分の考えがあるでしょう.遅くないから、早く実践してみましょう.
 
PS:splinterの文字列検索機能は、中国語の文字を直接検索するとエラーになります.検討してみましたが、解決策が見つかりました.