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断言。但是,它未能找到元素。
我想我在这里有两个问题。
- 浏览器不打开/导航到URL。如果Chrome已经打开,则Chrome在运行测试时不会打开新标签页。另外,如果我允许它启动浏览器,它不会打开一个页面(在Mac OSX上),所以我从不可以直观地确认它导航到URL。
我试过用Firefox,它显然有很多Selenium和PhantomJS的问题,它有最新的二进制文件中缺少.lib文件的问题。使用WebDriverManager,我降级到PhantomJS 2.0,但超时等待http://localhost:29436/status。
- 如果它“成功”导航至的URL,如铬说这样做,是不能够找到的元素。这可能是由于1号?
如果测试平台是无法处理的JSP登录,那么这将是无用的我的应用程序。任何帮助是极大的赞赏。我能做些什么不正确的事情导致我的问题?
创造了这个问题 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。
请在评论部分提问。 – Avinash
我更新到4.2,使用geckodriver的Firefox将打开,但无法导航到URL。它曾经有过“数据”。在地址栏中,这很奇怪。 Chrome使用正确的Url打开一次,并加载了jsp登录页面。还没有能够重现。 – fakataha