@Before,@After和@BeforeClass和@AfterClass的区别
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的区别相关推荐
- JUnit4 中@AfterClass @BeforeClass @after @before的区别
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeCl ...
- afterclass_通过beforeClass和afterClass设置增强Spring Test Framework
afterclass 如何允许实例方法作为JUnit BeforeClass行为运行 JUnit允许您在所有测试方法调用之前和之后一次在类级别上设置方法. 但是,通过有意设计,它们将其限制为仅使用@B ...
- 通过beforeClass和afterClass设置增强Spring Test Framework
如何允许实例方法作为JUnit BeforeClass行为运行 JUnit允许您在所有测试方法调用之前和之后一次在类级别上设置方法. 但是,通过有意设计,他们将其限制为仅使用@BeforeClass和 ...
- Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法1 - 条件判断法
Robotium的测试类ActivityInstrumentationTestCase2是继承于Junit3的TestCase类,所以并没有提供Junit4的特性.如网上总结说的 不能通过annota ...
- JUnit4 中@AfterClass @BeforeClass @after @before的区别对比
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeCl ...
- 【JUnit】BeforeClass、AfterClass、Before与After示例
[测试目的] 测试加载顺序 [代码片段] public class TestIt {private TestJUnit tju = null;@BeforeClasspublic static voi ...
- selenium自动化测试04
已经写到了第四篇了,也是selenium自动化的最后一篇了.当然了,自动化不止这些,还有很多很多的内容,学无止境. 前情回顾 一.搭建自动化测试环境 项目>>浏览器+浏览器驱动+selen ...
- 【Java】辨析JUnit4中的@AfterClass、@BeforeClass、@after、@before
常用注解 JUnit4使用Java5中的注解(annotation),下面会列举一些JUnit4常用Annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与Befor ...
- Java中单元测试中:@BeforeClass,@Before,@Test,@After,@AfterClass中的问题详解
在Junit4中还有的测试注解有: @BeforeClass ,@Before,@Test,@After,@AfterClass 1.其中:@BeforeClass,@AfterClass是Juni ...
最新文章
- colab找不到模块 no name
- 全球及中国潜水压力传感器行业运行态势及发展战略研究报告2022-2027年
- jvm-垃圾回收随时都可以STW吗?带你认识安全点和安全区域
- Oracle 表空间的段管理
- [蓝桥杯][算法提高VIP]线段和点(排序+贪心)
- java reader_Java之字符输入流,Reader类的简单介绍
- Android 功耗(8)---如何找到阻止进入deep idle / SODI的元凶
- 关于EasyUI在Datagrid里面将某一列设置为超链接并传递当前行的某一参数传递给打开的对话框。
- android textwatcher 获取当前控件,TextWatcher如何找到调用它的EditText
- VS2010调试——“StdAfx.h“文件打不开
- C4D缩放移动等功能无法使用?
- 最简单的省市区三级联动
- kernel function
- 第五套人民币是大众收藏的机会
- java使字符串转二维码
- php 广告法违禁词敏感词高效替换函数
- 网络——路由进阶与安全
- 谈谈我的框架设计经验
- HihoCoder——Trie树
- Redis(上)基础及8种数据类型