1. oh_rusty_nail

    Posted

    oh_rusty_nail
Changes in title
+Selenium IDE コマンドリファレンス (2019/09版 : Selenium IDE v3.12.0 [全96コマンドを徹底解説])
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,865 @@
+# はじめに
+[10分でわかるブラウザ処理自動化!初心者向けSelenium IDE入門ガイド](https://qiita.com/oh_rusty_nail/items/5b584c95e01759c00869)でSelenium IDEを使い始めるためのガイドを書きました。
+そこでは、条件分岐やループ処理など一部のコマンドについての解説を書きました。
+本記事では **v3.12.0(2019/09時点での最新)のコマンド全部をサンプルコード** を書きながら解説しています。
+今回作成したサンプルコードはGithubに置いています。
+https://github.com/RustyNail/SeleniumIDEDemo の [SeleniumIDEcommand.side](https://github.com/RustyNail/SeleniumIDEDemo/blob/master/SeleniumIDEcommand.side)をインポートすれば実行できます。
+
+# Selenium IDEのコマンド一覧
+新しいSelenium IDEがでた当初はコマンドが少なくて「今までやっていたことができなくなってる?使えないのでは?」とちょっと不安でしたが、今では随分コマンドが増え充実してきているようです。
+[公式のドキュメント](https://docs.seleniumhq.org/selenium-ide/docs/en/api/commands/)もありますが、この記事にはサンプル
+Selenium IDEのコマンドリストを見るとこれだけあります。(アルファベット順)
+
+```
+ 1. add selection
+ 2. answer on next prompt
+ 3. assert
+ 4. assert alert
+ 5. assert checked
+ 6. assert confirmation
+ 7. assert editable
+ 8. assert element present
+ 9. assert element not present
+10. assert not checked
+11. assert not editable
+12. assert not selected value
+13. assert not text
+14. assert prompt
+15. assert selected value
+16. assert selected label
+17. assert text
+18. assert title
+19. assert value
+20. check
+21. choose cancel on next confirmation
+22. choose cancel on next prompt
+23. choose ok on next confirmation
+24. click
+25. click at
+26. close
+27. debugger
+28. do
+29. double click
+30. double click at
+31. drag and drop to object
+32. echo
+33. edit content
+34. else
+35. else if
+36. end
+37. execute script
+38. execute async script
+39. for each
+40. if
+41. mouse down
+42. mouse down at
+43. mouse move at
+44. mouse out
+45. mouse over
+46. mouse up
+47. mouse up at
+48. open
+49. pause
+50. remove selection
+51. repeat if
+52. run
+53. run script
+54. select
+55. select frame
+56. select window
+57. send keys
+58. set speed
+59. set window size
+60. store
+61. store attribute
+62. store json
+63. store text
+64. store title
+65. store value
+66. store window handle
+67. store xpath count
+68. submit
+69. times
+70. type
+71. uncheck
+72. verify
+73. verify checked
+74. verify editable
+75. verify element present
+76. verify element not present
+77. verify not checked
+78. verify not editable
+79. verify not selected value
+80. verify not text
+81. verify selected label
+82. verify selected value
+83. verify text
+84. verify title
+85. verify value
+86. wait for element editable
+87. wait for element not editable
+88. wait for element not present
+89. wait for element not visible
+90. wait for element present
+91. wait for element visible
+92. webdriver answer on visible prompt
+93. webdriver choose cancel on visible confirmation
+94. webdriver choose cancel on visible prompt
+95. webdriver choose ok on visible confirmation
+96. while
+```
+
+**全部で 96 個** のコマンドがありますが、通常はif..else..endやwhile..endのように複数のコマンドを組み合わせて使います。
+
+いくつかのコマンドを組み合わせた形でサンプルコードを作成して解説していきます。
+サンプルを実行する環境として、日本Seleniumユーザーコミュニティのテスト用のサイト( http://example.selenium.jp/reserveApp_Renewal/ )を使用しています。
+そのため、Base URLは http://example.selenium.jp を設定しています。
+
+## 入力操作
+
+### type
+入力欄に任意のテキストを入力することができます。
+
+【コード】
+![スクリーンショット 2019-08-22 22.21.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/47c8ebf4-f22a-463f-bc96-a11b9ebeb2a5.png)
+【実行結果】
+![スクリーンショット 2019-08-22 22.22.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/236f3f94-7301-1f53-1d41-8719d9618b1e.png)
+
+### edit content
+コンテンツ編集可能な要素に値を入力します。
+
+【コード】
+以下の例では、コンテンツが編集可能なサイト https://quilljs.com/ を利用しています。
+![スクリーンショット 2019-09-05 23.01.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/192fab2f-d5b0-5ba6-4bb7-6a5fb384021e.png)
+
+【実行結果】
+![スクリーンショット 2019-09-05 23.05.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/85b128d5-dbf6-7221-c653-293f5594e462.png)
+
+### send keys
+指定した要素の対して、キー入力操作を行います。
+`type` コマンドとは異なり、既存のコンテンツを書き換えることは出来ません。
+
+【コード】
+(Enterキーを押した場合)
+![スクリーンショット 2019-08-28 23.28.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/e0e985c7-5e9b-55db-8a8c-555481b3b864.png)
+フォームが送信されます。
+
+(文字列を入力した場合)
+![スクリーンショット 2019-08-28 23.34.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/94032954-b2a9-714b-04a4-f60fb6727c41.png)
+![スクリーンショット 2019-08-28 23.34.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/3ece1c09-c176-de43-5c54-03f9c10a2e00.png)
+既存のコンテンツ(入力済みの"山田花子")は書き換えないため追記するような形になります。
+
+### select
+選択肢(select要素)の内、指定したものを選択します。
+
+【コード】
+以下の例では、宿泊人数を1人(デフォルト)から2人に変更しています。
+![スクリーンショット 2019-08-23 16.49.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/6b457780-b5aa-b198-cb6d-d98952a844c8.png)
+
+【実行結果】
+実行前:![スクリーンショット 2019-08-23 16.54.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/dec6d391-c1fa-6b2e-6b1b-fb0e4c818c10.png) 実行後:![スクリーンショット 2019-08-23 16.54.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/e91ca991-17c9-15ce-9421-7c1aeb273804.png)
+
+### add selection
+対象とする選択肢を複数選択することができます。
+よくあるCtrlキー(OSXの場合はcommandキー)を押しながら選択するアレです。
+
+【コード】
+以下の例では、 http://only-testing-blog.blogspot.com/2013/09/testing.html というデモサイトを使用しています。
+![スクリーンショット 2019-09-01 23.18.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/85275792-6ae7-6413-d11c-73e43773d6cc.png)
+
+【実行結果】
+![スクリーンショット 2019-09-01 23.05.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/e82746b2-b95d-5388-1f62-11bc8a220a20.png)
+
+### remove selection
+対象とする選択肢を複数選択したものを除外することができます。
+
+【コード】
+以下の例では、 http://only-testing-blog.blogspot.com/2013/09/testing.html というデモサイトを使用しています。
+![スクリーンショット 2019-09-01 23.16.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/442cb12a-8a9d-adc2-5d89-518f2ef438e0.png)
+
+【実行結果】
+![スクリーンショット 2019-09-01 23.15.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/0c20d0e8-70d1-2c8c-07be-9659d261a34c.png)
+
+### check
+チェックボックスにチェックを入れます。
+
+【コード】
+以下の例では、「昼からチェックインプラン」にチェックを入れます。
+![スクリーンショット 2019-08-23 17.00.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/73367dca-68ee-7286-aa89-dbcd3601ce29.png)
+
+![スクリーンショット 2019-08-23 17.02.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/fc723995-98ba-ac61-1162-69d4d0773015.png)
+
+【実行結果】
+ (実行前は「昼からチェックインプラン」にチェックが入っていません)
+![スクリーンショット 2019-08-23 17.01.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/c8fe45f6-ed41-9a7d-0091-656127bd5e01.png)
+
+### unckeck
+チェックボックスにチェックを外します。
+
+【コード】
+![スクリーンショット 2019-08-23 17.02.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/4854aac5-28a5-716a-d757-9a3cbfacc07a.png)
+
+【実行結果】
+ (実行前に「昼からチェックインプラン」にチェックを入れています)
+![スクリーンショット 2019-08-23 17.01.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/6eb9a15c-d7e5-a4f7-e5b9-7566175d7654.png)
+
+### choose ok on next confirmation / webdriver choose ok on visible confirmation
+表示されたダイアログでOKを選択します。
+![スクリーンショット 2019-09-05 23.31.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/977874c4-0089-51cd-1d03-a8525ddf3d5f.png)
+
+ダイアログがまだ表示されていない場合は、 `choose ok on next confirmation` を使用します。
+ダイアログが既に存在する場合は、 `webdriver choose ok on visible confirmation` を使用します。
+
+【コード】
+以下の例では、確認ダイアログが表示されるデモサイト http://only-testing-blog.blogspot.com/2013/09/test.html を使用しています。
+![スクリーンショット 2019-09-05 22.28.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/e75d30bb-0ab8-b826-8358-86e4a0e4e790.png)
+![スクリーンショット 2019-09-05 22.28.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/aa764b50-5614-6f7f-e120-2e7014d04f91.png)
+ダイアログ表示からOKを選択するまでのコード:
+![スクリーンショット 2019-09-05 22.46.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/179b2955-d9d7-71d4-ebc5-c6b67f902912.png)
+
+### choose cancel on next confirmation / webdriver choose cancel on visible confirmation
+表示されたダイアログでキャンセルを選択します。
+![スクリーンショット 2019-09-05 23.31.37のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/c03576ad-7385-99e9-d54e-ac484d928305.png)
+
+ダイアログがまだ表示されていない場合は、 `choose cancel on next confirmation` を使用します。
+ダイアログが既に存在する場合は、 `webdriver choose cancel on visible confirmation` を使用します。
+
+【コード】
+以下の例では、確認ダイアログが表示されるデモサイト http://only-testing-blog.blogspot.com/2013/11/new-test.html を使用しています。
+![スクリーンショット 2019-09-05 22.49.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/b7d9332b-fabc-0aad-a3a0-4ce56d004691.png)
+![スクリーンショット 2019-09-05 22.49.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/53ad52d4-7bee-b13b-9af6-6dddcb15384f.png)
+
+ダイアログ表示からキャンセルを選択するまでのコード:
+![スクリーンショット 2019-09-05 22.46.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/12cacd8f-ab51-ed34-7c2e-c91eb956f73a.png)
+
+### answer on next prompt / webdriver answer on visible prompt
+表示されたアラートプロンプトで回答を入力(してOKを選択)します。
+
+![スクリーンショット 2019-09-05 23.44.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/efccfbca-6eb7-e32d-4441-d74f7f4a8ccf.png)
+
+アラートプロンプトがまだ表示されていない場合は、 `answer on next prompt` を使用します。
+アラートプロンプトが既に存在する場合は、 `webdriver answer on visible prompt` を使用します。
+
+【コード】
+以下の例では、アラートプロンプトが表示されるデモサイト http://only-testing-blog.blogspot.com/2013/11/new-test.html を使用しています。
+![スクリーンショット 2019-09-05 23.46.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/0c3fd7e1-9f53-2602-bf99-61cb6461ef58.png)
+![スクリーンショット 2019-09-05 23.46.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/18b810e3-0f1f-7118-b363-d2bd0e035a52.png)
+
+アラートプロンプト表示から回答を入力(してOKを選択)するまでのコード:
+![スクリーンショット 2019-09-05 23.48.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/2319439c-ead9-7aa7-fb02-7f2dc2531a84.png)
+
+### choose cancel on next prompt / webdriver choose cancel on visible prompt
+表示されたアラートプロンプトでキャンセルを選択します。
+
+![スクリーンショット 2019-09-05 23.23.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/815fc386-81d2-8348-df79-6dd225d803d5.png)
+
+アラートプロンプトがまだ表示されていない場合は、 `choose cancel on next prompt` を使用します。
+アラートプロンプトが既に存在する場合は、 `webdriver choose cancel on visible prompt` を使用します。
+
+【コード】
+以下の例では、アラートプロンプトが表示されるデモサイト http://only-testing-blog.blogspot.com/2013/11/new-test.html を使用しています。
+![スクリーンショット 2019-09-05 23.21.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/00d01d34-cef9-b51b-b606-ee0f1f0d21fc.png)
+![スクリーンショット 2019-09-05 23.21.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/c5649ede-dd85-8a5b-ab72-f875699cc3a5.png)
+
+アラートプロンプト表示からキャンセルを選択するまでのコード:
+![スクリーンショット 2019-09-05 23.31.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/125ae1d4-9f6d-fb15-6f8b-dc59878e5975.png)
+
+## マウス操作
+
+### click
+対象の要素(リンク、ボタン、チェックボックス、ラジオボタンなど)をクリックします。
+
+【コード】
+以下の例では、「利用規約に同意して次へ」をクリックしています。
+![スクリーンショット 2019-08-23 23.20.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/c3acbf39-53c6-8b5d-edd6-66d46f3088b4.png)
+
+![スクリーンショット 2019-08-23 23.20.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/dada7083-3ca4-d27a-5a3d-cada7efffe66.png)
+
+### click at
+対象の要素(リンク、ボタン、チェックボックス、ラジオボタンなど)をクリックします。
+クリックするポイント(座標)を指定できます。対象要素に対して相対的で、例えば左上隅は 0,0になります。
+
+【コード】
+![スクリーンショット 2019-09-05 21.51.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/54131f67-53bf-8e8a-c60a-8a23d53650c8.png)
+
+### double click
+対象の要素(リンク、ボタン、チェックボックス、ラジオボタンなど)をダブルクリックします。
+
+【コード】
+![スクリーンショット 2019-09-08 2.44.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/0757dd9a-deec-4904-61ac-7a22cc588a9d.png)
+
+### double click at
+対象の要素(リンク、ボタン、チェックボックス、ラジオボタンなど)をダブルクリックします。
+クリックするポイント(座標)を指定できます。対象要素に対して相対的で、例えば左上隅は 0,0になります。
+
+【コード】
+![スクリーンショット 2019-09-08 2.44.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/2d32cb26-61dd-d427-f208-304e6305238a.png)
+
+### mouse down
+マウスの左ボタンをクリックした状態にします。(クリックしたまま)
+
+【コード】
+以下の例では、 マウスダウン/マウスアップでスライダーを動かせるデモ http://only-testing-blog.blogspot.com/2014/09/selectable.html を使用しています。
+![スクリーンショット 2019-09-08 2.56.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/ebbf53b0-bef2-5131-8b37-287217ef8762.png)
+
+### mouse down at
+マウスの左ボタンをクリックした状態にします。(クリックしたまま)
+クリックするポイント(座標)を指定できます。対象要素に対して相対的で、例えば左上隅は 0,0になります。
+
+【コード】
+以下の例では、 マウスダウン/マウスアップでスライダーを動かせるデモ http://only-testing-blog.blogspot.com/2014/09/selectable.html を使用しています。
+![スクリーンショット 2019-09-08 2.55.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/70a22470-ba4b-e72f-846f-7f45d977321c.png)
+
+### mouse move at
+マウスを左ボタンを押したまま指定の場所まで移動します。
+
+【コード】
+以下の例では、 マウスダウン/マウスアップでスライダーを動かせるデモ http://only-testing-blog.blogspot.com/2014/09/selectable.html を使用しています。
+![スクリーンショット 2019-09-08 3.01.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/55337e33-d185-5a18-7180-66328f1b4bce.png)
+
+【実行結果】
+`mouse down at` → `mouse move at` → `mouse up at`を組み合わせると以下のようなスライダーを動かすような操作も可能です。
+(実行前)
+![スクリーンショット 2019-09-08 10.38.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/ba96f5c1-383e-5923-3f79-801922db5b8b.png)
+
+(実行後)
+![スクリーンショット 2019-09-08 10.37.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/aee3383f-af7b-e7a0-22cb-27bcef0f2a9e.png)
+
+### mouse up
+左マウスを(クリックされた状態から)離します。
+
+【コード】
+以下の例では、 マウスダウン/マウスアップでスライダーを動かせるデモ http://only-testing-blog.blogspot.com/2014/09/selectable.html を使用しています。
+![スクリーンショット 2019-09-08 3.02.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/68b09cb6-08b6-0bae-a9a2-f76568f6b5d6.png)
+
+### mouse up at
+指定した場所で左マウスを(クリックされた状態から)離します。
+
+【コード】
+以下の例では、 マウスダウン/マウスアップでスライダーを動かせるデモ http://only-testing-blog.blogspot.com/2014/09/selectable.html を使用しています。
+![スクリーンショット 2019-09-08 3.02.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/935f44f6-e811-feb1-2af2-9b962f956f82.png)
+
+### mouse out
+マウスカーソルを対象の要素から離します。
+
+【コード】
+以下の例では、Facebookというリンクにマウスカーソルを当てた状態からカーソルを離します。
+これにより、リンクテキストのハイライトがなくなります。
+
+![スクリーンショット 2019-09-05 1.14.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/0f8f1e8b-3258-c303-e605-690548d0f773.png)
+
+【実行結果】
+(mouse out前)
+![スクリーンショット 2019-09-05 1.12.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/dc30698c-ee94-8b35-ce5f-70d77dc50cb0.png)
+
+(mouse out後)
+![スクリーンショット 2019-09-05 1.12.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/a26ea281-8a0c-5809-1df2-9e349f82ac31.png)
+
+
+### mouse over
+マウスカーソルを対象の要素に乗せます。
+
+【コード】
+以下の例では、Facebookというリンクにマウスカーソルを当てた状態になるため、リンクテキストがハイライトされます。
+この後に `mouse out` すると、元のリンクテキストの色に状態に戻ります。
+
+![スクリーンショット 2019-09-05 1.14.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/c54e54de-07be-0bcb-dd77-01055641c2bd.png)
+
+【実行結果】
+(mouse over前)
+![スクリーンショット 2019-09-05 1.12.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/a26ea281-8a0c-5809-1df2-9e349f82ac31.png)
+
+(mouse over後)
+![スクリーンショット 2019-09-05 1.12.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/dc30698c-ee94-8b35-ce5f-70d77dc50cb0.png)
+
+### drag and drop to object
+ドラッグ&ドロップの操作を行います。
+
+【コード】
+以下の例では、 ドラッグ&ドロップができるデモサイト http://only-testing-blog.blogspot.com/2014/09/drag-and-drop.html を使用しています。
+![スクリーンショット 2019-09-08 1.51.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/4e4365ed-1101-b8c3-3d65-db1c6dbc3224.png)
+
+【実行結果】
+(実行前)
+![スクリーンショット 2019-09-08 2.08.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/1cab9574-3776-0695-2d40-c825d25aa0ea.png)
+
+(実行後)
+![スクリーンショット 2019-09-08 2.09.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/f445a9f8-924b-64c4-3252-aed82c13ee25.png)
+
+### submit
+フォームを送信します。
+
+【コード】
+以下の例では、宿泊予約システムのデモサイト http://example.selenium.jp/reserveApp_Renewal/ を使用しています。
+予約フォームを送信しており![スクリーンショット 2019-08-26 22.37.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/1a1b24f1-490e-0783-a44c-9300aafd8dcf.png)をクリックしたのと同じ挙動になります。
+
+![スクリーンショット 2019-08-26 22.35.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/5d20b119-68c8-c1b3-890c-a9bc1f6e945d.png)
+
+## ループ処理
+
+### times...end
+ループ処理をします。ループする回数を指定します。
+
+【コード】
+以下の例では、5回 `echo` を実行するループ処理をしています。
+![スクリーンショット 2019-08-24 13.00.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/02bc0331-4dc5-9905-0850-51e2bac1c5df.png)
+
+【実行結果】
+ログには以下のように5回 `echo` の結果が出力されています。
+![スクリーンショット 2019-08-24 13.00.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/06b10b09-9ad4-c7af-6bf0-b923557fb071.png)
+
+### while...end
+ループ処理をします。ループする条件を指定します。
+
+【コード】
+以下の例では、5回 `echo` を実行するループ処理をしています。
+![スクリーンショット 2019-08-24 12.43.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/71580c1a-25dc-5d6a-798d-978535ec9585.png)
+
+【実行結果】
+ログには以下のように5回 `echo` の結果が出力されています。
+![スクリーンショット 2019-08-24 12.43.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/a67f01c2-6ff7-3632-dde1-07e5b2f55345.png)
+
+### do...repeat if
+ループ処理をします。`while` と同様にループする条件を指定します。
+
+【コード】
+以下の例では、5回 `echo` を実行するループ処理をしています。
+![スクリーンショット 2019-08-24 13.08.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/a6868826-ea80-6157-6720-347dde9e0e4b.png)
+
+【実行結果】
+ログには以下のように5回 `echo` の結果が出力されています。
+![スクリーンショット 2019-08-24 13.08.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/81f6c13a-9fce-40ee-80b2-68cf30629486.png)
+
+### for each...end
+配列に含まれている要素を順に取り出し、オブジェクトに含まれる要素が無くなるまで繰り返し行います。
+
+【コード】
+以下の例では、"red", "yellow", "blue" という文字列を格納した配列colorsに対して、 `for each` コマンドを使用して順に `echo` したものです。
+<img width="674" alt="スクリーンショット 2019-08-28 8.42.31.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/0a23ae08-ae1e-49c6-e1f0-1104dfaba79e.png">
+
+【実行結果】
+ログの出力です。配列に含まれる要素数分ループしていることがわかります。
+<img width="868" alt="スクリーンショット 2019-08-28 8.40.24.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/b130eb04-c2a7-701d-e8cc-f85b99c048fc.png">
+
+## 条件分岐
+
+### if...else if...else
+条件分岐(条件毎の処理)を定義することができます。
+
+【コード】
+![スクリーンショット 2019-08-30 0.34.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/40668c55-387b-caef-a3b9-c856b08fd901.png)
+
+## 値を(変数に)格納
+
+### store
+値を変数に格納することができます。
+
+【コード】
+以下の例では、 countという変数に5を格納しています。
+![スクリーンショット 2019-08-30 0.38.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/c4f8534b-ef88-ee39-7f22-0a7b576f0db5.png)
+
+### store attribute
+指定した要素の属性値を変数に格納します。
+
+【コード】
+以下の例では。バナーのhref属性の値を格納しています。
+![スクリーンショット 2019-08-26 23.06.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/18c21cf7-02f1-7174-0ff1-3909193751cc.png)
+
+【実行結果】
+格納した値を `echo` でログに出力した結果です。
+![スクリーンショット 2019-08-26 23.09.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/9f758fa4-eba5-7016-701a-a6b03092137d.png)
+![スクリーンショット 2019-08-26 23.07.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/d7277db3-de94-49c4-e031-9b68ae49a291.png)
+
+
+### store json
+jsonのデータを変数に格納します。
+
+【コード】
+以下の例では、jsonデータを変数に格納して、 `echo` コマンドでjsonデータ中身の情報を出力しています。
+
+![スクリーンショット 2019-09-05 0.02.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/cfe8e334-2c6f-e7d1-24de-249eef6acdf1.png)
+
+【実行結果】
+![スクリーンショット 2019-09-05 0.05.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/e78768b6-eb0c-a37f-77c9-e87c2057caef.png)
+
+### store text
+指定した要素のテキストを変数に格納します。
+
+【コード】
+![スクリーンショット 2019-08-26 22.52.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/0b072fcc-089c-7607-8f95-58f56d6a4820.png)
+
+### store title
+ページタイトルを変数に格納します。ロケータの指定は不要です。
+
+【コード】
+<img width="489" alt="スクリーンショット 2019-08-23 8.58.25.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/669ea423-b077-de8f-1bc7-f5303e8ac314.png">
+
+### store value
+指定した要素のvalueの値を変数に格納します。 `store text` と間違えないように注意してください。
+
+【コード】
+![スクリーンショット 2019-08-23 16.06.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/5b6a9def-154b-69f2-970a-6ac35b1b0f29.png)
+
+
+### store window handle
+現在のウィンドウのハンドルを取得して変数に格納します。
+
+【コード】
+![スクリーンショット 2019-09-01 23.59.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/3bb9ab84-ebfa-d602-16ad-a92ecd238340.png)
+
+### store xpath count
+指定したxpathでマッチする要素数を変数に格納します。
+
+【コード】
+以下の例では、HTMLのh3の要素数をh3という変数に格納しています。(この場合、5が格納される)
+![スクリーンショット 2019-08-23 16.13.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/c2a9ad35-67fa-76d8-1881-70ddc9a3a3c3.png)
+![スクリーンショット 2019-08-23 16.19.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/250203cf-a2fd-4722-56f2-e18f43a76b1b.png)
+
+![スクリーンショット 2019-08-23 16.12.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/0195bea3-fde7-e819-7fd2-8467e0bada77.png)
+
+## 検証
+はじめに、assert系コマンドとverify系コマンドの違いを説明します。
+assert系コマンドとverify系コマンドは、どちらも条件の一致を検証するのに役立ちます。
+違いは、verifyコマンドを使用していて条件を検証して条件が一致しない場合、ログ領域にエラーメッセージのみを表示しますがテストの実行は継続されます。
+一方、assertコマンドを使用していて条件が一致しない場合、失敗した時点でテストが終了して後続のステップがあった場合でもそれ以降は実行されません。
+
+以下、同じ系統のものでverifyとassertコマンドがある場合、【コード】や【実行結果】はverifyXXXのものだけを載せます。
+
+### assert / verify
+変数が期待値であることを確認します。
+
+【コード】
+以下の例では、h3要素の数を取得して、その数が期待値と合っているか検証しています。
+![スクリーンショット 2019-09-06 0.13.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/871816c7-1495-0309-b260-8770dd4ba08f.png)
+
+![スクリーンショット 2019-09-06 0.13.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/ec8b1d09-9023-a604-cd0a-02a897a3bc59.png)
+
+
+
+### assert alert
+アラートに表示されたテキストを検証します。
+
+【コード】
+以下の例ではアラートのテキストが「Hi.. This is alert message!」であることを検証しています。
+![スクリーンショット 2019-09-05 21.50.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/71cf6062-56f2-4369-8502-45c5955b4932.png)
+![スクリーンショット 2019-09-05 21.50.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/f2cfcc41-d85c-81d9-4655-7a1a8f149515.png)
+
+### assert checked / verify checked
+指定した要素(チェックボックス)がチェック済であることを検証します。
+
+【コード】
+<img width="492" alt="スクリーンショット 2019-08-26 8.36.01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/86a33243-2c8b-87b5-434c-8a918486181a.png">
+
+### assert confirmation
+確認ダイアログに表示されたテキストを検証します。
+
+【コード】
+以下の例では確認ダイアログのテキストが「Press 'OK' or 'Cancel' button!」であることを検証しています。
+![スクリーンショット 2019-09-05 22.00.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/4c66f6dd-9a29-fc63-43c1-990594b5ebab.png)
+![スクリーンショット 2019-09-05 22.16.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/5c664634-3eaf-9675-79cc-da1683ad17bb.png)
+
+### assert editable / verify editable
+指定した要素が編集可能か検証します。
+
+【コード】
+![スクリーンショット 2019-08-23 16.25.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/43e62a01-929a-2133-759b-0e5888c3527e.png)
+
+
+### assert element present / verify element present
+要素(element)が存在することを検証します。
+
+【コード】
+以下の例では、dataPickというidが付いた要素の有無を検証しています。
+![スクリーンショット 2019-08-23 8.46.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/7f1a9b79-5946-4152-4561-874264587ef8.png)
+![スクリーンショット 2019-08-22 23.02.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/4b993a49-944e-d884-2398-4f8ef433ae9d.png)
+
+### assert element not present / verify element not present
+要素(element)が存在しないことを検証します。
+
+【コード】
+以下の例では、element_not_presentというidが付いた要素の有無を検証しています。
+適当に付けた存在しないid(のついた要素)のため、このステップはPASSします。
+![スクリーンショット 2019-08-28 23.07.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/01b0c3fb-a44a-e6e5-1c12-93b70dc7cd57.png)
+
+### assert not checked / verify not checked
+指定した要素(チェックボックス)がチェック済でないことを検証します。
+
+【コード】
+<img width="491" alt="スクリーンショット 2019-08-26 8.36.09.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/fed3f6a0-8084-1f0c-354c-87c19e35831a.png">
+
+### assert not editable / verify not editable
+テキストボックス、リストボックス、ドロップダウンなどの入力フィールドのみで使用できます。
+対象の要素が編集できないことを検証します。
+
+【コード】
+![verify_not_editable.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/24b2c35f-daac-2f3d-7d39-bd9742406e1e.png)
+
+### assert not selected value / verify not selected value
+選択肢(select要素)で選択しているvalue値が期待値でないことを検証します。
+
+【コード】
+![スクリーンショット 2019-08-28 23.14.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/49f98414-1f50-8773-fb5d-35e81aea6075.png)
+
+### assert not text / verify not text
+指定したテキストがないことを検証します。
+
+【コード】
+以下の例では、h1要素のテキストが `予約エラー` でないことを検証しています。
+<img width="494" alt="スクリーンショット 2019-08-26 12.58.38.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/3f5264f0-1e63-c973-ed83-e710144d39a6.png">
+
+
+### assert prompt
+プロンプトが表示されていること表示されているテキストも含めて検証します。
+
+【コード】
+以下の例では、プロンプトが表示されるデモサイト http://only-testing-blog.blogspot.com/2013/11/new-test.html を使用しています。
+![スクリーンショット 2019-09-05 23.54.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/ae8c6319-66a1-465e-caac-092af7f0b47c.png)
+
+![スクリーンショット 2019-09-05 23.53.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/095c3096-9f18-06fa-f11f-401155285b67.png)
+
+### assert selected label / verify selected label
+選択肢(select要素)で選択しているラベルの値を検証します。
+
+【コード】
+![スクリーンショット 2019-08-23 16.39.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/233b5334-8a64-5e59-4533-7ce4a16e0f23.png)
+
+### assert selected value / verify selected value
+選択肢(select要素)で選択しているvalue値が期待値であることを検証します。
+
+【コード】
+デフォルトで1になっているため、2を選択して、
+![スクリーンショット 2019-08-23 16.43.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/5a54f5b4-7a21-5c96-310e-287f4f380f10.png)
+その直後で、 `verify selected value` で2になることを検証しています。
+![スクリーンショット 2019-08-23 16.42.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/ad8c1598-f141-4f45-67d1-97efc7accb27.png)
+
+### assert value / verify value
+指定した要素のvalueが一致しているか検証します。
+**テキストエリアに入力しているため、 `verify text` と間違えそうになるのでご注意!**
+
+【コード】
+![スクリーンショット 2019-08-23 16.27.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/353fe817-a174-5ac0-9b3f-ae97e1690d60.png)
+
+### assert text / verify text
+指定した要素のテキストが一致しているか検証します。
+
+【コード】
+![スクリーンショット 2019-08-23 16.32.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/4af387fd-c279-e364-c411-8f81c8a3bbfd.png)
+
+### assert title / verify title
+ページタイトルを検証します。
+![スクリーンショット 2019-08-22 22.30.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/6b7a2fed-bbdd-f0e3-7631-0f861c35977b.png)
+
+【コード】
+![スクリーンショット 2019-08-22 22.34.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/48f3ab13-e83d-0471-8c94-997cf6803fd7.png)
+
+
+## ブラウザ本体の操作/制御
+
+### open
+ブラウザで指定したページをロードします。
+baseURLを参照するため、パスのみ指定すれば良いです。
+
+【コード】
+![スクリーンショット 2019-08-24 13.29.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/26198793-5e92-e517-ebae-69fdd5c04451.png)
+
+
+### close
+ブラウザを終了します。
+
+【コード】
+![スクリーンショット 2019-08-23 16.48.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/10f5a2a2-ac5f-4dfd-ac2d-704adb55d33a.png)
+
+### select window
+ウィンドウロケーターを使用してポップアップウィンドウを選択します。
+ポップアップウィンドウが選択されると、すべてのコマンドがそのウィンドウに移動します。
+ウィンドウロケーターは、ハンドルを使用してウィンドウを選択します。
+
+【コード】
+Qiitaを開いた後に、最初に開いていたGoogleに戻します。
+![スクリーンショット 2019-09-08 19.54.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/40644512-1f2b-99b6-e641-8165d206d67b.png)
+
+【実行結果】
+![スクリーンショット 2019-09-08 19.44.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/55f6658e-2c53-03c3-934f-3541d508a912.png)
+
+### set window size
+ブラウザのウィンドウサイズを指定します。
+
+【コード】
+![スクリーンショット 2019-08-24 13.21.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/f6b20c92-0566-5910-b63c-88ead4359ea3.png)
+
+【実行結果】
+(1200x780で指定した場合)
+![スクリーンショット 2019-08-24 13.21.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/a641f350-046a-188c-81a6-96f34bd22dad.png)
+
+(200x780で指定した場合)
+![スクリーンショット 2019-08-24 13.21.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/ec6cfd28-a8b5-3b0d-0f4d-9469d7742df0.png)
+
+## Javascriptの実行
+
+### execute script
+現在選択されているフレームまたはウィンドウのコンテキストでJavaScriptのスニペットを実行します。
+スクリプトフラグメントは、匿名関数の本体として実行されます。
+戻り値を変数に保存する場合は、Targetに「return」キーワードを使用し、Valueに変数名を指定します。
+
+【コード】
+以下の例では、 `count` という変数に5を格納しています。
+![スクリーンショット 2019-08-25 23.57.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/2f859949-1c20-0a06-d624-6706ef762d6c.png)
+
+また、functionを定義することもできます。
+以下は。日付を取得するfunctionを定義した例です。
+![スクリーンショット 2019-09-06 0.05.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/a956fa6d-915c-6147-0a05-5b6be4fac464.png)
+
+
+### execute async script
+Javascriptの非同期処理を行います。
+
+【コード】
+![スクリーンショット 2019-09-06 0.40.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/e7696c98-89fc-3381-3175-b9ffc2c816a7.png)
+
+【実行結果】
+ブラウザのconsole log
+![スクリーンショット 2019-09-06 0.41.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/9d7ed7dc-68d2-8fce-429b-396965a31976.png)
+
+
+### run script
+現在のテストウィンドウの本文に新しい `<script>` タグを作成し、指定したテキストをコマンドの本文に追加します。
+
+【コード】
+以下の例では、(無駄にw)Javascriptを使って 「戻る」ボタンをクリックしています。
+
+![スクリーンショット 2019-08-26 23.42.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/2ef14fe8-5f7d-675e-ba3f-7bca2fe7a2d5.png)
+![スクリーンショット 2019-08-26 23.42.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/7450935e-188d-c803-4982-23e46f127c86.png)
+
+## ログ出力
+
+### echo
+コンソールにログを出力します。
+
+【コード】
+以下の例では、 `store title` で ページタイトルを `title` という変数に格納したものを `echo` しています。
+<img width="487" alt="スクリーンショット 2019-08-23 9.00.23.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/e49aeab4-db58-8c87-64b4-bbe7816efa33.png">
+
+【実行結果】
+<img width="1009" alt="スクリーンショット 2019-08-23 12.57.07.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/4764bb4b-b3e6-5cb3-4f7e-65c59271bfb5.png">
+
+
+## 待機処理
+
+### wait for element editable
+`wait for element editable` コマンドは、対象の入力テキストボックスが編集可能になるまで待機します。
+対象の要素が編集可能になると、次のステップに移ります。また、このコマンドは入力フィールドのみで機能します。
+
+【コード】
+以下の例では、 http://only-testing-blog.blogspot.com/2014/01/textbox.html というデモサイトで15秒後に編集可能になるような仕掛けがされている入力テキストボックス ( `css=#text2` )を対象としています。
+また、タイムアウトの時間はデフォルトの30秒(30000ms)としています。
+<img width="423" alt="スクリーンショット 2019-09-04 8.52.34.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/4bd2c7cf-b4c9-4233-892b-83bb6909a076.png">
+
+<img width="498" alt="スクリーンショット 2019-09-04 8.56.42.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/0f4d96ae-f24d-9a0d-619b-78311bd70002.png">
+
+### wait for element not editable
+`wait for element not editable` コマンドは、対象の入力テキストボックスが編集不可能になるまで待機します。
+対象の要素が編集可能になると、次のステップに移ります。また、このコマンドは入力フィールドのみで機能します。
+
+【コード】
+以下の例では、 http://only-testing-blog.blogspot.com/2014/01/textbox.html というデモサイトで15秒後に編集不可能になるような仕掛けがされている入力テキストボックス ( `css=#text1` )を対象としています。
+
+<img width="497" alt="スクリーンショット 2019-09-04 8.56.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/e7834ebb-0e7a-0220-6086-648181913ef6.png">
+
+
+### wait for element not present
+要素が存在しなくなるまで待機します。
+
+【コード】
+以下の例では、「Time left: 10 seconds」(XXの部分は10→0にカウントダウンします)と表示されたテキストが表示されなくなるまで待機します。(実質1秒)
+![スクリーンショット 2019-09-01 23.56.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/5214047a-995b-49f1-0132-22abc7318e2c.png)
+
+### wait for element not visible
+`wait for element not visible` コマンドは、ページからの要素が非表示になるまで待機します。
+対象の要素が非表示になると、次のステップに移ります。
+
+【コード】
+以下の例では、 http://only-testing-blog.blogspot.com/2014/01/textbox.html というデモサイトで15秒後に非表示になるような仕掛けがされている入力テキストボックス ( `css=#text4` )を対象としています。15秒後にidがhidden2に変わるため、下記のようにcssセレクタを指定しています。
+![not_visible.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/e6279fc8-987c-c62d-540f-8a76d622dfdb.png)
+
+### wait for element present
+要素が存在するまで待機します。
+
+【コード】
+以下の例では、「Time left: 10 seconds」と表示されたテキストが10秒後に「Ready!」と表示に変わるまで待機します。
+ページ遷移4秒後:![スクリーンショット 2019-09-01 23.44.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/a718908f-9fe2-3622-0d28-ae3c694ab213.png)
+ページ遷移10秒後:![スクリーンショット 2019-09-01 23.44.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/d489211d-0586-d309-c6e0-54c68a22588e.png)
+
+![スクリーンショット 2019-09-01 23.47.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/71319193-495b-297a-8d5a-bb0884c6ec4e.png)
+
+### wait for element visible
+`wait for element visible` コマンドは、ページに要素が表示されるまで待機します。
+対象の要素がページに表示されると、次のステップに移ります。
+
+【コード】
+以下の例では、 http://only-testing-blog.blogspot.com/2014/01/textbox.html というデモサイトで15秒後に表示されるような仕掛けがされている入力テキストボックス ( `css=#text3` )を対象としています。
+![visible.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/6a419a5a-3e27-8d1b-72c7-358e4964f36e.png)
+
+### pause
+明示的な待機を挟みます。
+ただ、 SeleniumIDEのコマンドには、暗黙的な待機が組み込まれているため、 どうしても解決しない場合にのみ使うのが良いです。 例えば、 `wait for...` のような〜の状態まで待つというコマンドが用意されています。
+初めて `pause` コマンドを選択すると次のようなメッセージが表示されます。
+
+```
+There are implicit waits built into the IDE commands.
+If that doesn't get the job done for you then check out the explicit wait commands.
+They start with the words `wait for element` (e.g., `wait for element visible`).
+
+(日本語訳)
+IDEコマンドには、暗黙的な待機が組み込まれています。
+それでも問題が解決しない場合は、明示的な待機コマンドを確認してください。
+それらは「要素を待つ」という言葉で始まります(例えば、「要素が見えるまで待つ」)。
+```
+
+![スクリーンショット 2019-08-20 22.39.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/acc42cf6-a36e-1c09-950e-039beef766fc.png)
+
+【コード】
+以下の例では、明示的に1秒(1000ms)待機を挟んでいます。
+![スクリーンショット 2019-08-26 0.02.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/6a10571b-d269-a2b9-7bbd-f7f311cc4b5d.png)
+
+
+## その他
+
+### set speed
+テストの実行速度を設定します。単位はミリ秒(ms)
+
+【コード】
+以下の例では、2秒(2000ms)を設定した例でステップ毎に2秒の待機を挟みます。
+![スクリーンショット 2019-08-25 23.23.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/c5baadec-fa95-2e84-ff67-b6a153bf5a2e.png)
+
+### run
+テストケースを再利用(呼び出し)することができます。
+以下の例では、 `loop scripts` を別のテストケースから呼び出しています。
+これを活用すれば、共通部分をテストケースとして切り出すなどしておけば。同じようなシチュエーションのテストの場合に冗長なコードを書かなくて済みます。
+
+【コード】
+![スクリーンショット 2019-08-25 23.33.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/16843714-36d8-b945-5f4b-b1f5773ec3f9.png)
+
+### select frame
+現在のウィンドウ内のフレームを選択します。
+0を起点とするインデックス番号でフレームを選択できます。
+例えば、 最初のフレームは `index = 0` 、3番目のフレームは `index = 2` を選択します。
+また、対象を `relative = parent` にすると親フレームを選択でき、 `relative = top` にするとページの先頭に戻ります。
+
+【コード】
+以下の例では、 複数のiframeが埋め込まれているデモサイト http://only-testing-blog.blogspot.com/2015/01/iframe1.html でframe毎にh3要素のテキストを検証しています。
+![スクリーンショット 2019-09-08 11.03.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/b2157da1-c322-51c5-b5b4-bd91d7c7adcf.png)
+![スクリーンショット 2019-09-08 19.57.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/b65e07ac-5112-79f9-5fb4-603f416be6ad.png)
+
+### debugger
+デバッグしたい箇所に挿入することでテスト実行を中断して、デバッグ作業を行うことができます。
+Enterキーを押下することでデバッグモードを抜けます。
+ブレークポイント機能(詳しくは [こちら](https://qiita.com/oh_rusty_nail/items/5b584c95e01759c00869#%E3%83%96%E3%83%AC%E3%83%BC%E3%82%AF%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%82%92%E6%B4%BB%E7%94%A8))や一時停止ボタンからでも同じように一時停止することができます。
+
+【コード】
+<img width="494" alt="スクリーンショット 2019-08-28 12.58.34.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19778/5dd52884-d898-9bbc-6636-92b8cda0bbb3.png">
+※ `debugger` は途中で一時停止してしまうため、サンプルコードには含んでおりません
+
+# ただの宣伝
+Seleniumに関する記事を書いたまとめです。書いたのは結構前ですがちょこちょこアップデートしています。
+
+* [全国のSeleniumer必読](https://qiita.com/oh_rusty_nail/items/b8ba525d31ea7c522856)