eclipseを使用して、Selenium WebDriver用のテストコードを書きましたが。コマンドプロンプトから対象のテストコードを実行したい。
■理由■
社内の製造試験でWebブラウザの設定変更を自動化したく、試験者にeclipseの画面操作を行うことなく、テストコードを実行するバッチを実行するだけの操作に留めたい。そのためバッチに記述するコマンドをどうか、教えていただけないでしょうか。
■使用環境■
(※他に必要な情報があれば、確認します。)
eclipse:Photon
OS:Windows 7 64bit
Webブラウザ:chrome
ChromeDriver 2.41, Selenium 3.14.0
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
mainか、junitかで、多少の違いがありますが、junitなら下記にて、起動するはず。
mainの場合は「packageは無し」の必要はなく、
.bat内でpackageへのclasspathを正しく設定すれば、「java.exe(org.junit.runner.JUnitCore)」はmain(@Test)を認識してくれます。
記:junitの場合、、、
(junitはjunit-4.10.jarを使ってください。他はダメみたいです。ググって知りました。)
junit-4.12.jarでも動きました。
https://www.htmlhifive.com/conts/web/view/library/webdriver-howtouse
を引用。
HifiveSiteTest.java
相対パスを止める。
System.setProperty("webdriver.chrome.driver", "./driver/chromedriver.exe"); ↓ System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
packageは無しにして、(workspacePath+プロジェクト)\bin\直下に
HifiveSiteTest.class
が生成される様にする。
(org.junit.runner.JUnitCoreがパッケージパスを認識してくれない模様)
import static org.junit.Assert.assertEquals; import org.junit.After; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.ui.ExpectedCondition; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; public class HifiveSiteTest { private WebDriver driver; @BeforeClass public static void Setup() { System.setProperty("webdriver.chrome.driver", "chromedriver.exe"); } @Before public void testBefore() { driver = new ChromeDriver(); } @After public void testAfter() { driver.quit(); } @Test public void test1() { // ページを開く driver.get("http://www.htmlhifive.com/conts/web/view/Main/WebHome"); // 「ガイド」タブの上にマウスオーバーする WebElement elGuide = driver.findElement(By.cssSelector(".guide>.tab>span")); Actions action = new Actions(driver); action.moveToElement(elGuide).perform(); // バルーンが表示されるまで待機する WebElement elBalloon = driver.findElement(By.cssSelector(".guide>.balloon")); WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(new ExpectedCondition<Boolean>() { public Boolean apply(WebDriver driver) { return elBalloon.isDisplayed(); } }); // 表示されたバルーンの「チュートリアル」をクリックする WebElement elTutorial = driver.findElement(By.className("tutorial")); // if (driver.getCapabilities().getBrowserName().toLowerCase().equals("internet explorer")) { // // IEでのテスト時はマウスカーソルがブラウザ上にないとバルーンが表示されない // // IEではsendKeysでEnterしないとチュートリアルのページが表示されない // elTutorial.sendKeys(Keys.ENTER); // } else { elTutorial.click(); // } // チュートリアルのページが表示されていることを確認する wait = new WebDriverWait(driver, 10); WebElement elTitle = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("document-title"))); assertEquals("チュートリアルページが表示されていること。", elTitle.getText(), "チュートリアル"); } }
(workspacePath+プロジェクト)\bin\に
chromedriver.exe
を置く。
.bat
cd (workspacePath+プロジェクト)\bin set classpath=..\lib*;. java -classpath %classpath% org.junit.runner.JUnitCore HifiveSiteTest pause
@After public void testAfter() { driver.quit(); }
でエラーするけど、気にしない。
追記=== HifiveSiteTest.groovyの場合 ===
System.setProperty("webdriver.chrome.driver", "./driver/chromedriver.exe"); ↓ System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
の変更は不要
batは
cd (workspacePath+プロジェクト) set classpath=..\lib*;bin\; java -classpath %classpath% org.junit.runner.JUnitCore HifiveSiteTest pause
としたら、
@After public void testAfter() { driver.quit(); }
でのエラーは無くなりました。
あと、groovy-all-x.x.x.jarがclasspathに必要なので、eclipse内のgroovy-all-x.x.x.jarをlibにコピー。
投稿2018/11/02 12:10
編集2018/11/07 04:17退会済みユーザー
総合スコア0
0
eclipseのフルパス -data ワークスペースのパス
で開けます
投稿2018/10/24 15:05
総合スコア87747
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/04 07:55 編集
退会済みユーザー
2018/11/05 04:57
退会済みユーザー
2018/11/05 06:29
退会済みユーザー
2018/11/07 03:33