Расшифровать Laravel 5.5 [дублировать]

Ошибка говорит все:

System.InvalidOperationException : unknown error: call function result missing 'value'
  (Session info: chrome=65.0.3325.146)
  (Driver info: chromedriver=2.33.506120

Ошибка явно жалуется на InvalidOperationException

. Основная проблема - совместимость версий между используемыми вами двоичными файлами следующим образом:

  • Вы используете chromedriver = 2.33
  • Примечания к выпуску chromedriver = 2.33 ясно упоминают следующее:

Поддерживает Chrome v60-62

  • Вы используете chrome = 65.0
  • Release Заметки ChromeDriver v2.37 ясно упоминают следующее:

Поддерживает Chrome v64-66

  • Ваша версия Selenium Client нам неизвестна.

Таким образом, существует явное несоответствие между версией ChromeDriver ( v2 .33 ) и версия браузера Chrome ( v65.0 )

Решение

  • Обновление Селен до уровней тока Версия 3.11.0 .
  • Upgr ade ChromeDriver до Уровень ChromeDriver v2.37 .
  • Храните версию Chrome между Chrome v64.x- 66.x . ( в соответствии с примечаниями к выпуску ChromeDriver v2.37 )
  • Очистите ваше рабочее пространство Project через вашу IDE g20] и Восстановите ваш проект только с необходимыми зависимостями.
  • Используйте инструмент CCleaner , чтобы стереть все операции с ОС до и после выполнения вашего test Suite .
  • Если ваша версия Web Browser / Web Client слишком стар, то удалите ее с помощью Revo Uninstaller и установите последнюю версию GA и версию Web Browser / Web Client .
  • Выполните свой @Test.

17
задан abu abu 27 June 2015 в 10:53
поделиться

3 ответа

Просто откройте и закройте теги php: <?php $style = '...'; ?>

10
ответ дан Armen Markossyan 26 August 2018 в 23:06
поделиться

Рецепты Laravel предлагают простой, но эффективный способ сделать это, не включая теги php

{{--*/ $var = 'test' /*--}}

{{- -}} работает как комментарий к лезвию / и / возвращает эффект комментария в результате

<?php $var = 'test' ?>

Проблема в том, что она длиннее, чем теги php: - (

3
ответ дан Gonzalo Cao 26 August 2018 в 23:06
поделиться

Следующий новый NewBladeCompiler будет использовать @{ }} для принятия всех php-кодов, таких как назначение переменной, объявление класса и т. д., например. @{ $variable = 0; }} будет скомпилирован в <?php $variable=0; ?>

    <?php

use Illuminate\View\Compilers\BladeCompiler;

class NewBladeCompiler extends BladeCompiler
{

    /**
     * Get the echo methods in the proper order for compilation.
     *
     * @return array
     */
    function getEchoMethods()
    {
        $methods = [
            'compileRawEchos'     => strlen(stripcslashes($this->rawTags[0])),
            'compileEscapedEchos' => strlen(stripcslashes($this->escapedTags[0])),
            'compileRegularEchos' => strlen(stripcslashes($this->contentTags[0])),
            'compilePhpEchos'     => strlen(stripcslashes("@{"))
        ];

        uksort($methods, function ($method1, $method2) use ($methods) {
            // Ensure the longest tags are processed first
            if( $methods[$method1] > $methods[$method2] )
            {
                return -1;
            }
            if( $methods[$method1] < $methods[$method2] )
            {
                return 1;
            }
            // Otherwise give preference to raw tags (assuming they've overridden)
            if( $method1 === 'compilePhpEchos' )
            {
                return -1;
            }
            if( $method2 === 'compilePhpEchos' )
            {
                return 1;
            }
            if( $method1 === 'compileRawEchos' )
            {
                return -1;
            }
            if( $method2 === 'compileRawEchos' )
            {
                return 1;
            }
            if( $method1 === 'compileEscapedEchos' )
            {
                return -1;
            }
            if( $method2 === 'compileEscapedEchos' )
            {
                return 1;
            }
        });

        return $methods;
    }

    function compilePhpEchos( $value )
    {
        $pattern  = sprintf('/(@)?%s\s*(.+?)\s*%s(\r?\n)?/s', "@{", "}}");
        $callback = function ($matches) {
            $whitespace = empty($matches[3]) ? '' : $matches[3] . $matches[3];
            return $matches[1] ? substr($matches[0], 1) : '<?php ' . $matches[2] . ' ?>' . $whitespace;
        };
        return preg_replace_callback($pattern, $callback, $value);
    }

}

?>
1
ответ дан Rohan Khude 26 August 2018 в 23:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: