java - 我收到以下代码的 "java.lang.Exception: Method tearDown should have no parameters"& result.getStatus 为 null

标签 java selenium junit

我收到以下代码的“java.lang.Exception:方法tearDown 应该没有参数”并且 result.getStatus 为 null

我有 JUnit 来运行案例

package com;


import junit.framework.Assert;

import org.junit.After;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.ITestResult;
import org.testng.annotations.AfterMethod;


public class DeleteLeter {


    @Test
    public void testw() throws Exception{
        WebDriver driver = new FirefoxDriver();
        driver.get("http://e4allapac");
        int a =10;
        int b=20;
        Assert.assertEquals(a, b);

    }

    @After
    public void tearDown(ITestResult result){
        System.out.println(result.getStatus());
        if(ITestResult.FAILURE==result.getStatus())
            System.out.println("Fail");
    }

}

最佳答案

听起来您想实现 TestWatcher 规则 - http://junit.org/junit4/javadoc/4.12/index.html .

基本思想是,您创建一个扩展 TestWatcher 类的类,将其作为 @Rule 附加到您的测试套件,然后在测试失败时它将收到通知。

public class MyWatcher extends TestWatcher {
  @Override
  protected void failed(Throwable e, Description description) {
      // do whatever Selenium magic here.
  }
}

public class MyTests { 
  @Rule
  public final MyWatcher myWatcher = new MyWatcher();

  @Test
  public void testMethod() {
      // test stuff goes in here
  }
}

关于java - 我收到以下代码的 "java.lang.Exception: Method tearDown should have no parameters"& result.getStatus 为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41695179/

相关文章:

java - 如何使用 jUnit 和 Spring 加载多个上下文

javascript - Selenium - 元素在点上不可点击

java - 如何将 Spring 集成到 Cucumber 中

java - java中如何对二维数组的列求和

java - joptionpane 默认值 showinputdialog

selenium - Protractor 最大调用堆栈错误

c# - Selenium ChromeDriver 切换选项卡

java - 你如何在 apache camel 中对 servlet 端点进行单元测试?

java - Spring Transactional 减慢了整个过程

java - 调用 Method.invoke 时获取 java.lang.NullPointerException