package jp.dip.arimodoki.step;
import static org.junit.Assert.assertTrue;
import cucumber.api.java.ja.かつ;
import cucumber.api.java.ja.ならば;
import cucumber.api.java.ja.もし;
import cucumber.api.java.ja.前提;
import jp.dip.arimodoki.connector.WebConnector;
public class WebSteps{
private WebConnector connector;
public WebSteps(WebConnector connector) {
this.connector = connector;
}
@前提("^スクリーンショット保管場所「([^\"]*)」$")
public void screenshot_folder(String path) {
connector.setScreenShotPath(path);
}
@前提("^Webドライバ「([^\"]*)」を選択する$")
public void select_webdriver(String browserType) {
connector.selectWebDriver(browserType);
}
@ならば("Windowを最大化する$")
public void window_maximized() {
connector.setWindowMax();
}
@前提("^ページ「([^\"]*)」を表示する$")
public void display_url(String url) {
connector.openAndWait(url);
}
@もし("画面に「([^\"]*)」と表示されていること$")
public void search_text(String pattern) {
assertTrue(connector.isTextPresent(pattern));
}
@もし("ラベル「([^\"]*)」をクリックする$")
public void span_click(String text) {
connector.spanClickAndWait("span", text);
}
@もし("リンクテキスト「([^\"]*)」をクリックする$")
public void link_click(String text) {
connector.linkClickAndWait(text);
}
@もし("アンカー「([^\"]*)」をクリックする$")
public void anchor_click(String href) {
connector.clickHrefAndWait(href);
}
@もし("ボタン「([^\"]*)」をクリックする$")
public void button_click(String name) {
connector.btnClickAndWait(name);
}
@かつ("かつボタン「([^\"]*)」をクリックする$")
public void and_button_click(String name) {
connector.btnClickAndWait(name);
}
@もし("名前が「([^\"]*)」のボタン「([^\"]*)」をクリックする$")
public void something_button_click(String name, String type) {
connector.btnClickAndWait(type, name);
}
@もし("名前が「([^\"]*)」の「([^\"]*)」番目のボタンをクリックする$")
public void index_button_click(String value, String type, int index ) {
connector.btnByblockClickAndWait(type, value, index-1);
}
@ならば("ファイル名「([^\"]*)」でスクリーンショットを保存する$")
public void screen_shot(String filename) {
connector.getScreenShot(filename);
}
@もし("画面に「([^\"]*)」と表示されていなければ、ファイル名「([^\"]*)」でスクリーンショットを保存する$")
public void not_indicated_check(String pattern, String filename) {
if(!connector.isTextPresent(pattern)) {
connector.getScreenShot(filename);
connector.destroySelenium();
}
}
@もし("「([^\"]*)」要素に「([^\"]*)」と入力する$")
public void input_element(String selector, String val) {
connector.inputAndWait(selector,val);
}
/**
* 入力要素に Enter キーを入力する
* @param selector id or name セレクタ名
*/
@もし("「([^\"]*)」要素にEnterを入力する$")
public void input_enter_element(String selector) {
connector.inputEnterAndWait(selector);
}
/**
* 入力要素に Enter キーを入力する
* @param selector id or name セレクタ名
*/
@かつ("かつ「([^\"]*)」要素にEnterを入力する$")
public void and_enter_element(String selector) {
connector.inputEnterAndWait(selector);
}
@かつ("かつ「([^\"]*)」要素に「([^\"]*)」と入力する$")
public void and_input_element(String selector, String val) {
connector.inputAndWait(selector,val);
}
@ならば("^「([^\"]*)」秒待つ$")
public void wait(int sec) {
connector.sleep(sec);
}
@ならば("^フレームが表示されるまで待つ$")
public void wait_frame() {
connector.sleepFrame("main_frame", "cf_title2");
}
@ならば("^親Windowに戻る$")
public void back2parent() {
connector.parentWindow();
}
@もし("シナリオを終了してブラウザを閉じる$")
public void close() {
connector.destroySelenium();
}
}
|