driver.findElement(By.xpath(OR.getProperty(object))).click();
System.out.println("Test");
单击可用于某个按钮。但是单击应用程序中的特定按钮。 但是'org.openqa.selenium.remote.SessionNotFoundException'错误是在上述驱动程序操作之后发生的。单击后,控制台上不会打印测试。为什么会这样?
public static void click(String object, String data){
try{
/*try
{
driver.switchTo().alert().accept();
}
catch(Exception e){}*/
new WebDriverWait(driver, 30).until(ExpectedConditions.elementToBeClickable(By.xpath(OR.getProperty(object))));
driver.findElement(By.xpath(OR.getProperty(object))).click();
System.out.println("Test");
Log.info("Clicking on Webelement "+ object);
}catch(Exception e){
Log.error("Not able to click --- " + e.getMessage());
DriverScript.bResult = false;
}
}
这是代码。它是一个关键字驱动框架。此action关键字完美执行6次。但是在单击弹出新窗口的某个按钮时会发生此错误。切换窗口应该是要执行的下一个动作关键字。但它没有到达那里。就在.click之后,它长时间处于空闲状态。然后是上面的例外。
public static void switchwindow(String object,String data){
try{
parentHandle = driver.getWindowHandle();
System.out.println(driver.getWindowHandles().size());// get the current window handle
for (String winHandle : driver.getWindowHandles()) {
if(winHandle.equalsIgnoreCase("73e19507-bf40-44ce-822a-62630be49c2b"))
{driver.switchTo().window(winHandle);break;} // switch focus of WebDriver to the next found window handle (that's your newly opened window)
}
Log.info("Switched to new window");
}
catch(Exception e){
Log.error("Not able to switch the window --- " + e.getMessage());
DriverScript.bResult = false;
}
}
答案 0 :(得分:0)
似乎您的浏览器已关闭。
我会简化测试而不是在代码中的任何地方调用quit。
如果其他浏览器存在问题,我也会尝试。此外,你可以调试或引入睡眠,以检查execly问题的位置。
答案 1 :(得分:0)
我怀疑您的代码切换窗口可能存在问题。如果你可以显示切换窗口的代码,最好调试。