前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)

《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)

作者头像
北京-宏哥
发布2022-04-27 18:33:23
4780
发布2022-04-27 18:33:23
举报

1.简介

在实际测试过程中,我们经常会遇到这样的情况,开发由于某些原因导致一些模块进度延后,而你的自动化测试脚本已经提前完成,这样就会有部分模块测试,有部分模块不能进行测试。这就需要我们暂时不让一些test case执行。今天宏哥主要讲解的就是在工作中遇到这种情况如何处理,不影响你的测试进度。

2.方案

①代码注销不执行测试用例区域。

②去除不执行测试用例前面@Test注释,这样testNG运行就不会运行到这部分的代码。

③testNG提供了一个enabled的参数,可以设置布尔型,true表示执行该方法,false表示不执行该测试用例。

第一种和第二种方法很简单,这里宏哥就做赘述,这里主要讲解和分享第三种方法。

3.项目实战

 为了节约时间,宏哥就不做新的测试场景,直接利用上一篇中测试百度搜索功能的代码,只要稍稍地改动一个地方就可以了。

3.1代码设计
3.2参考代码
代码语言:javascript
复制
package library;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

/**
 * @author 北京-宏哥
 * 
 * @公众号:北京宏哥
 * 
 * 《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)
 *
 * 2022年3月07日
 */

public class TestDepend {
    
WebDriver driver;
    
    @BeforeClass
    public void setup(){
        
        System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
        driver = new ChromeDriver();
        driver.manage().window().maximize();
        
    }
    
    @Test
    public void openBaidu() throws InterruptedException{
        
        driver.get("https://www.baidu.com");
        Thread.sleep(2000);
        System.out.println(driver.getTitle());
        //assertTrue(driver.getTitle() == "百度一下,你就知道");
    }
    
    @Test(dependsOnMethods={"openBaidu"})
    public void testSearch() throws InterruptedException{
        driver.findElement(By.id("kw")).sendKeys("Selenium");
        driver.findElement(By.id("su")).click();
        Thread.sleep(1000);
    }
    
    @Test(dependsOnMethods={"testSearch"},enabled=false)
    public void testSearch2() throws InterruptedException{
        driver.findElement(By.id("kw")).clear();
        driver.findElement(By.id("kw")).sendKeys("Selenium+Java");
        driver.findElement(By.id("su")).click();
        Thread.sleep(1000);
    }
    
    @AfterClass
    public void tearDown() throws InterruptedException{
        Thread.sleep(3000);
        driver.quit();
    }
  
}
3.3运行代码

1.运行代码,右键Run AS->TestNG Suite,控制台输出,如下图所示:

上面有三个测试用例,运行后可以看到报告显示执行了两个测试用例。

2.运行代码后电脑端的浏览器的动作,如下小视频所示:

https://gorilla.cdnja.co/v/ar/arjRd.mp4?token=AMao-T4OdDUxHLnjXK6inQ&expires=1651056167

4.小结

好了,今天时间也不是很早了,宏哥就讲解和分享到这里,感谢您耐心的阅读!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.简介
  • 2.方案
  • 3.项目实战
    • 3.1代码设计
      • 3.2参考代码
        • 3.3运行代码
        • 4.小结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档