java - ZATS : ZatsException: instance not found, 请先调用init

标签 java eclipse automated-tests zk

我正在编写我的第一个 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。

maven project structure

最佳答案

所以,这帮助我解决了我的 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/

相关文章:

java - Glassfish 容器管理的数据库位置

java - 替换 Android 默认字体文件

linux - Linux Mint 上的 Eclipse 3.8 缺少新软件和插件

python - 使用 Selenium + Python 将测试用户输入从一个输入镜像到另一个输入

python - 使用 Selenium Webdriver 访问在 QT Webkit 之上运行的嵌入式设备 UI

testing - 如何将 Sikuli 脚本导出到 java?

java - 如何访问 JAR 文件中的文件夹

java - UrlRewriteFilter run 元素生成 404,但 to 元素在 GAE/Java 上运行良好

java - 无法直接运行.jsp页面

eclipse - 在 Eclipse 中放置任务标签的键盘快捷键