WebDriver:当前网址为空,未打开任何页面

问题描述 投票:0回答:2

我们正在尝试添加测试作为我们实时站点上更新部署的一部分。上次我们进行测试时,测试运行得很好,那是在一周前,但现在所有测试都抛出了这个错误。我们试图找出答案,但没有发现任何有价值的东西。

更新 1: 我们发现由于软件包更新而导致功能中断。这是更新包的列表;

barryvdh/laravel-debugbar             2.0.6 -> 2.1.1
barryvdh/laravel-ide-helper           2.1.0 -> 2.1.2
codeception/codeception               2.1.4 -> 2.1.5
doctrine/cache                        1.5.2 -> 1.6.0
laravel/framework                     5.1.26 -> 5.1.28
league/flysystem                      1.0.15 -> 1.0.16
maximebf/debugbar                     1.10.5 -> 1.11.0
phpspec/phpspec                       2.4.0 -> 2.4.1
phpunit/phpunit                       4.8.20 -> 4.8.21
symfony/browser-kit                   2.8.0 -> 2.8.1
symfony/class-loader                  2.8.0 -> 2.8.1
symfony/console                       2.7.7 -> 2.7.8 
symfony/css-selector                  2.7.7 -> 2.7.8 
symfony/debug                         2.7.7 -> 2.7.8 
symfony/dom-crawler                   2.7.7 -> 2.7.8 
symfony/event-dispatcher              2.8.0 -> 2.8.1
symfony/finder                        2.7.7 -> 2.7.8 
symfony/http-foundation               2.7.7 -> 2.7.8 
symfony/http-kernel                   2.7.7 -> 2.7.8 
symfony/polyfill-php56                1.0.0 -> 1.0.1
symfony/polyfill-util                 1.0.0 -> 1.0.1
symfony/process                       2.7.7 -> 2.7.8 
symfony/routing                       2.7.7 -> 2.7.8 
symfony/translation                   2.7.7 -> 2.7.8 
symfony/var-dumper                    2.7.7 -> 2.7.8 
symfony/yaml                          2.8.0 -> 3.0.1

更新2:我们已尝试降级laravel和codeception但无济于事。奇怪的是,更新过一次的机器即使降级到codeception 2.1.0,也总是会抛出该错误。而通过所有测试的机器是 codeception 2.1.4 和 webdriver 1.1.0。

更新3:安装selenium只是为了检查并且它可以工作,所以可能是它的phantomJS/ghost驱动程序存在冲突。

示例测试

public function test(AcceptanceTester $I) 
{
    $I->amOnUrl('http://swaggable.com');
    $I->canSeeCurrentUrlEquals('/');
}

示例输出

Failed to check correct credentials in _001PlatformSignupCest::checkCorrectCredentials (tests\acceptance\_001PlatformSIgnupCest.php)


  [ModuleException] WebDriver: Current url is blank, no page was opened


Scenario Steps:

 3. $I->canSeeCurrentUrlEquals("/signup")
 2. $I->amOnUrl("http://platform.work.com/signup")
 1. $I->resizeWindow(1280,720)

验收配置:

modules:
    enabled:
        - Asserts
        - WebDriver:
            url: http://platform.work.com
            browser: firefox
            http_proxy: direct
        - \Helper\Acceptance

设置:

  • Laravel 5.1.28
  • 代码接收2.1.5
  • PhantomJS 2.0.0

作曲家

"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.1.*",
    "barryvdh/laravel-ide-helper": "^2.0",
    "sboo/multiauth": "4.0.*",
    "dingo/api": "0.10.*",
    "doctrine/dbal": "2.3.*",
    "rtconner/laravel-kint": "~2.0",
    "factual/factual-php-driver": "dev-master",
    "weblee/mandrill": "dev-master",
    "barryvdh/laravel-debugbar": "^2.0",
    "laravel/envoy": "~1.0",
    "jeremeamia/superclosure": "~2.0",
    "illuminate/html": "~5.0",
    "predis/predis": "^1.0",
    "guzzlehttp/guzzle": "~5.3|~6.0",
    "laravelcollective/html": "5.1.*",
    "exeu/apai-io": "dev-master",
    "codeception/codeception": "*"
},
"require-dev": {
    "mockery/mockery": "0.9.*",
    "phpunit/phpunit": "~4.0",
    "phpspec/phpspec": "~2.1",
    "fzaninotto/faker": "~1.0"
},
phantomjs laravel-5.1 codeception
2个回答
1
投票

您好,我也有同样的问题。

我已经将phantomjs降级到1.9.7版本

   ...
    "jonnyw/php-phantomjs": "3.*",
    "site5/phantoman": "^1.0"
  },
  "require-dev": {
    "phpunit/phpunit": "~4.0",
    "phpspec/phpspec": "~2.1"
  },
  "autoload": {
    "classmap": [
      "database"
    ],
    "psr-4": {
      "App\\": "app/"
    }
  },
  "autoload-dev": {
    "classmap": [
      "tests/TestCase.php"
    ]
  },
  "scripts": {
    "post-install-cmd": [
      "php artisan clear-compiled",
      "PhantomInstaller\\Installer::installPhantomJS",
      "php artisan optimize"
    ],
    "post-update-cmd": [
      "php artisan clear-compiled",
      "PhantomInstaller\\Installer::installPhantomJS",
      "php artisan optimize"
    ],
    "post-create-project-cmd": [
      "php -r \"copy('.env.example', '.env');\"",
      "php artisan key:generate"
    ]
  },
  "config": {
    "preferred-install": "dist",
    "bin-dir": "bin"
  }
}

现在可以使用,但我知道这是一个解决方法


0
投票

你打电话了吗

$I->amOnPage('\')

在您的第一次验收测试中?如果您确保 chromedriver 已正确安装并与您当前的 chrome 版本兼容,那么对我来说,只有在运行上述行后才能运行验收测试。否则它会加载一个带有 URL 的空白页面:

data;,

并在代码接收日志中报告:

[ModuleException] WebDriver: Current url is blank, no page was opened

© www.soinside.com 2019 - 2024. All rights reserved.