gpt4 book ai didi

java - TestNG 中的继承和@BeforeSuite

转载 作者:行者123 更新时间:2023-12-01 11:51:56 25 4
gpt4 key购买 nike

我一直致力于 TestNG,但我的一些代码存在问题。代码如下:

public class Main {
public String baseurl ;
public WebDriver webdriver ;
protected Main(){

//baseurl = "http://goodreads.com";
//webdriver = new FirefoxDriver();

}

@BeforeSuite
public void setup(){

baseurl = "http://goodreads.com";
webdriver = new FirefoxDriver();
}

以上代码是基类的

@Test
public void do_login(){

super.webdriver.get(super.baseurl);

这是继承类

现在据我所知,BeforeSuite 应该首先执行,baseurl 和 webdriver 的值应该初始化为指定的值。但我在上面的代码中遇到了 NullPointerException 。当我将变量分配为静态或在构造函数中初始化变量时,问题就解决了。但是为什么当我将它们放入方法中时它们没有被初始化(无论如何,该方法应该在 @Test 执行之前执行)?我是否缺少一些有关 java 的概念?请解释一下

最佳答案

您不需要将这两个类都包含到套件中。仅应包含 @Test 包含类。我认为这就是问题所在。我还相信 @BeforeSuite 带注释的方法的执行不取决于您运行测试的方式(如 TestNG 方法或 TestNG 套件),因为无论如何都会创建默认套件以便运行测试。

关于java - TestNG 中的继承和@BeforeSuite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28735557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com