zoukankan      html  css  js  c++  java
  • TestNG框架___webdriver

    相对于junit4来说testNG框架会出具更多的常用注解;详细的测试报告;

    第一步:下载testng;help_install new software_add  (name=TestNG location=http//beust.com/eclipse/) _OK_next_finish_OK-yes  安装完成重启eclipse

    第二步:新建java工程,命名为“TestNGProj”,配置好运行Webdriver的相关jar文件;

    第三步:单击选中新建工程的名称,按下Ctrl+N组合键,在弹出的对话框中选择“TestNG”下的“TestNGclass”选项,单击“Next”按钮;输入Source Packagename Classname;finish

    第四步:编写webdriver测试代码如下   *运行之前要将代码拖拽到Src目录下

    package cn.china;
    import org.openqa.selenium.*;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.testng.annotations.Test;
    import org.testng.annotations.BeforeMethod;
    import org.testng.annotations.AfterMethod;
    
    public class FirstTestNGDemo {
        public WebDriver driver;
        String baseUrl="http://www.sogou.com/";
      @Test
      public void testsearch() {
          driver.get(baseUrl+"/");
          driver.findElement(By.id("query")).sendKeys("光荣之路自动化测试");
          driver.findElement(By.id("stb")).click();
      }
      @BeforeMethod
      public void beforeMethod() {
          System.setProperty("webdriver.gecko.driver", "C:\Program Files (x86)\Mozilla Firefox\geckodriver.exe");
          driver=new FirefoxDriver();
          
      }
    
      @AfterMethod
      public void afterMethod() {
          //driver.quit();
      }
    
    }

    运行结束后可以到工程目录下test-output下找到index.html或者emailable-report.html查看测试报告;

    第五步:创建“Annotation”java类,代码如下

    package cn.china;
    import org.testng.annotations.Test;
    import org.testng.annotations.BeforeMethod;
    import org.testng.annotations.BeforeSuite;
    import org.testng.annotations.BeforeTest;
    import org.testng.annotations.AfterClass;
    import org.testng.annotations.AfterMethod;
    import org.testng.annotations.AfterSuite;
    import org.testng.annotations.AfterTest;
    import org.testng.annotations.BeforeClass;
    
    public class Annotation {
      @Test
      public void f() {
          System.out.println("测试用例1被调用");
      }
      @Test
      public void s(){
          System.out.println("测试用例2被调用");
      }
      @BeforeMethod
      public void beforeMethod() {
          System.out.println("在每个方法运行之前执行");
      }
    
      @AfterMethod
      public void afterMethod() {
          System.out.println("在每个方法运行之后执行");
      }
      @BeforeClass
      public void beforeclass(){
          System.out.println("在当前测试类的第一个测试方法开始调用前执行");
      }
      @AfterClass
      public void afterClass(){
          System.out.println("在当前类的最后一个测试方法运行结束后执行");
          }
      @BeforeTest
      public void befoerclass(){
          System.out.println("在测试方法test开始运行之前执行");
      }
      @AfterTest
      public void afterclass(){
          System.out.println("在测试方法Test开始运行后执行");
      }
      @BeforeSuite
      public void  beforeSuite(){
          System.out.println("在当前测试集合suite中的所有程序开始之前执行");
      }
      @AfterSuite
      public void  afterSuite(){
          System.out.println("在当前测试集合suite中的所有程序运行结束后执行");
      }
    
    }

    第六步:测试集合testsuite  new-file-testng(filename=tesng.xml);在testng.xml文档中选择source栏进行编辑,代码如下:在eclipse里 运行testng.xml  发现2个测试用例都被运行,实现批量执行测试用例;

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="TestNGSuite">
       <test name ="test1">
           <classes>
           
           
               <class name="cn.china.FirstTestNGDemo"/>
               <class name="cn.china.Annotation"/>
               
               
               
           </classes>
       </test>
    </suite>

  • 相关阅读:
    disabled
    C# 实例化顺序
    session问题
    Node js文件系统
    Node js WEB模块
    Node js GET POST请求
    Node js路由
    Node js函数
    Node js模块系统
    Node js 安装+回调函数+事件
  • 原文地址:https://www.cnblogs.com/wangyinxu/p/6366337.html
Copyright © 2011-2022 走看看