嗨,当我运行我的测试通过一个计划的java代码,并使用WebDriver的关闭()方法它是关闭各自的浏览器实例。但是,当我在testNG类中使用driver.close()时,在任何@后注释中,如
@AfterClass
public void logout()
{
driver.findElement(By.id(someSignOutId)).click();
driver.close();
}
然后它不会关闭浏览器实例。请尝试以下两个代码段:TestNGSnippet:
package unitTest.myTest;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
public class GoogleTestNGTest {
@Test
public void f() throws InterruptedException
{
WebDriver driver=new FirefoxDriver();
driver.get("http://www.google.com");
Thread.sleep(2000);
driver.close();
}
}
简单片段:
package unitTest.myTest;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class GoogleTest
{
public static void main(String[] args) throws InterruptedException
{
WebDriver driver=new FirefoxDriver();
driver.get("http://www.google.com");
Thread.sleep(2000);
driver.close();
}
}
它是一个bug在testNG。注意:driver.quit()正在工作,但我不能使用它,因为当我并行运行我的测试时,它会关闭所有仍在运行测试的浏览器实例。TIA!Selenium WebDriver版本: 2.33 TestNG: 6.8.5 Firefox版本: 22Java:1.7.0.40
这个变通方法很好,但是在座的任何人都可以解释为什么这个功能不起作用?我所有的@AfterSuite@BeforeSuite和@Test都在同一个类中。但仍然是司机。close不起作用,而driver。退出有效,但是司机。退出关闭所有浏览器,所以只想使用驱动程序。关闭,但不关闭浏览器。
大家好,到现在为止,我已经找到了一个解决方法,可以关闭testNG的驱动程序。请参见下面我的解决方法:
package unitTest.myTest;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
public class GoogleTestNGTest {
@Test
public void f() throws InterruptedException
{
WebDriver driver=new FirefoxDriver();
driver.get("http://www.googl.com");
Thread.sleep(2000);
driver.close();
try
{
driver.get("someURL");
}
catch(UnreachableBrowserException e){}
}
我发现浏览器会话已经过期。但只是浏览器窗口还没有关闭。因此,当我们再次尝试使用相同的驱动程序实例和一些url。它会关闭浏览器。我希望这个解决方案能帮助其他面临类似问题的用户。
这不是TestNG中的错误。
如果说有什么不同的话,那就是硒中的一个错误。请记住,driver.close()
将关闭活动窗口...这意味着如果一个测试有多个窗口打开,您将需要关闭所有窗口。
你说你正在并行运行多个测试。。。我希望您正在使用多个驱动程序实例。。。。并不是所有的车都用同一个司机。如果是这种情况,那么您可以调用驱动程序。quit()
,因为它只会退出当前实例。
然而,如果你已经设法在一个驱动程序上有多个窗口运行不同的代码...那么我帮不了你,除了建议切换到多个实例(这要稳定得多)。
我有一个带有Java配置类的Spring(4.2.5)项目。这些在正常运行项目时起作用,但我无法使我的测试工作。在下面的测试中,为空。 如果添加注释,则会出现异常 其中和在和中定义,后者是基于活动配置文件选择的。 [编辑2] 经过更多的搜索,我发现了这个问题,并且在检查了我的依赖项之后,我发现我在maven依赖项下有Spring-Core-4.1.9,而且我没有在我的POM中包含一个依赖项。添加依
我有一个基本的SpringBoot应用程序。使用Spring初始值设定项、嵌入式Tomcat、Thymeleaf模板引擎,并将包作为可执行的JAR文件。 我有一个控制器: 和另一个测试类。使用Spring的MockMVC框架进行测试。这在测试中驱动MVC应用程序,就好像它在容器中运行一样, 但我犯了一个错误:
db-config-test.xml Maven插件: StackError:
我正在为我的应用程序编写单元测试,我在服务内部执行的步骤之一是从SpringSecurityContext获取当前经过身份验证的用户。 我知道,如果我想模拟Spring Security Authentication,我可以使用@SusMockUser,但它对我不起作用,因为当测试方法到达getAuthentication()方法调用时,它总是返回null... 我已经搜索了很多问题和博客帖子,但
我正在使用和我的应用程序。到目前为止,一切正常,但在将来测试一个排定的作业时,比方说一个月后,我会排定一个作业,然后将我的机器的系统时间更改为当天,在触发器触发前5分钟。我等着,扳机开火时间来了又去,但没有开火。我能够测试的另一种方法是更改oracle表中的fire时间,这样我们就不需要更改系统时间。当我把第二天的工作安排在4点的时候(不需要改变任何日期,但我等了24小时才开始工作),它也起作用了
我正在使用Qt/openGL,激活深度缓冲区时遇到了一些问题。 在每一帧,我激活以下状态:glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); 另外,我检查了我的深度缓冲区的大小不是空的(glGetIntegerv(GL_DEPTH_BITS)给我24,这是预期的值),但是深度测试不起作用,一些应该通过深度测试丢弃的片段不起作用。 知道吗?