在FeatureContext文件中访问PHP $ _SESSION

时间:2019-07-05 07:05:03

标签: php laravel selenium-webdriver behat mink

我有一个PHP文件,该文件可生成动态付款URL并将其保存在$_SESSION['userDetails']中。现在,我想在read/access下的$_SESSION['userDetails']文件中FeatureContext.php那个Behat值。谁能指导我如何进行操作?

我尝试了以下代码,但是它为$cururl提供了Null,为$session提供了一些数组...

use Behat\Mink\Driver\Selenium2Driver;
use Behat\Mink\Session;

class FeatureContext extends Context implements BehatContext, SnippetAcceptingContext
{
    protected $session;

    public function __construct()
    {
        if (defined('APP_MODE') && APP_MODE === 'DEV') {
            $baseUrl = 'http://localhost';
        } else {
            $baseUrl = 'http://MAINSITEurl';
        }

        parent::__construct($baseUrl);

        // ensure request factory is available
        $this->jsonUtility = JsonUtility::getInstance();
        $this->requestFactory = RequestFactory::getInstance();
        $this->arrayUtility = ArrayUtility::getInstance();
    }

    public function iAmRedirectedToPaymentPage()
    {
        $driver = new \Behat\Mink\Driver\Selenium2Driver('firefox');

        $session = new \Behat\Mink\Session($driver);

        // start the session
        $session->start();
        $cururl = $session->getCurrentUrl();
        var_dump($cururl);
        var_dump($session);
        die();
    }
}

将其作为var_dump($session)

的输出
class Behat\Mink\Session#946 (3) {
  private $driver =>
  class Behat\Mink\Driver\Selenium2Driver#967 (8) {
    private $started =>
    bool(true)
    private $webDriver =>
    class WebDriver\WebDriver#944 (1) {
      protected $url =>
      string(28) "http://localhost:4444/wd/hub"
    }
    private $browserName =>
    string(7) "firefox"
    private $desiredCapabilities =>
    array(9) {
      'browserName' =>
      string(7) "firefox"
      'version' =>
      string(1) "9"

如何在$_SESSION['userDetails']中获得Behat的值?

0 个答案:

没有答案