java - TestBench无法打开浏览器

标签 java macos jsp selenium vaadin

我正在尝试使用 Vaadin TestBench 设置我的第一个非常简单的 UX 测试。为了避免下载驱动程序和设置 System.properties 或 PATH 值的麻烦,我还使用 WebDriverManager图书馆。

为了让事情变得更加棘手,我们的登录页面是一个 JSP,我们需要先打开它并进行身份验证,然后才能测试 Vaadin 应用程序。

这是我一直在尝试的简单测试:

public class LoginIT extends TestBenchTestCase {

private static final String URL="http://localhost:8080/";

@Before
public void setup() throws Exception {
    ChromeDriverManager.getInstance().setup();
    setDriver(new ChromeDriver());
}

@After
public void tearDown() throws Exception {
    if (getDriver() != null) {
        getDriver().quit();
    }
}

@Test
public void testLogin_success() {
    getDriver().get(URL);
    Assert.equals(URL, getDriver().getCurrentUrl());
    WebElement usernameField = driver.findElement(By.name("username"));
}
}

上面的简单测试将传递 currentUrl 断言。但是,它无法找到该元素。 enter image description here

我认为这里有两个问题。

  1. 浏览器无法打开/导航至该 URL。如果 Chrome 已打开,则运行测试时 Chrome 不会打开新选项卡/页面。或者,如果我允许它启动浏览器,它会在不打开页面(在 Mac OSX 上)的情况下启动浏览器,因此我永远无法直观地确认它导航到 URL。

我尝试过使用 Firefox,它显然与 Selenium 存在很多问题,而 PhantomJS 则存在最新二进制文件中缺少 .lib 文件的问题。使用WebDriverManager,我降级到PhantomJS 2.0,但等待http://localhost:29436/status超时。 。

  • 如果它确实“成功”导航到该网址(正如 Chrome 所说),则它无法找到该元素。这可能是由于第 1 点?
  • 如果 TestBench 无法处理 JSP 登录,那么它对我的应用程序将毫无用处。任何帮助是极大的赞赏。我可能做错了什么而导致了我的问题?

    最佳答案

    为此问题创建了一个简单的测试示例 https://github.com/rogozinds/testbenchexample

    您使用的 Testbench 版本是什么? 您可以尝试不使用 ChromeDriverManager 来运行它,只需下载 chromedriver https://sites.google.com/a/chromium.org/chromedriver/downloads 并将其添加到您的系统路径中。

    getDriver().get(URL) - 至少应该打开一个新的 Chrome 窗口并导航到 URL。但据我了解,这并没有发生?

    P.S 我已经在没有 ChromeDriverManager 的 Testbench 5 中尝试了您的示例,并且它可以使用简单的 index.html 文件。

    关于java - TestBench无法打开浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42404971/

    相关文章:

    构造函数中的 Java 内存可见性

    java - 如何重构这些方法?

    ruby-on-rails - 没有 sudo,Bundler 无法安装任何 gem

    java - jsp页面无法加载资源

    java - 如何让 Firefox 在 Mac OSX 上与 Selenium WebDriver 一起工作

    java - Android:动画通过代码运行,但不能通过 xml 运行

    objective-c - 无法正确地对助手应用程序进行代码签名

    java - Java for OS X 2013-004 如何影响(破坏)Swing 应用程序?

    java - Spring MVC 可重用 View 组件

    html - 使用 tomcat 7 运行 JSP 文件