1

を使用してアプリにログインしようとしていますWebGuy。次の内容のCeptファイルを作成しました。MergeCompaniesCept.php

$I = new WebGuy($scenario);
$I->wantTo('login into admin, merge companies, & verify data');
$I->amOnPage('/login.php');
$I->fillField("username","name");
$I->fillField("password","xxxxxxxxxxxxxxxxx");
$I->click("LOGIN");

しかし、次のエラーが表示されます。

[Codeception\Exception\ModuleConfig]                                                     
Codeception\Util\Mink module is not configured!                                          
Provided URL can't be accessed by this driver.

[curl] 77: [url] https://localhost/
[info]

array(                                                                              
    'url' => 'https://localhost/',                                                         
    'content_type' => NULL,                                                                
    'http_code' => 0,                                                                      
    'header_size' => 0,                                                                    
    'request_size' => 0,                                                                   
    'filetime' => -1,                                                                      
    'ssl_verify_result' => 0,                                                              
    'redirect_count' => 0,                                                                 
    'total_time' => 0.002284,                                                              
    'namelookup_time' => 0.00214,                                                          
    'connect_time' => 0.002295,                                                            
    'pretransfer_time' => 0,                                                               
    'size_upload' => 0,                                                                    
    'size_download' => 0,                                                                  
    'speed_download' => 0,                                                                 
    'speed_upload' => 0,                                                                   
    'download_content_length' => -1,                                                       
    'upload_content_length' => -1,                                                         
    'starttransfer_time' => 0,                                                             
    'redirect_time' => 0,                                                                  
    'certinfo' =>                                                                             
),
array (                                                                              
    'primary_ip' => '127.0.0.1',                                                           
    'primary_port' => 443,                                                                 
    'local_ip' => '127.0.0.1',                                                             
    'local_port' => 41951,                                                                 
    'redirect_url' => '',                                                                  
)
[debug]                                                                                



 run [-c|--config[="..."]] [--report] [--html] [--xml] [--tap] [--json] [--colors]     [--silent] [--steps] [--debug] [-cc|--coverage] [--no-exit] [suite] [test]

問題は自己署名証明書と -k なしでの curl の使用に関連していると考えたので、WebHelper に次の変更を加えました。

<?php
namespace Codeception\Module;

class WebHelper extends \Codeception\Module\PhpBrowser {
    public function _initialize() {
        $client = new \Behat\Mink\Driver\Goutte\Client();
        $driver = new \Behat\Mink\Driver\GoutteDriver($client);
        $client->setClient(new \Guzzle\Http\Client('', array(
            'curl.CURLOPT_SSL_VERIFYPEER' => false,
            'curl.CURLOPT_CERTINFO'       => false
        ))); 
        $this->session = new \Behat\Mink\Session($driver);
        parent::_initialize();
    }
}

ただし、同じエラーが引き続き発生します。

ここで何か助けていただければ幸いです!

アップデート

次の変更により、最終的に問題が修正されました。

<?php
namespace Codeception\Module;

class WebHelper extends \Codeception\Module\PhpBrowser {
    public function _initialize() {
        $client = new \Behat\Mink\Driver\Goutte\Client();
        $driver = new \Behat\Mink\Driver\GoutteDriver($client);
        $client->setClient(new \Guzzle\Http\Client('', array(
        //'curl.CURLOPT_SSL_VERIFYPEER' => false,
        //'curl.CURLOPT_CERTINFO'       => false
        'ssl.certificate_authority' => false
        ))); 
        $this->session = new \Behat\Mink\Session($driver);
        //parent::_initialize();
    }
}
4

2 に答える 2

-1

ssl.certificate_authority次のオプションを使用します。

$client = new Client($baseUrl, [
    'ssl.certificate_authority' => false,
]);
于 2013-03-18T21:08:43.610 に答える