zoukankan      html  css  js  c++  java
  • 导入testng管理测试用例

    1.在pom.xml中增加testng的依赖,以导入testNG

    2.在src-main-resources目录下新建xml文件,比如untitled.xml.

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="testSuite1">
          <test name="UITest">
              <classes>
                  <class name="testcase.TestNG" />
                  <class name="testcase.testNG2" />
                  <class name="testcase.testNG1" />
              </classes>
    
          </test>
    </suite>

    3.BeforeTest AfterTest BeforeClass AfterClass的区别

     BeforeTest AfterTest

    case1:

    package testcase;
    
    import org.testng.annotations.AfterTest;
    import org.testng.annotations.BeforeTest;
    import org.testng.annotations.Test;
    
    public class testNG3 {
        @BeforeTest
        public void setup(){System.out.println("case3:set up");}
        @Test
        public void test1(){System.out.println("case3");}
        @AfterTest
        public void tearup(){System.out.println("case3:tear down");}
    }


    case2:

    package testcase;
    
    import org.testng.annotations.AfterTest;
    import org.testng.annotations.BeforeTest;
    import org.testng.annotations.Test;
    
    public class testNG4 {
        @BeforeTest
        public void setup(){System.out.println("case4:set up");}
        @Test
        public void test1(){System.out.println("case4");}
        @AfterTest
        public void tearup(){System.out.println("case4:tear down");}
    }

    xml:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="testSuite1">
          <test name="UITest">
              <classes>
                  <!--<class name="testcase.TestNG" />
                  <class name="testcase.testNG2" />
                  <class name="testcase.testNG1" />-->
                  <class name="testcase.testNG3"/>
                  <class name="testcase.testNG4"/>
              </classes>
    
          </test>
    </suite>

    执行结果:

    将BeforeTest替换为BeforeClass,AfterTest替换为AfterClass

    case1:

    package testcase;
    
    import org.testng.annotations.*;
    
    public class testNG3 {
        @BeforeClass
        public void setup(){System.out.println("case3:set up");}
        @Test
        public void test1(){System.out.println("case3");}
        @AfterClass
        public void tearup(){System.out.println("case3:tear down");}
    }

    case2:

    package testcase;
    
    import org.testng.annotations.*;
    
    public class testNG4 {
        @BeforeClass
        public void setup(){System.out.println("case4:set up");}
        @Test
        public void test1(){System.out.println("case4");}
        @AfterClass
        public void tearup(){System.out.println("case4:tear down");}
    }

    xml:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="testSuite1">
          <test name="UITest">
              <classes>
                  <!--<class name="testcase.TestNG" />
                  <class name="testcase.testNG2" />
                  <class name="testcase.testNG1" />-->
                  <class name="testcase.testNG3"/>
                  <class name="testcase.testNG4"/>
              </classes>
    
          </test>
    </suite>

    执行结果:

    4.使用TestNg增加断言

    package testcase;
    import org.testng.Assert;
    import org.testng.annotations.*;
    public class testNG3 {
        @BeforeClass
        public void setup(){System.out.println("case3:set up");}
        @Test
        public void test1(){
            System.out.println("case3");
            String actureMessage="abc";
            String expectMessage="efg";
            Assert.assertTrue(actureMessage.equalsIgnoreCase(expectMessage),"Expect message is "+expectMessage+".But acture message is "+actureMessage);
        }
        @AfterClass
        public void tearup(){System.out.println("case3:tear down");}
    }

    将expectMessage修改为abc,结果为

    
    

     5.编写基于TestNg的测试用例

    Baidu.java

     1 package testcase;
     2 
     3 import org.openqa.selenium.By;
     4 import org.openqa.selenium.WebDriver;
     5 import org.openqa.selenium.chrome.ChromeDriver;
     6 import org.testng.annotations.AfterTest;
     7 import org.testng.annotations.BeforeTest;
     8 import org.testng.annotations.Test;
     9 
    10 import java.util.concurrent.TimeUnit;
    11 public class Baidu {
    12     private WebDriver driver;
    13     @BeforeTest
    14     public void setUp(){
    15         String chromepath = System.getProperty("user.dir")+"/src/main/java/drivers/chromedriver";
    16         System.setProperty("webdriver.chrome.driver",chromepath);
    17         driver = new ChromeDriver();
    18         driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
    19     }
    20     @Test
    21     public void test(){
    22         driver.get("https://www.baidu.com");
    23         driver.findElement(By.xpath("//input[@class='s_ipt' and @id='kw']")).sendKeys("selenium");
    24         driver.findElement(By.xpath("//input[@id='su']")).click();
    25         System.out.println(driver.findElement(By.xpath("//span[@class='nums_text']")).getText());
    26 
    27     }
    28     @AfterTest
    29     public void tearDown(){
    30         driver.quit();
    31     }
    32 }

    test.xml

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="testSuite1">
        <test name="UITest">
            <classes>
                <class name="testcase.Baidu" />
            </classes>
    
        </test>
    </suite>

    测试结果:

    
    

      

  • 相关阅读:
    ubuntu下安装maven
    159.Longest Substring with At Most Two Distinct Characters
    156.Binary Tree Upside Down
    155.Min Stack
    154.Find Minimum in Rotated Sorted Array II
    153.Find Minimum in Rotated Sorted Array
    152.Maximum Product Subarray
    151.Reverse Words in a String
    150.Evaluate Reverse Polish Notation
    149.Max Points on a Line
  • 原文地址:https://www.cnblogs.com/csj2018/p/9195276.html
Copyright © 2011-2022 走看看