当前位置: 首页 > 知识库问答 >
问题:

无法调用TestNG中的公共方法

韦望
2023-03-14

我在一个公共类中有以下构造函数:

public LoginPage(Browser browser, Logger logger) throws GeneralLeanFtException {
    super(browser, logger);
}

BrowserLogger变量在BasePage类中定义,该类对其进行了扩展。

public class BasePage {
    protected Browser browser;
    protected Logger logger;

    public BasePage(Browser browser,Logger logger) throws GeneralLeanFtException {
        this.browser = browser;
        this.logger = logger;
    }
}

当使用testng执行它时,我会得到以下错误消息。

将其设置为静态的,或者向类中添加一个无参数的构造函数

抛出com.hp.lft.sdk.GeneralleanFTException,java.lang.InterruptedException:将其设置为静态,或者在org.testng.internal.utils.CheckInstanceorStatic(utils.java:795)在org.testng.internal.methodinvocationhelper.invokeMethod(methodinvocationhelper.java:40)在org.testng.internal.invoker.invokeMethod(invoker.java:714)在tng.suiterunnerworker.runsuite(suiterunnerworker.java:52)在org.testng.suiterunnerworker.run(suiterunnerworker.java:86)在org.testng.testng.runsuites顺序(testng.java:1224)在org.testng.testng.runsuite本地(testng.java:1149)在org.testng.testng.run(testng.java:1057)

执行来自测试的类:

@Test
public class LeanFTest {
    public static void main(String[] args) throws IOException, SAXException, ParserConfigurationException {
        TestNG testNG = new TestNG();
        testNG.setTestSuites(Arrays.asList("testng.xml"));
        testNG.setPreserveOrder(true);
        testNG.run();
    }

}

共有1个答案

慕容弘懿
2023-03-14

protected变量可由该类、同一包中的类和扩展该类的类看到。

static变量存在于类级别,它不单独存在于每个实例中,也不独立存在于扩展类的类中。

 public class BasePage {
        protected static Browser browser;
        protected static Logger logger;

        public BasePage(Browser browser,Logger logger) throws GeneralLeanFtException {
            this.browser = browser;
            this.logger = logger;
        }
    }

通过将protected变量设置为protectedstatic

 类似资料:
  • 我想为我拥有的一个类编写一个单元测试。这个类有一个公共方法,在公共方法内部有对同一个类中的私有方法的调用。我想模拟对那些私有方法的调用。类与此类似: 对于我的单元测试,我尝试将PowerMock与Mockito和TestNG一起使用。下面是我对测试SomePublicMethod的测试的尝试: 当我运行这个测试时,我会得到一个异常和一些提示: 我在网上看了一些例子,但是我还没有找到一个专门使用Po

  • 简介 框架中内置封装了一些公共函数,开发者在实际业务中可以直接使用,无需重复封装。其中包括: 协程函数 数组函数 目录(文件夹)函数 环境函数 文件函数 文件系统函数 对象函数 PHP 助手函数 字符串函数 系统函数 XML 函数 通用函数 协程函数 创建协程Swoft 框架中不能使用 Swoole 提供的 go 函数创建协程,否则会造成请求和上下文丢失最终导致一些不可预估的问题。 Swoft 拥

  • 我是的新手,并编写了以下代码以从组中获取参数。 跳过:testMethodA java.lang.NullPoInterException(位于org.testng.internal.methodInvocationHelper.InvokedDataProvider(MethodInvocationHelper.java:151)(位于org.testng.internal.parameters

  • Spring文档说明: 输出: 同样-通过实验-CGLIB库(不使用spring,使用增强器类)也允许代理包级方法。 更新 我想我找到了接受公共方法的这种行为只会发生的地方。它发生在处,这是切入点()使用的。 来自代码:

  • 问题内容: 将方法标记为程序包专用类是否有所不同? 之间和此处的可见性是否有实际差异? 问题答案: 如果该类不会被另一个更可见的子类扩展,则唯一的区别是 intent的清晰度* 。将所有方法包都声明为私有,使以后的读者更加难以确定同一包中的其他类将调用哪些方法。 作为我的设计解决方案,这没有多大意义,但是从技术上来说还是有可能的。

  • 本文向大家介绍iOS常用的公共方法详解,包括了iOS常用的公共方法详解的使用技巧和注意事项,需要的朋友参考一下 1. 获取磁盘总空间大小 2. 获取磁盘可用空间大小 3. 获取指定路径下某个文件的大小 4. 获取文件夹下所有文件的大小 5. 获取字符串(或汉字)首字母 6. 将字符串数组按照元素首字母顺序进行排序分组 使用如下: 输出结果如下: 输出结果 7. 获取当前时间 8. 计算上次日期距离