• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
ぐぐるのをじどうてすと
 

ぐぐるのをじどうてすと

on

  • 1,821 views

SphinxというかreSTでテストできませんかねー的な。

SphinxというかreSTでテストできませんかねー的な。

Statistics

Views

Total Views
1,821
Views on SlideShare
1,476
Embed Views
345

Actions

Likes
0
Downloads
2
Comments
0

5 Embeds 345

http://blog.livedoor.jp 317
http://lab1092.blog.jp 22
http://webcache.googleusercontent.com 4
http://us-w1.rockmelt.com 1
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    ぐぐるのをじどうてすと ぐぐるのをじどうてすと Presentation Transcript

    • ぐぐるのをじどうてすと Sphinx ネタ帳
    • はなすひと● 話す人=みつだ● 職業:えすいー● TwitterID = @lab1092● Sphinx/Blender/Python
    • 今回は「自動テスト」「 Sphinx 」でテーマを考えた。
    • ぐぐるさんに一仕事、頼もう。 「自動」で検索 ( のテスト ) 。
    • これを使うよ。
    • じゃあ、テストケース HTML で書いて。
    • ( ゜ Д ゜ ) ハア ??
    • いまさら HTML ?
    • 結果も…
    • reST で書けない ?書いてどうするの ?
    • もちろん「 Sphinx 」で 最終出力 !!
    • {F[label="testcase.rst"];G[label="rst2html",color = lightblue];H[label=" 謎の Python すくりぷと " ,color = lightgreen];A[label="testcase.html"];B[label="blender.html"];C[label="concrete5.html"];D[label="selelnium"];E[label="result.html"];I[label=" 謎の Python すくりぷと 2", color = lightgreen];J[label="result.rst"];K[label="Sphinx" , color = lightblue];L[label=" コンパイル結果 " , color = pink];F -> G -> H;H -> A[folded];group{orientation = portraitA -> B;A -> C;}A -> D;group{orientation = portrait;color = "#EEEEEE";D -> E -> I;}I -> J;group{orientation = portrait;color = "#EEEEEE";J -> K -> L}}
    • うぎゃあああ…ん?● 素直に Selenium IDE か Selenium RC 使え えよ…● 世の中そううまくいかないこともある● テストケースと結果の出力、テストケースどう しをまとめられ…る、もしかして?● そう、 Sphinx ならね。
    • もともとの HTMLテストケースと互換
    • スクリプトを 2 つ書いてみた● reST( から HTML 出 ● Selenium の出力する 力した ) ファイルか テスト結果の HTML ら Selenium で読み ファイルを reST に 込める HTML と実行 変換する ( 汎用でな 用バッチファイルを い ) スクリプト 生成する python ス クリプト
    • BeautifulSoup で再構成!● BeautifulSoupをテー ブルのパース (?) に 使用● field-list● :class: で識別させ ることに。 – suitelist – testcase
    • reST と HTML <tr class="field">:OS: Windows <th class="field-name"> OS:</th> <td class="field-body"> Windows</td></tr>.. table-list:: <table border="1" :class: testcase0 class="testcase0 docutils">
    • テストケース HTML 分解● テストケース HTML は reST から生成 – ケースリストとテストケースをまとめたもの● 全て Table 。● class = field-list なら「パラメータ」● class = suitelist 、 testcase なら「テスト ケース」
    • 主な処理はこんな感じ。from BeautifulSoup import BeautifulSoupcont = BeautifulSoup(buf)st = cont.findAll(table)for x in st: tblclass = x[class] if field-list in tblclass: (snip) elif suitelist in tblclass: (snip)
    • HTML に分解+
    • テスト実行の終わりを待つ。● reST から rst2html● html からテストケースに使うそれぞれの HTML を生成 & バッチファイルを作成。● バッチファイルをおもむろに実行 !!● ブラウザが開く !!
    • 実行画面
    • 実行結果 HTML これを reST に するの DA!!
    • またまたびゅーてぃほー● もう1つのスクリプトと同じで、テーブルを見 ていくのでその部分の処理は書きません。● ステータスが HTML の class= に書かれていた ので、それを外出しするようにはしてありま す。● <pre>~</pre> はそのまま出力
    • index.rst● 事前に書いておきます。● 生成されるファイルは分かっているので。 Contents: .. toctree:: :maxdepth: 2 testcase result sources
    • make html● もうここまできたらいつもの Sphinx 。● make html でコンパイルするよ。● 出力フォーマットやスタイルを変えてみてもい いかも。
    • index
    • testcase
    • result
    • ToDo:● 今回はとりあえず「やってみた」系。● スクリプト部分は「決め打ち」で処理している のでもうちょっと汎用性を持たせるとかしたい なー。● reST 生成部分ももうちょっと何とかしたい なー● 「本気で使える」に仕立て上げられるかな ?
    • Thanks For Watching!!