[英]Can't invoke public method in TestNG
我在公共課程中有以下構造函數:
public LoginPage(Browser browser, Logger logger) throws GeneralLeanFtException {
super(browser, logger);
}
browser
和logger
變量在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.Invoker.invokeMethod(Invoker.java:714)位於org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)具有.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:40) org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)上的org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)在org.testng的org.testng.SuiteRunner.runTest(SuiteRunner.java:348)的org.testng.TestRunner.run(TestRunner.java:617)的org.testng.TestRunner.privateRun(TestRunner.java:767)處。 org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)的org.testng.SuiteRunner.run(SuiteRunner.java:254)的SuiteRunner.runSequentially(SuiteRunner.java:343) 在org.testng上的tng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)在org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)處的org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)在org.testng.TestNG.runSuitesLocally (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();
}
}
此類,同一包中的類和擴展該類的類可以看到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
變量設置為protected static
嘗試這樣
不確定但正在查看異常消息和源代碼 ,看來您的類中不需要參數構造函數。
您能否在BasePage和LoginPage類中不添加任何參數構造函數並進行檢查?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.