【发布时间】:2017-06-19 07:07:34
【问题描述】:
我最近遇到了 CodeceptJS,我想尝试一下。我正在关注CodeceptJS's QuickStart page 上的教程,但现在我面临两个问题:
- 测试似乎只执行了第一步
- 我没有看到测试的执行
以下是我运行codeceptjs init时:
当我运行codeceptjs run --steps:
以下是我的测试(Test101_test.js):
Feature('Google search');
Scenario('test something', (I) => {
I.amOnPage('/');
I.fillField('q', 'Codeception');
I.see('YAY');
});
来自 selenium 服务器的日志:
17:29:38.490 信息 - 执行中:[新会话:功能 [{可旋转=真,locationContextEnabled=真, loggingPrefs=org.openqa.selenium.logging.LoggingPreferences@35f1c325, browserName=firefox,javascriptEnabled=true,handlesAlerts=true, requestOrigins={name=webdriverio, 版本=4.6.2, url=http://webdriver.io}}]]) 17:29:38.496 INFO - 创建一个新的 功能会话 [{rotatable=true, locationContextEnabled=true, loggingPrefs=org.openqa.selenium.logging.LoggingPreferences@35f1c325, browserName=firefox,javascriptEnabled=true,handlesAlerts=true, requestOrigins={name=webdriverio, 版本=4.6.2, url=http://webdriver.io}}] 17:29:38.871 警告 - 抛出异常 java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException 构建信息:版本: '3.0.1',修订:'1969d75',时间:'2016-10-18 09:48:19 -0700'系统 信息:主机:'My-Mac-mini.local',ip:'172.20.4.68',os.name:'Mac OS X',os.arch:'x86_64',os.version:'10.12.1',java.version:'1.8.0_91' 驱动程序信息:driver.version:未知 java.util.concurrent.FutureTask.report(FutureTask.java:122) 在 java.util.concurrent.FutureTask.get(FutureTask.java:192) 在 org.openqa.selenium.remote.server.DefaultSession.execute(DefaultSession.java:183) 在 org.openqa.selenium.remote.server.DefaultSession.(DefaultSession.java:119) 在 org.openqa.selenium.remote.server.DefaultSession.createSession(DefaultSession.java:95) 在 org.openqa.selenium.remote.server.DefaultDriverSessions.newSession(DefaultDriverSessions.java:131) 在 org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:59) 在 org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:36) 在 org.openqa.selenium.remote.server.rest.ResultConfig.handle(ResultConfig.java:111) 在 org.openqa.selenium.remote.server.JsonHttpCommandHandler.handleRequest(JsonHttpCommandHandler.java:189) 在 org.openqa.selenium.remote.server.DriverServlet.handleRequest(DriverServlet.java:222) 在 org.openqa.selenium.remote.server.DriverServlet.doPost(DriverServlet.java:184) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:707) 在 org.openqa.selenium.remote.server.DriverServlet.service(DriverServlet.java:150) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 在 org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:808) 在 org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:587) 在 org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) 在 org.seleniumhq.jetty9.servlet.ServletHandler.doScope(ServletHandler.java:515) 在 org.seleniumhq.jetty9.server.handler.ContextHandler.doScope(ContextHandler.java:1061) 在 org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 在 org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) 在 org.seleniumhq.jetty9.server.Server.handle(Server.java:499) 在 org.seleniumhq.jetty9.server.HttpChannel.handle(HttpChannel.java:310) 在 org.seleniumhq.jetty9.server.HttpConnection.onFillable(HttpConnection.java:257) 在 org.seleniumhq.jetty9.io.AbstractConnection$2.run(AbstractConnection.java:540) 在 org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) 在 org.seleniumhq.jetty9.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) 在 java.lang.Thread.run(Thread.java:745) 引起: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException 构建信息:版本: '3.0.1',修订:'1969d75',时间:'2016-10-18 09:48:19 -0700'系统 信息:主机:'My-Mac-mini.local',ip:'172.20.4.68',os.name:'Mac OS X',os.arch:'x86_64',os.version:'10.12.1',java.version:'1.8.0_91' 驱动程序信息:driver.version:未知 org.openqa.selenium.remote.server.FirefoxDriverProvider.callConstructor(FirefoxDriverProvider.java:96) 在 org.openqa.selenium.remote.server.FirefoxDriverProvider.newInstance(FirefoxDriverProvider.java:64) 在 org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(DefaultDriverFactory.java:60) 在 org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:222) 在 org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:209) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:176) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ... 1 更多原因:java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在 org.openqa.selenium.remote.server.FirefoxDriverProvider.callConstructor(FirefoxDriverProvider.java:86) ... 9 更多原因:java.lang.IllegalStateException:路径 驱动程序可执行文件必须由 webdriver.gecko.driver 系统设置 财产;有关详细信息,请参阅 https://github.com/mozilla/geckodriver。最新版本可以 从https://github.com/mozilla/geckodriver/releases下载 com.google.common.base.Preconditions.checkState(Preconditions.java:199) 在 org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109) 在 org.openqa.selenium.firefox.GeckoDriverService.access$000(GeckoDriverService.java:37) 在 org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable(GeckoDriverService.java:95) 在 org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:296) 在 org.openqa.selenium.firefox.FirefoxDriver.createCommandExecutor(FirefoxDriver.java:277) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:247) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:242) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:135) ... 14 更多 17:29:38.875 警告 - 例外:驱动程序的路径 可执行文件必须由 webdriver.gecko.driver 系统属性设置; 有关详细信息,请参阅https://github.com/mozilla/geckodriver。这 最新版本可以从 https://github.com/mozilla/geckodriver/releases
有人可以帮我找出我可能做错了什么吗?
【问题讨论】:
-
您是否启动了 Selenium 服务器和正确的驱动程序来控制 Firefox?
-
@skAstro 是的,我做到了。我忘了包含日志,但现在用它们更新了我的问题。
标签: javascript automated-tests codeceptjs