我希望能够将 Selenium 2 与 Jenkins 一起使用。
我都是新手,所以请原谅我的无知。
我注意到 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 插件上有以下配置:
..
一旦我尝试构建项目并在 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>
提前感谢您提供的任何指导或帮助!