gpt4 book ai didi

java - 使用多个套件进行测试。 @AfterSuite 方法在第一个套件和第二个套件无法运行后关闭驱动程序

转载 作者:行者123 更新时间:2023-11-30 08:49:42 25 4
gpt4 key购买 nike

我使用 testng 来运行测试。我有几个测试套件(Suite1.xmlSuite2.xmlSuite3.xml),它们组合在一个套件中( MasterSuite.xml)。除此之外,我还有 TestBase.java 类,我在其中配置了 @BeforeTest@BeforeMethod@BeforeSuite< 等方法@AfterSuite

运行@AfterSuite 方法关闭驱动程序(driver.quit())。

我想要的:运行MasterSuite,它将依次运行我所有的 3 个套件。

问题:第一个套件(Suite1)执行后,驱动关闭,Suite2无法运行.

我该如何解决这个问题?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="MasterSuite">
<suite-files>
<suite-file path="Suite1.xml" />
<suite-file path="Suite2.xml"/>
<suite-file path="Suite3.xml"/>
</suite-files>
</suite>

最佳答案

  1. 从 AfterSuite 中删除退出方法并将其放在最后一个套件中的所有测试用例之后
  2. 使测试用例独立,如果没有,您可以使用 BeforeMethod 和 AfterMethod 调用浏览器,如果失败则关闭浏览器,如果需要,还可以使用登录部分,这可以在以后受益,因为您可以拥有独立的测试用例
  3. AfterSuite 将在每个套件完成后调用,因此您的退出驱动程序将在第一个套件被调用后被调用。你可以使用 BeforeSuite 有一个方法,如果它没有运行,它会调用驱动程序,可以有一个标志,如果它没有运行,将确保只启动一个驱动程序
  4. 如果是少量的测试用例,您可以将它们全部放在一个测试套件中,并以相同的方式继续进行,没有任何问题

关于java - 使用多个套件进行测试。 @AfterSuite 方法在第一个套件和第二个套件无法运行后关闭驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31320851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com