C#でSeleniumをPhantomJSを使ってヘッドレスで操作する.
概要
C#で各ブラウザを操作する方法を調べる. 特にPhantomJSの動作環境を整える
目的
Twitterを操作する依頼を受けた. 基本はChromeやFirefoxだが、ヘッドレスなPhantomJSの動作環境を作る.
詳細
以下の二つを参考にすすめる.
最強のチートシート: Most Complete Selenium WebDriver C# Cheat Sheet
最強のサンプルコード: AutomateThePlanet-Learning-Series/WebDriver-Series
を参考に進める.とても良い資料になっている
1. 新規プロジェクトを作成
適当なプロジェクトをたちあげる. 今回はユニットテストを立ち上げる.
2. 必要なパッケージの参照を設定
nugetで一つづインストールするのは大変なので, package.configに直接以下を書き込む
<?xml version="1.0" encoding="utf-8"?> <packages> <!--単体テストプロジェクトにデフォルトで入っている項目--> <package id="MSTest.TestAdapter" version="1.2.1" targetFramework="net461" /> <package id="MSTest.TestFramework" version="1.2.1" targetFramework="net461" /> <!--追加した項目--> <package id="Selenium.Firefox.WebDriver" version="0.20.0" targetFramework="net461" /> <package id="Selenium.PhantomJS.WebDriver" version="2.1.1" targetFramework="net461" /> <package id="Selenium.Support" version="3.12.0" targetFramework="net461" /> <package id="Selenium.WebDriver" version="3.12.0" targetFramework="net461" /> <package id="Selenium.WebDriver.ChromeDriver" version="2.38.0.1" targetFramework="net461" /> <package id="Selenium.WebDriver.IEDriver" version="3.12.0" targetFramework="net461" /> <package id="Selenium.WebDriver.MicrosoftWebDriver" version="10.0.17134" targetFramework="net461" /> </packages>
3. 「Nugetパッケージの復元」をする
ソリューションエクスプローラ内の「ソリューション」を右クリックして「Nugetパッケージの復元」を実行
しかしこのままだとまだ参照されていないのが分かる.
以下がパッケージロードのテスト用コード.
これがエラーなくコンパイルできればいいのだが。
このままだと赤線がでてコンパイルできない.
using System; using Microsoft.VisualStudio.TestTools.UnitTesting; // Selenium関連パッケージ using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Edge; using OpenQA.Selenium.Firefox; using OpenQA.Selenium.IE; using OpenQA.Selenium.PhantomJS; using OpenQA.Selenium.Support.Extensions; using OpenQA.Selenium.Support.UI; namespace SeleniumBoilerplate { [TestClass] public class BrowserTest { [TestMethod] public void TestChromeDriver() { using (IWebDriver driver = new ChromeDriver()) { } } [TestMethod] public void TestFirefoxDriver() { using (IWebDriver driver = new FirefoxDriver()) { } } [TestMethod] public void TestEdgeDriver() { using (IWebDriver driver = new EdgeDriver()) { } } [TestMethod] public void TestPhantomJSDriver() { using (IWebDriver driver = new PhantomJSDriver()) { } } } }
package.configをPackageRefferenceに移行する
ソリューションエクスプローラの「参照」を右クリックし、「package.configをPackageReferenceに移行する」を実行
すると、参照内のパッケージにpackage.configに記載されたパッケージがかわいいアイコンで現れる
すると先ほどまでパッケージインポートエラーが出ていた、selenium関連のパッケージがインポートできているのが分かるであろう。
テストを実行すると、環境にインストールされているブラウザでテストが合格するだろう. 特に今回はPhantomJSのテストがクリアされていれば、目的達成!
まとめ
C#.NETでSelenium関連パッケージの動作環境を整えた.
特にPhantomJSの動作環境が整った.
Selenium実践入門 ―― 自動化による継続的なブラウザテスト (WEB+DB PRESS plus)
- 作者: 伊藤望,戸田広,沖田邦夫,宮田淳平,長谷川淳,清水直樹,Vishal Banthia
- 出版社/メーカー: 技術評論社
- 発売日: 2016/02/02
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
この参考書はとてもためになります。 体系的な資料は少ないので一読オススメです。
下のは古いヴァージョンの話です、おすすめしません。
- 作者: Satya Avasarala,Sky株式会社玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/09/18
- メディア: 大型本
- この商品を含むブログ (5件) を見る
オリジナルチョウネクタイ 縫い合わせ
前回は生地を印刷してきた。
今回はチョウネクタイに挑戦する。
手段が目的なので、ひたすらネクタイ作りたい。ミシン使いたい。生地印刷したい。
ネットでチョウネクタイの作り方を調べた結果、通常のネクタイ同様に「型」をダウンロードしてきて、型に沿って生地を切り出す。そして、裏側から縫い合わせて、ひっくり返して完成となる。意外とできそう。
今回こだわりたいのは、本物のチョウネクタイ?を作りたい。チョウネクタイは結構好きでショーケースに入っているとつい見てしまうのだが、どれもすでに結ばれていて、首にフックで留めるタイプしか見たことなかった。しかし、型を探してると、フックタイプのやつはどうも子供用のばかりがでてくる。。
もしかしてあれって、ネクタイ結べない子供用なの???
ついに。自分で結ぶタイプのチョウネクタイに出会ってしまった。といういきさつ。
作り方
- 型をダウンロード
- 生地をカット
- 裏側から縫い合わせて
- ひっくり返して完成
型はこちらからダウンロードできる。
ちなみに僕が使ったやつも上げておく。
生地をカット
型を当てながら、マチ針を刺す。小学校の裁縫のおかげでそんなに迷わずできた。
ただ生地がサテンのためか、伸びたり歪んだりで動いて仕方ない。仕事では1ミリずれるとすごい大きなずれなので、四苦八苦してたが。完成してみると、意外と数ミリぐらい関係ないのかと感じた。布は伸びるし変形するね。
そして、布に線を引く。小学校の時に使ったチャコペン的なのを買いに行って、買ったのがこれ。
カッコよすぎる!固形?みたいな。チョーク。一目惚れ。線ひきたいがためにカットする。手段が目的。
そして購入したミシン。足踏みペダル付きで8000円程でした。うるさいけどかっこいい。。
これをミシンを使って縫い合わせる。ミシン使うのは初めて。練習はしたけど、まだ総縫い長さ50センチ。
生地は残り短い。失敗は一回までならできそう。時間がないのでやるしか無い。
縫いました。
型通りに真っ直ぐは縫えなかったけど、特に大きなズレはなく、成功?!
ミシンすごい優秀。戦前からの技術の集大成を感じました。ゼロ戦の軍服を学徒女子が工場で縫う姿を想像しながら。自動車業界へシフトしたらトヨタの歴史を感じながら縫い続けました。嘘です。
縫うのは15分くらいで終わっちゃった。
やっぱり何事も準備がほとんどですね。
完成したのは空港に向かう前の、3時間前。。ギリギリ完成!
新郎と自分
近くで細かくみると歪んでたり、縫い目が見えたりする所もあるが、遠目に見ればギリギリセーフかな。
反省
- 生地印刷。プリント印刷はイマイチ。次は昇華転写でちゃんとした生地をつくる。あと、色を出してみて、カラーの出具合も試す。
- 生地。ウェブから適当にサテンを選んだが、どうも薄すぎた気がする。そのため加工も大変だし、立体感が出しづらかった。素材は実際に触らんといかんとハンセー
まとめ
崎濱光の絵を頂き、生地にプリント印刷し、チョウネクタイを縫った。まぁまぁのデキだった。
次は座布団を作る計画です。
オリジナルチョウネクタイ 生地印刷
概要
チョウネクタイを作る
目的
友人の結婚式にお誘いを受けた。スーツに合わせるネクタイが欲しいが、グッとくるデザインが見つからない。ので、作ってみる。
方針
- 柄 : [知人](hikaru-sakihapa.jp)の画家の絵を譲ってもらった。それをパターンぽく編集する。
- 型 : こちらの型を使う
- 生地印刷 : 印刷会社に頼む
- 組み上げ : ミシンで縫う
- 縫い : ミシンを買ってくる
印刷
画家の崎濱光から絵を譲ってもらったので、これを印刷する。
印刷業者
印刷はcoromozaに伺い即日プリントをしてもらった。
coromozaはマンションの一室にあるらしく、エレベーターで408号室へ。
こうやって東京の真ん中で蒸発するのかと思いながら階数が増えるのを緊張しながら眺めていた。
インターホンは閉じられていて勝手に入る。
意外とフレンドーリー
室内はデカイプリンタやら、でかいWacomやら、生地やら箱やらで埋め尽くされていた。
隠れ工房感。テンション上がります。さすが東京。
さっそく生地がセットされていて、事前に入稿していたデータで、テスト印刷。
どうやら、そのままの印刷だと薄い。紙や画面とはまた違って、色味が変わるみたい。おもしろ!
ってことで
濃いめと鮮やかの設定で計3種類から選ばせてもらった。
ノーマル
濃いめ
鮮やか
生地が薄いサテンで少し透けてるので、そんなもんかな。生地印刷むづかしや。
今回は初めてなのでとりあえずやってみる。鮮やかで!
10分もかからずに終わるらしいので、他のサンプルを見せてもらう。
今回は、結婚式までの期日がないので、即日で印刷できるプリントだった。あまり色ノリしないらしい。
昇華印刷とうより一週間かかる本気のやつのサンプルを見せてもらった。
全然違う!!!
発色も輪郭を全然違うー。欲しいのはこれだよー。。
品質求めるなら昇華印刷一択。
次は余裕を持って昇華印刷してもらおう。
料金はもちろん高いです。
勉強になりました。
やはり現場で手にとってみないとわからないものですね。Webで見るだけじゃダメです。
勉強になりました。
coromozaでは他にも、レーザーカットや、刺繍もされている見たい。
奥にあったアトリエでは、洋服デザイナー?な皆様が作業してて良い雰囲気でした。
また使わせてもらいます。
そして完成した生地がこれ。
新世界な感じがでて結構良いです。
感想
初の生地印刷を試してきた。期日無いため、昇華印刷ではなく転写プリントを試した。
作業は30分程度で終わり対応良かった。
若干色味が物足りない。次は昇華印刷を試す。
色味の部分は、ネクタイの組み立て工程でどうにかフォローできないかやってみる。
そして、これからミシンを買いに行く。
残り5日。