《手把手教你》系列基础篇(八十)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-番外篇(详解教程)

1.简介

经过前边几篇知识点的介绍,今天宏哥就在实际测试中应用一下前边所学的依赖测试。这一篇主要介绍在TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题。如果不用dependsOnMethods,testNG会自动根据@Test方法名称的首字母排序来执行测试方法,而不是按照你设计的测试用例来执行方法。多的不说,少的不唠,我们开始今天讲解和分享。

2.测试场景

在这里宏哥给小伙伴们或者童鞋们模拟一个测试场景:打开百度首页,搜索selenium的相关内容,看到很多selenium的内容有java、python等各种语言。而我们需要精确到其中某一种语言相关的selenium知识点,比如java。

3.测试用例设计

①打开百度首页

②在查询输入框输入:selenium搜索

③输入selenium+java搜索

4.项目实战

4.1代码设计

根据测试用例设计测试脚本代码如下图所示:

4.2参考代码

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依赖测试-番外篇(详解教程)
 *
 * 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"})
    public void testSearch2(){
        driver.findElement(By.id("kw")).clear();
        driver.findElement(By.id("kw")).sendKeys("Selenium+Java");
        driver.findElement(By.id("su")).click();
    }
    
    @AfterClass
    public void tearDown(){
        driver.quit();
    }
  
}

4.3运行代码

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

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

5.小结

1.上面先后顺序是:1)打开百度 2)搜索selenium 3)搜索selenium+java,是按照宏哥设计的测试用例进行执行,而且顺序也正确;如果想看看不用依赖关系,注销依赖部分代码,执行一下,看看是不是按照字母顺序执行,而不是按照宏哥设计的测试用例执行的。

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

posted @ 2022-03-23 13:37  北京-宏哥  阅读(475)  评论(0编辑  收藏  举报
停止精灵球