问题描述
我正在研究Laravel项目。我正在使用Docker / docker-compose作为开发环境。我正在使用Dusk为我的代码编写浏览器测试。但是当我运行测试时,它不起作用。
这是我的docker-compose.yaml
version: '3'
services:
apache:
container_name: res_apache
image: webdevops/apache:ubuntu-16.04
environment:
WEB_DOCUMENT_ROOT: /var/www/public
WEB_ALIAS_DOMAIN: restaurant.localhost
WEB_PHP_SOCKET: PHP-fpm:9000
volumes: # Only shared dirs to apache (to be served)
- ./public:/var/www/public:cached
- ./storage:/var/www/storage:cached
networks:
- res-network
ports:
- "8081:80"
- "443:443"
PHP-fpm:
container_name: res_PHP
image: jguyomard/laravel-PHP:7.3
volumes:
- ./:/var/www/
- ./ci:/var/www/ci:cached
- ./vendor:/var/www/vendor:delegated
- ./storage:/var/www/storage:delegated
- ./node_modules:/var/www/node_modules:cached
- ~/.ssh:/root/.ssh:cached
- ./composer.json:/var/www/composer.json
- ./composer.lock:/var/www/composer.lock
- ~/.composer/cache:/root/.composer/cache:delegated
networks:
- res-network
db:
container_name: res_db
image: mariadb:10.2
environment:
MysqL_ROOT_PASSWORD: root
MysqL_DATABASE: restaurant
MysqL_USER: restaurant
MysqL_PASSWORD: secret
volumes:
- res-data:/var/lib/MysqL
networks:
- res-network
ports:
- "33060:3306"
selenium:
image: selenium/standalone-chrome:3.13
container_name: res_selenium
volumes:
- /dev/shm:/dev/shm
networks:
- res-network
networks:
res-network:
driver: "bridge"
volumes:
res-data:
driver: "local"
这是我的DuskTestCase.PHP类。
abstract class DuskTestCase extends BaseTestCase
{
use CreatesApplication,RefreshDatabase;
/**
* Prepare for Dusk test execution.
*
* @beforeClass
* @return void
*/
public static function prepare()
{
static::startChromeDriver();
}
/**
* Create the RemoteWebDriver instance.
*
* @return \Facebook\WebDriver\Remote\RemoteWebDriver
*/
protected function driver()
{
$options = (new ChromeOptions)->addArguments([
'--disable-gpu','--headless','--no-sandBox','--ignore-certificate-errors',]);
return RemoteWebDriver::create(
'http://localhost:9515',DesiredCapabilities::chrome()->setCapability(
ChromeOptions::CAPABILITY,$options
)->setCapability(WebDriverCapabilityType::ACCEPT_SSL_CERTS,true)
->setCapability('acceptInsecureCerts',true)
);
}
}
我使用以下命令运行测试。
docker-compose exec PHP-fpm PHP artisan dusk
然后我遇到以下错误。
Facebook\WebDriver\Exception\WebDriverCurlException: Curl error thrown for http POST to /session with params: {"capabilities":{"firstMatch":[{"browserName":"chrome","goog:chromeOptions":{"args":["--disable-gpu","--headless","--no-sa
ndBox","--ignore-certificate-errors"]},"acceptInsecureCerts":true}]},"desiredCapabilities":{"browserName":"chrome","platform":"ANY","chromeOptions":{"args":["--disable-gpu","--no-sandBox","acceptSslCerts":true,"acceptInsecureCerts":true}}
Failed to connect to localhost port 9515: Connection refused
我的配置中缺少什么,我该如何解决?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)