php – 如何从codeception和phantomjs测试中获取当前url?

我正在使用我的测试在estore中创建产品,并且需要在提交表单后获取URL.

提交按钮后是否可以在测试范围内获取URL?

$I->click('#formSubmit');
$I->wait(5); // wait for redirect to new url
$url = $I->someFunctionTogetcurrenturl()`

我从控制台运行此测试,而不是从Web浏览器运行,因此我无法访问服务器端的$_​​SERVER.

但是,如果我在代码框架中有一些像$I-> canSeeCurrentUrlEquals()这样的方法,那么我应该能以某种方式访问​​当前的URL …

怎么做?

解决方案是在_support / AcceptanceHelper.PHP文件中为AcceptanceHelper添加一个帮助方法
class AcceptanceHelper extends \Codeception\Module
    {

        /**
         * Get current url from WebDriver
         * @return mixed
         * @throws \Codeception\Exception\ModuleException
         */
        public function getcurrenturl()
        {
            return $this->getModule('WebDriver')->_getCurrentUri();
        }

    }

然后在测试中使用它:

$url = $I->getcurrenturl();

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...