为什么 CodeceptJS 不执行我测试中的步骤?为什么我看不到正在执行的测试?
Why isn't CodeceptJS executing the steps in my test? And why can I not see the test being executed?
我最近接触到 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 INFO - Executing: [new session: Capabilities
[{rotatable=true, locationContextEnabled=true,
loggingPrefs=org.openqa.selenium.logging.LoggingPreferences@35f1c325,
browserName=firefox, javascriptEnabled=true, handlesAlerts=true,
requestOrigins={name=webdriverio, version=4.6.2,
url=http://webdriver.io}}]]) 17:29:38.496 INFO - Creating a new
session for Capabilities [{rotatable=true,
locationContextEnabled=true,
loggingPrefs=org.openqa.selenium.logging.LoggingPreferences@35f1c325,
browserName=firefox, javascriptEnabled=true, handlesAlerts=true,
requestOrigins={name=webdriverio, version=4.6.2,
url=http://webdriver.io}}] 17:29:38.871 WARN - Exception thrown
java.util.concurrent.ExecutionException:
org.openqa.selenium.WebDriverException:
java.lang.reflect.InvocationTargetException Build info: version:
'3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700' System
info: host: '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 info: driver.version: unknown at
java.util.concurrent.FutureTask.report(FutureTask.java:122) at
java.util.concurrent.FutureTask.get(FutureTask.java:192) at
org.openqa.selenium.remote.server.DefaultSession.execute(DefaultSession.java:183)
at
org.openqa.selenium.remote.server.DefaultSession.(DefaultSession.java:119)
at
org.openqa.selenium.remote.server.DefaultSession.createSession(DefaultSession.java:95)
at
org.openqa.selenium.remote.server.DefaultDriverSessions.newSession(DefaultDriverSessions.java:131)
at
org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:59)
at
org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:36)
at
org.openqa.selenium.remote.server.rest.ResultConfig.handle(ResultConfig.java:111)
at
org.openqa.selenium.remote.server.JsonHttpCommandHandler.handleRequest(JsonHttpCommandHandler.java:189)
at
org.openqa.selenium.remote.server.DriverServlet.handleRequest(DriverServlet.java:222)
at
org.openqa.selenium.remote.server.DriverServlet.doPost(DriverServlet.java:184)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at
org.openqa.selenium.remote.server.DriverServlet.service(DriverServlet.java:150)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at
org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:808)
at
org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:587)
at
org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at
org.seleniumhq.jetty9.servlet.ServletHandler.doScope(ServletHandler.java:515)
at
org.seleniumhq.jetty9.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
at
org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.seleniumhq.jetty9.server.Server.handle(Server.java:499) at
org.seleniumhq.jetty9.server.HttpChannel.handle(HttpChannel.java:310)
at
org.seleniumhq.jetty9.server.HttpConnection.onFillable(HttpConnection.java:257)
at
org.seleniumhq.jetty9.io.AbstractConnection.run(AbstractConnection.java:540)
at
org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at
org.seleniumhq.jetty9.util.thread.QueuedThreadPool.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745) Caused by:
org.openqa.selenium.WebDriverException:
java.lang.reflect.InvocationTargetException Build info: version:
'3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700' System
info: host: '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 info: driver.version: unknown at
org.openqa.selenium.remote.server.FirefoxDriverProvider.callConstructor(FirefoxDriverProvider.java:96)
at
org.openqa.selenium.remote.server.FirefoxDriverProvider.newInstance(FirefoxDriverProvider.java:64)
at
org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(DefaultDriverFactory.java:60)
at
org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:222)
at
org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:209)
at java.util.concurrent.FutureTask.run(FutureTask.java:266) at
org.openqa.selenium.remote.server.DefaultSession.run(DefaultSession.java:176)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
... 1 more Caused by: java.lang.reflect.InvocationTargetException at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at
org.openqa.selenium.remote.server.FirefoxDriverProvider.callConstructor(FirefoxDriverProvider.java:86)
... 9 more Caused by: java.lang.IllegalStateException: The path to
the driver executable must be set by the webdriver.gecko.driver system
property; for more information, see
https://github.com/mozilla/geckodriver. The latest version can be
downloaded from https://github.com/mozilla/geckodriver/releases at
com.google.common.base.Preconditions.checkState(Preconditions.java:199)
at
org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109)
at
org.openqa.selenium.firefox.GeckoDriverService.access[=13=]0(GeckoDriverService.java:37)
at
org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable(GeckoDriverService.java:95)
at
org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:296)
at
org.openqa.selenium.firefox.FirefoxDriver.createCommandExecutor(FirefoxDriver.java:277)
at
org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:247)
at
org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:242)
at
org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:135)
... 14 more 17:29:38.875 WARN - Exception: The path to the driver
executable must be set by the webdriver.gecko.driver system property;
for more information, see https://github.com/mozilla/geckodriver. The
latest version can be downloaded from
https://github.com/mozilla/geckodriver/releases
有人可以帮我找出我可能做错了什么吗?
我刚刚遇到了完全相同的问题,我不得不在命令提示符中输入 "Selenium-standalone install",然后输入 "selenium-standalone start"。然后我打开另一个命令提示符并键入 "codeceptjs run --steps",这次测试所有 运行 正确,而不是像你发生的那样只 运行 第一个。我希望这有帮助,我发现这个问题非常令人沮丧!
我最近接触到 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 INFO - Executing: [new session: Capabilities [{rotatable=true, locationContextEnabled=true, loggingPrefs=org.openqa.selenium.logging.LoggingPreferences@35f1c325, browserName=firefox, javascriptEnabled=true, handlesAlerts=true, requestOrigins={name=webdriverio, version=4.6.2, url=http://webdriver.io}}]]) 17:29:38.496 INFO - Creating a new session for Capabilities [{rotatable=true, locationContextEnabled=true, loggingPrefs=org.openqa.selenium.logging.LoggingPreferences@35f1c325, browserName=firefox, javascriptEnabled=true, handlesAlerts=true, requestOrigins={name=webdriverio, version=4.6.2, url=http://webdriver.io}}] 17:29:38.871 WARN - Exception thrown java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700' System info: host: '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 info: driver.version: unknown at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.openqa.selenium.remote.server.DefaultSession.execute(DefaultSession.java:183) at org.openqa.selenium.remote.server.DefaultSession.(DefaultSession.java:119) at org.openqa.selenium.remote.server.DefaultSession.createSession(DefaultSession.java:95) at org.openqa.selenium.remote.server.DefaultDriverSessions.newSession(DefaultDriverSessions.java:131) at org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:59) at org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:36) at org.openqa.selenium.remote.server.rest.ResultConfig.handle(ResultConfig.java:111) at org.openqa.selenium.remote.server.JsonHttpCommandHandler.handleRequest(JsonHttpCommandHandler.java:189) at org.openqa.selenium.remote.server.DriverServlet.handleRequest(DriverServlet.java:222) at org.openqa.selenium.remote.server.DriverServlet.doPost(DriverServlet.java:184) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at org.openqa.selenium.remote.server.DriverServlet.service(DriverServlet.java:150) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:808) at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:587) at org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.seleniumhq.jetty9.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.seleniumhq.jetty9.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.seleniumhq.jetty9.server.Server.handle(Server.java:499) at org.seleniumhq.jetty9.server.HttpChannel.handle(HttpChannel.java:310) at org.seleniumhq.jetty9.server.HttpConnection.onFillable(HttpConnection.java:257) at org.seleniumhq.jetty9.io.AbstractConnection.run(AbstractConnection.java:540) at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745) Caused by: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700' System info: host: '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 info: driver.version: unknown at org.openqa.selenium.remote.server.FirefoxDriverProvider.callConstructor(FirefoxDriverProvider.java:96) at org.openqa.selenium.remote.server.FirefoxDriverProvider.newInstance(FirefoxDriverProvider.java:64) at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(DefaultDriverFactory.java:60) at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:222) at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:209) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.openqa.selenium.remote.server.DefaultSession.run(DefaultSession.java:176) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ... 1 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.openqa.selenium.remote.server.FirefoxDriverProvider.callConstructor(FirefoxDriverProvider.java:86) ... 9 more Caused by: java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases at com.google.common.base.Preconditions.checkState(Preconditions.java:199) at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109) at org.openqa.selenium.firefox.GeckoDriverService.access[=13=]0(GeckoDriverService.java:37) at org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable(GeckoDriverService.java:95) at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:296) at org.openqa.selenium.firefox.FirefoxDriver.createCommandExecutor(FirefoxDriver.java:277) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:247) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:242) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:135) ... 14 more 17:29:38.875 WARN - Exception: The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases
有人可以帮我找出我可能做错了什么吗?
我刚刚遇到了完全相同的问题,我不得不在命令提示符中输入 "Selenium-standalone install",然后输入 "selenium-standalone start"。然后我打开另一个命令提示符并键入 "codeceptjs run --steps",这次测试所有 运行 正确,而不是像你发生的那样只 运行 第一个。我希望这有帮助,我发现这个问题非常令人沮丧!