我正在编写我的第一个 zats-test,并且我正在尝试根据 zkoss 中的示例进行操作。 .
这是我的测试:
public class zatsTest {
@BeforeClass
public static void init() {
Zats.init("./src/main/resources/web");
}
@AfterClass
public static void end() {
Zats.end();
}
@AfterMethod
public void after() {
Zats.cleanup();
}
@Test
public void testLoginGUI() {
log.info("Testing Login GUI ...");
DesktopAgent deskAgent = Zats.newClient().connect("/login.zul");//<---
ComponentAgent button = deskAgent.query("loginButton");
ComponentAgent tbLogin = deskAgent.query("#login");
ComponentAgent tbPassword = deskAgent.query("#password");
// Successful login
log.info("Testing correct login and password...");
tbLogin.type("root");
tbPassword.type("nysnys");
Assert.assertEquals(deskAgent.query("#login"), "root", "correct login must be 'root' ");
Assert.assertEquals(deskAgent.query("#password"), "password", "correct password must be 'nysnys' ");
button.click();
log.info("Testing Login GUI has been finished.");
}
}
我收到了这个:
org.zkoss.zats.ZatsException: instance not found, please call init first at org.zkoss.zats.mimic.Zats.getInstance(Zats.java:33) at org.zkoss.zats.mimic.Zats.newClient(Zats.java:61) at zats_test.zatsTest.testLoginGUI2(zatsTest.java:45) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85) at org.testng.internal.Invoker.invokeMethod(Invoker.java:639) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:821) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1131) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) at org.testng.TestRunner.privateRun(TestRunner.java:773) at org.testng.TestRunner.run(TestRunner.java:623) at org.testng.SuiteRunner.runTest(SuiteRunner.java:357) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:310) at org.testng.SuiteRunner.run(SuiteRunner.java:259) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1185) at org.testng.TestNG.runSuitesLocally(TestNG.java:1110) at org.testng.TestNG.run(TestNG.java:1018) at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
在我的实习中,我必须了解 ZATS 的工作原理,并对 Login zk Gui(ZK 8.0 和 zats-mimic-ext7 版本 1.2.0,Maven 项目)进行测试。但我有点困惑。 我使用 TestNG。
最佳答案
所以,这帮助我解决了我的 react 堆项目的问题。
env = new DefaultZatsEnvironment("../ControlCenterPack/src/main/webapp/WEB-INF");
env.init("../ControlCenterCore/src/main/resources/web");
关于java - ZATS : ZatsException: instance not found, 请先调用init,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33274719/