TestBench无法打开浏览器

问题描述:

我试图用Vaadin TestBench设置我的第一个非常简单的UX测试。为避免下载驱动程序和设置System.properties或PATH值的麻烦,我还使用了​​库。TestBench无法打开浏览器

为了使它有点棘手,我们的登录页面是一个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

  1. 如果它“成功”导航至的URL,如铬说这样做,是不能够找到的元素。这可能是由于1号?
  2. 如果测试平台是无法处理的JSP登录,那么这将是无用的我的应用程序。任何帮助是极大的赞赏。我能做些什么不正确的事情导致我的问题?

开始=“2”>

创造了这个问题 https://github.com/rogozinds/testbenchexample

您正在使用什么版本的测试平台的一个简单的测试例子? 你可以尝试运行它,而不使用ChromeDriverManager,只需下载 chromedriver https://sites.google.com/a/chromium.org/chromedriver/downloads 并将其添加到您的系统路径。

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

P.S我试过你的例子,在没有ChromeDriverManager和简单的index.html文件的情况下使用Testbench 5。

+0

请在评论部分提问。 – Avinash

+0

我更新到4.2,使用geckodriver的Firefox将打开,但无法导航到URL。它曾经有过“数据”。在地址栏中,这很奇怪。 Chrome使用正确的Url打开一次,并加载了jsp登录页面。还没有能够重现。 – fakataha