2017-02-02 22 views
1

Я недавно встретил CodeceptJS, и я подумал о том, чтобы попробовать. Я следовал учебник по CodeceptJS's QuickStart page, но теперь я столкнулся два вопроса:Почему не выполняется CodeceptJS в моем тесте? И почему я не вижу, что тест выполняется?

  1. Испытание кажется выполнить только первый шаг
  2. Я не вижу выполнение теста

Ниже, когда я бегу codeceptjs init:

enter image description here

следующая, когда я бегу codeceptjs run --steps:

enter image description here

Ниже мой тест (Test101_test.js):

Feature('Google search'); 
 

 
Scenario('test something', (I) => { 
 
    I.amOnPage('/'); 
 
    I.fillField('q', 'Codeception'); 
 
    I.see('YAY'); 
 
});

Вход с селеном сервера:

17:29: 38.490 INFO - Исполнение: [новая сессия: возможности [{вращающийся = верно, locationContextEnabled = верно, [email protected]c325, browserName = светлячок, javascriptEnabled = TRUE, handlesAlerts = верно, requestOrigins = {имя = webdriverio, версия = 4.6 0,2, URL = http://webdriver.io}}]]) 17: 29: 38,496 INFO - Создание нового сеанса для возможностей [{вращающийся = верно, locationContextEnabled = верно, loggingPrefs = org.openqa.selenium.logging.LoggingPreferences @ 35f1c325, browserName = светлячок, javascriptEnabled = верно, handlesAlerts = верно, requestOrigins = {имя = webdriverio, версия = 4.6.2, URL = http://webdriver.io}}] 17: 29: 38,871 WARN - Исключение брошено java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException Информация о сборке: версия: '3.0.1', редакция: '1969d75', время: '2016-10 -18 09:48:19 -0700 'System информация: 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.version: неизвестно java.util.concurrent.FutureTask.report (FutureTask.java:122) at java.util.concurrent.FutureTask.get (FutureTask.java:192) при org.openqa.selenium.remote.server.DefaultSession.execute (DefaultSession.java:183) на org.openqa.selenium.remote. server.Defau ltSession. (DefaultSession.java:119) на org.openqa.selenium.remote.server.DefaultSession.createSession (DefaultSession.java:95) на 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) на 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) at 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) at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle (HandlerWrapper.java:97) at org.seleniumhq.jetty9.server.Server.handle (Server.java: 499) по адресу: org.seleni umhq.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 'System информация: 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 информация: 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) at 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 на sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method) в 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 more Причиняется: 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) at 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 WARN - Исключение: путь к драйверу исполняемый файл должен быть установлен с помощью свойства webdriver.gecko.driver; для получения дополнительной информации, см. https://github.com/mozilla/geckodriver. последняя версия может быть загружена с https://github.com/mozilla/geckodriver/releases

Может кто-то помочь мне найти то, что я могу делать неправильно?

+0

Вы начали сервер Selenium и правильный драйвер для управления Firefox? – skAstro

+0

@skAstro Да, я сделал. Я забыл включить журналы для этого, но обновил свой вопрос с ними сейчас. –

ответ

2

Я только что столкнулся с ТОЧНОЙ ЖЕСТОЙ проблемой, мне пришлось ввести «Selenium-standalone install», а затем «selenium-standalone start» в моей командной строке. Затем я открыл другую командную строку и набрал «codeceptjs run --steps», и на этот раз тесты все работали правильно, а не просто запускали первый, как это случилось с вами. Надеюсь, это поможет, я нашел эту проблему очень расстраивающей!

+0

Спасибо !!! Я использовал автономный баннер сервера selenium для запуска сервера selenium. Я получил сервер через NPM после просмотра вашего комментария, и теперь он работает. Мне любопытно, что, если бы я (гипотетически говоря) ограничился только банкой? Есть ли способ заставить его работать? –

+0

Рад, что я смог помочь! Я очень испортился с помощью тестового бегуна WebDriverIo, чтобы справиться с раздуванием Selenium для меня и полностью забыл, что мне пришлось запускать его вручную, чтобы взять код для запуска. Что касается вашего последующего вопроса, я не уверен. Мне еще предстоит много узнать о том, как файлы jar и связанные с Java вещи в целом работают. –

+0

Может, это поможет? [link] (https://www.npmjs.com/package/selenium-standalone-wrapper) –