【问题标题】:Codeception. Webdriver doesn't see localhost密码接收。 Webdriver 看不到本地主机
【发布时间】:2020-03-19 12:13:49
【问题描述】:

你能帮帮我吗? 我将 Codeception 与 Webdriver 一起用于我的项目

Codeception PHP 测试框架 v4.1.3 由 Sebastian Bergmann 和贡献者提供的 PHPUnit 9.0.1 提供支持。

acceptance.suite.yaml:

actor: AcceptanceTester
modules:
    enabled:
        - WebDriver:
              url: 'https://localhost:8888'
              browser: chrome
              clear_cookies: true
              port: 4444
              capabilities:
                  browser: chrome
                  goog:chromeOptions:
                      w3c: false

码头工人:

docker run -p 4444:4444 -v /dev/shm:/dev/shm --rm selenium/standalone-chrome

我可以在浏览器中看到我的本地主机。如果我改为使用 localhost:8888 可以使用外部站点。但是通过测试我有“无法访问此站点。本地主机拒绝连接”。
测试很简单:

<?php

class FirstCest
{
    public function tryToTest(AcceptanceTester $I)
    {
        $I->amOnPage('/');
        $I->wait(5);        
        $I->makeScreenshot();
        I->see('Home');
    }
}

提前致谢

【问题讨论】:

  • 对我来说似乎是 docker 问题。

标签: docker webdriver localhost codeception


【解决方案1】:

您需要对您的acceptance.suite.yml 进行 URL 主机和端口调整,因为您使用的是 dockerized Selenium 容器来查看您的本地网站:

actor: AcceptanceTester
modules:
    enabled:
        - WebDriver:
              url: 'https://host.docker.internal:8888'

注意:如果您在 Linux 上使用 Docker,则您的 URL 应改为:'https://172.17.0.1:8888'

然后,您需要在您的 dockerized Selenium 容器中打开该端口:

docker run \
-p 4444:4444 \
-p 8888:8888 \ # I'm new!
-v /dev/shm:/dev/shm \
--rm selenium/standalone-chrome

【讨论】:

    猜你喜欢
    • 2015-04-20
    • 2018-08-17
    • 2011-05-18
    • 2017-12-11
    • 2016-06-20
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多