You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在每个@Test注解方法前后启动并关闭浏览器?

问题解决:每个@Test方法前后启动/关闭浏览器

核心结论

  • 不需要新建Java文件,多个@Test方法完全可以放在同一个测试类中实现
  • @BeforeTest和@AfterTest仅会在整个测试套件的启动和结束阶段各执行一次,无法满足你每个测试方法前后都运行浏览器启停逻辑的需求

正确实现方案

改用@BeforeMethod和@AfterMethod注解,这两个注解标记的方法会在每一个@Test方法执行前、后分别触发,完全匹配你的需求。

修改后的代码示例:

@BeforeMethod
public void LaunchBrowser() throws IOException {
    // 在这里编写浏览器启动代码,注意初始化driver实例
    driver = new ChromeDriver();
}

@Test(priority = 1)
public void Commande_Simple_Mode_Connecte() throws InterruptedException {
    Authentication(driver);
    RechercheMarque(driver, "adidas");
    SaisieArticle(driver);
    AccesPanierSimple(driver);
    ValidationCommandeSimple(driver);
}

@Test(priority = 2)
public void Commande_Simple_Etrangere_Mode_Deconnecte() throws InterruptedException {
    RechercheArticleMD(driver,"ocstore");
    SaisieArticleEtrangerMD(driver);
    AccesPanierSimple(driver);
    AuthenticationDepuisPanierDeconnecter(driver);
    ValidationCommandeSimpleEtrangere(driver);
}

@AfterMethod
public void CloseChrome() {
    driver.quit();
}

关键注意点

  • 必须在@BeforeMethod中重新初始化driver对象,避免多个测试方法共用同一浏览器实例导致的页面状态污染
  • 保留priority属性可以维持原有测试方法的执行顺序逻辑

内容的提问来源于stack exchange,提问作者Yan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 16:42:34