Jenkins で Selenium 2 を使用できるようにしたいと考えています。
どちらも初心者ですので、無知な点はご容赦ください。
jenkins HEREの次のプラグインに気付き、インストールしました。
次のような基本クラスがあります。
public class BaseTestClass { protected Properties myprops; protected String baseurl; protected WebDriver driver; protected boolean acceptNextAlert = true; protected StringBuffer verificationErrors = new StringBuffer(); public BaseTestClass() { try { myprops = TestUtil.readProps("src/MyProps.properties"); baseurl = myprops.getProperty("baseurl"); driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), DesiredCapabilities.fireFox()); } catch(Exception e) { e.printStackTrace(); } } @Before public void setUp() throws Exception { driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); } @After public void tearDown() throws Exception { driver.quit(); String verificationErrorString = verificationErrors.toString(); if (!"".equals(verificationErrorString)) { fail(verificationErrorString); } } protected boolean isElementPresent(By by) { try { driver.findElement(by); return true; } catch (NoSuchElementException e) { return false; } } protected String closeAlertAndGetItsText() { try { Alert alert = driver.switchTo().alert(); if (acceptNextAlert) { alert.accept(); } else { alert.dismiss(); } return alert.getText(); } finally { acceptNextAlert = true; } }
JenkinsのSelenium Pluginには次の構成があります。
..
プロジェクトをビルドして Jenkins で Junit selenium テストを実行しようとすると、ビルドは成功しますが、テスト自体は失敗します。(コマンド ラインから ant を使用して実行すると正常に動作します - を : に変更WebDriver
します
driver = new FirefoxDriver();
) - Selenium RC の使用
これは、Jenkins のコンソール出力です。
編集: Jenkins でのビルド後に Junit .xml 出力ファイルをアーカイブできることに気付きました。クラスが見つからないという例外が発生していますか? ant
私が言ったように、コマンドラインから使用するとうまくビルドされるので、これは奇妙です。
エラーは次のとおりです。
<error message="com.loggedin.CCBreadCrumb" type="java.lang.ClassNotFoundException">
java.lang.ClassNotFoundException: com.loggedin.CCBreadCrumb at
java.net.URLClassLoader$1.run(URLClassLoader.java:366) at
java.net.URLClassLoader$1.run(URLClassLoader.java:355) at
java.security.AccessController.doPrivileged(Native Method) at
java.net.URLClassLoader.findClass(URLClassLoader.java:354) at
java.lang.ClassLoader.loadClass(ClassLoader.java:423) at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at
java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native
Method) at java.lang.Class.forName(Class.java:186)
</error>
あなたが持っているかもしれない指示や助けを前もって感謝します!