1.@Before,@After的例子

在一个测试类中如果含有多个测试方法,如:

public class Address_edit {

@Before

public void setUp() throws Exception {

System.setProperty("webdriver.chrome.driver", "E:\\TINA\\2018\\chromedriver_win32\\chromedriver.exe");
       driver = new ChromeDriver();

}

public void test001() throws InterruptedException {

}

public void test002() throws InterruptedException {

}

@After
public void tearDown() throws Exception {
System.out.println("Page title is: " + driver.getTitle());
driver.quit();
}

}

@Before:在跑测试test001,test002时候都会各执行一次@Before部分的代码。

@Beforeclass: 在类中只会被执行一次

@After:释放资源  对于每一个测试方法都要执行一次

@Afterclass:所有测试用例执行完才执行一次

一个JUnit4的单元测试用例执行顺序为: 
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass; 
每一个测试方法的调用顺序为:

@Before -> @Test -> @After;

2.@Afterclass和@Beforeclass的例子

package com.example.tests;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class Login {

public static final String baseUrl = "https://XXXX.XXX.com";
protected static WebDriver driver;

@BeforeClass
public static void setUp() throws InterruptedException, Exception {
 
System.setProperty("webdriver.chrome.driver", "E:\\TINA\\2018\\chromedriver_win32\\chromedriver.exe");
driver = new ChromeDriver();
//打开微关爱网页
     driver.get(baseUrl);
     System.out.println("打开网址时的页面名称: " + driver.getTitle());
        
     //窗口最大化
     driver.manage().window().maximize(); 
     Thread.sleep(2000);
        
     //根据id获取登录的控件
     WebElement Login = driver.findElement(By.xpath("//div[@class='personal-navigation-container hidden-phone']//ul//li[@class='list-item sign-in']/a"));
     Login.click();
        
     Thread.sleep(2000);
     //输入用户名和密码
     driver.navigate().refresh();
     WebElement Username = driver.findElement(By.xpath("//div[@class='control-group login-input']//input[@class='field']"));
     Thread.sleep(2000);
     WebElement Password = driver.findElement(By.id("_59_WAR_forgecartportlet_password"));         
     WebElement Login_botton = driver.findElement(By.xpath("//button[@type='submit']"));
     Username.clear();
     Username.sendKeys("XXXX@YYYY.com");
     Password.sendKeys("XXXX");
     Login_botton.click();
     System.out.println("登陆后的页面名称: " + driver.getTitle());
}

@AfterClass
public static void tearDown() throws Exception {
System.out.println("Page title is: " + driver.getTitle());
driver.quit();

}

}

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.Select;

public class Address_Test extends Login   {

@Test
//添加新地址

public void test001() throws InterruptedException {

}

}

@Before,@After和@BeforeClass和@AfterClass的区别相关推荐

  1. JUnit4 中@AfterClass @BeforeClass @after @before的区别

    JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation:  @Before:初始化方法   对于每一个测试方法都要执行一次(注意与BeforeCl ...

  2. afterclass_通过beforeClass和afterClass设置增强Spring Test Framework

    afterclass 如何允许实例方法作为JUnit BeforeClass行为运行 JUnit允许您在所有测试方法调用之前和之后一次在类级别上设置方法. 但是,通过有意设计,它们将其限制为仅使用@B ...

  3. 通过beforeClass和afterClass设置增强Spring Test Framework

    如何允许实例方法作为JUnit BeforeClass行为运行 JUnit允许您在所有测试方法调用之前和之后一次在类级别上设置方法. 但是,通过有意设计,他们将其限制为仅使用@BeforeClass和 ...

  4. Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法1 - 条件判断法

    Robotium的测试类ActivityInstrumentationTestCase2是继承于Junit3的TestCase类,所以并没有提供Junit4的特性.如网上总结说的 不能通过annota ...

  5. JUnit4 中@AfterClass @BeforeClass @after @before的区别对比

    JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation:  @Before:初始化方法   对于每一个测试方法都要执行一次(注意与BeforeCl ...

  6. 【JUnit】BeforeClass、AfterClass、Before与After示例

    [测试目的] 测试加载顺序 [代码片段] public class TestIt {private TestJUnit tju = null;@BeforeClasspublic static voi ...

  7. selenium自动化测试04

    已经写到了第四篇了,也是selenium自动化的最后一篇了.当然了,自动化不止这些,还有很多很多的内容,学无止境. 前情回顾 一.搭建自动化测试环境 项目>>浏览器+浏览器驱动+selen ...

  8. 【Java】辨析JUnit4中的@AfterClass、@BeforeClass、@after、@before

    常用注解 JUnit4使用Java5中的注解(annotation),下面会列举一些JUnit4常用Annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与Befor ...

  9. Java中单元测试中:@BeforeClass,@Before,@Test,@After,@AfterClass中的问题详解

    在Junit4中还有的测试注解有:  @BeforeClass ,@Before,@Test,@After,@AfterClass 1.其中:@BeforeClass,@AfterClass是Juni ...

最新文章

  1. colab找不到模块 no name
  2. 全球及中国潜水压力传感器行业运行态势及发展战略研究报告2022-2027年
  3. jvm-垃圾回收随时都可以STW吗?带你认识安全点和安全区域
  4. Oracle 表空间的段管理
  5. [蓝桥杯][算法提高VIP]线段和点(排序+贪心)
  6. java reader_Java之字符输入流,Reader类的简单介绍
  7. Android 功耗(8)---如何找到阻止进入deep idle / SODI的元凶
  8. 关于EasyUI在Datagrid里面将某一列设置为超链接并传递当前行的某一参数传递给打开的对话框。
  9. android textwatcher 获取当前控件,TextWatcher如何找到调用它的EditText
  10. VS2010调试——“StdAfx.h“文件打不开
  11. C4D缩放移动等功能无法使用?
  12. 最简单的省市区三级联动
  13. kernel function
  14. 第五套人民币是大众收藏的机会
  15. java使字符串转二维码
  16. php 广告法违禁词敏感词高效替换函数
  17. 网络——路由进阶与安全
  18. 谈谈我的框架设计经验
  19. HihoCoder——Trie树
  20. Redis(上)基础及8种数据类型

热门文章

  1. MySql 导入和导出数据
  2. 【金融干货】四步教你:开发风控模型?
  3. 微信旧版本存在远程代码执行漏洞:小心奇特用户名的聊天对象
  4. 关于ANCII和UNICODE
  5. php输出语句,php中输出语句有哪些?
  6. 贝叶斯统计 韦来生 课后题答案 第四章
  7. 压缩解压工具gzip、pigz、gtz大比较
  8. 如何修改文件的扩展名(后缀)
  9. [安卓逆向]android adb常用命令及使用案例
  10. 扑克牌叠加效果css_使CSS剪辑生效:扩大叠加效果