from electron 2 web

インターネットのリソースを無駄遣いして検索におけるUXを下げてごめんなさい

圧倒的文章力のNASAでゴミみたいなチラ裏のようなメモを量産してしまい全ての"Web開発者"にごめんなさい

アドオンでも継続的インテグレーションがしたい!

ネットでggrー>無い。

githubでコード漁りまくってたら発見した。

github.com

travisCI使う。

設定方法とかは.travis.ymlに書いてある。

qiita.com

getting-start

いきなりやるとエラーで嵌りそうなので公式のgettingstart見ながら昔作ったnpmパッケージをテストしてみることにした。

Building a Node.js project - Travis CI

エラー

いきなりやらなくてもエラーなんだよなあ。

スキル:エラー体質

環境構築でコケる程度の能力

Written by John Gilmore and Jay Fenlason.
fetching: {
gzip: stdin: unexpected end of file
/bin/tar: Child returned status 1
/bin/tar: Error is not recoverable: exiting now
It failed
Remote repository may not be reachable
0.10s$ nvm use 0.5
Now using node v0.5.10
/home/travis/build.sh: line 45: npm: command not found
The command "npm config set spin false" failed and exited with 127 during .
Your build has been stopped.
  • 原因
language: node_js
node_js:
 - 0.9

\-0.9"\-0.9"にしてたっぽい?

見つけるのに30分かかった。絶望。

エラー(2回目

辛い

なんでgettingstartで2回もコケるんですかね

npm ERR! install Couldn't read dependencies npm ERR! Failed to parse json npm ERR! Unexpected token   npm ERR! File: /home/travis/build/lv7777/hello_npm/package.json npm ERR! Failed to parse package.json data. npm ERR! package.json must be actual JSON, not just JavaScript.

travisCIさん、{}外の半角空白もダメって言われるのか(困惑

まあこれは簡単。

感想

こういう系はtravisCIとかVSOとか後多分他にも使ったことある気がする。

VSOはいろいろ機能ありすぎて習得にかなり時間かかった。

種類で言えばgithubもこの中にはいるのかな?

transfixのあの鯖のやつとかもそうかな。

まあ何にしろこれで「MochaでテストしながらtravisCIで継続的インテグレーションしてnodejsのnpm開発してます(ドヤアアア」とか言えるわ。

ただしnode.js?知ってるよjsの鯖でしょ?ってレベルの人だけだけど。

まともに開発してる勢の前でこんなこと言ったら殺されそう。

でもまだ終わってないんだよなあ

これからなんだよなあ。

んでfirefoxにseleniumIDE入れてselenium webdriverも入れてchromeもインストールしてjavaかなんかのテストコードをseleniumIDEにインポートしてchromeに俺のアドオン入れてテストする、と。

めっちゃ処理手順長いな。

まあそのためにseleniumの日本ユーザグループのslackにはいったんですけどね。

がんばる。

seleniumでテストする

そういえばseleniumデザイン・パターン&ベストプラクティスとかいうオライリー・ジャパンの本を借りた。

2章の最後までしか読んでない。ベストプラクティス以前に経験がまだ全然足りてないんだよなあ。高校生の時以来借りてないし。そもそも今回必要なのはコードの綺麗さとかじゃなくて

できれば「実践selenium webdriver」のほう借りたかった。

  • xVfb

(PhantomJSは今回は使わ)ないです。

qiita.com

blog.amedama.jp

なんかcuiでブラウザ使うやつ。travisciはlinux鯖なのでguiじゃないらしい。

構成が見えてきた。

f:id:lv7777:20160311111415p:plain

こうなるわけだ。

Slack

で答えをいただいた。

seleniumはブラウザの操作はなんでもできます。だそうだ。神か。

でもchromeでテストを記録することは無理っぽい。まあjavaかなんかで書けばいいのでべつにいいんだけど。

■selenium webdriver を使ったテストプログラムを書くと、以下の操作をプログラムに実行させることができます。

・アイコンを押す
・ポップアップのinputフォームに文字をタイピングする
・("console.log"(タイピングした文字列を記録するテキストファイルでしょうか?)がどこに存在するファイルか分かりかねますが、テストプログラムが参照可能な場所にあれば)console.logの内容と入力した文字列を比較する

すごい。神。console.logは入力するだけなので別にダイジョブ。

Selenium 2 を導入する

よさ。

クソみたいな仕様にハマって一旦休み(ちなみにselenium自身はnodejsでもかけるので神

lv7777.hatenablog.com

というかselenium編は分けるか。量が多すぎる