Selenium/java phantomjs驱动程序.在第二次运行it driver.get(loginurl)到主页



硒/java phantomjs:

在第一次运行时, driver.get(loginURL),获取登录URL。

在第二次运行中,driver.get(loginURL)转到主页,而不是登录页面。当然,它找不到登录页面的元素。

(场景执行可能会失败,并在末尾注销我的执行)

有帮助吗?有什么想法,为什么会发生这种情况?

谢谢

代码部分和异常:

...
WebDriver driver;
PhantomJSDriverService phantomService = PhantomJSDriverService.createDefaultService();
System.setProperty("phantomjs.binary.path", "browserDrivers/phantomjs.exe");
driver = new PhantomJSDriver();
driver.get("https://xxxxxx/yy/");
System.out.println("Url :" + driver.getCurrentUrl());  
WebElement loginField = driver.findElement(By.id("txt-username"));
WebElement passwdField = driver.findElement(By.id("txt-password"));
...

控制台打印输出:

第1次运行:url:https://xxxxxx/yy/login(正确,并且还找到下一个webelements),下一步失败

第2次运行:url:https://xxxxxx/yy/home(不正确的登录页面https://xxxxxx/yy/login)>

异常抛出:org.openqa.selenium.nosuchelementException: {" errormessage":"无法找到具有ID'TXT-username'的元素'

对于适当的清理(在情况下失败后注销),您可以实现拆卸方法,该方法在测试类中的每个测试后执行,例如。这样(使用Junit4):

@org.junit.After
public void tearDown() {
    //your code for performing logout
    //....
    //Close the current window, quitting the browser 
    //if it's the last window currently open.
    if (driver != null) {
        driver.close();
    }
} 

最新更新