编程语言
首页 > 编程语言> > php-在代码接收cept中设置用户代理

php-在代码接收cept中设置用户代理

作者:互联网

我在搜索bot爬网程序的项目中有一些功能/限制,我想使用代码接收对其进行测试,但发现有一个使用setHeader方法设置标头的选项.就我而言,它不起作用.我收到[RuntimeException]调用未定义的方法FunctionalTester :: setHeader错误.

代码如下:

<?php
/** @var \Codeception\Scenario $scenario */
$I = new FunctionalTester($scenario);

$I->setHeader('User-Agent', 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)');

FileDetailPage::of($I)->amOnFileDetail(96972088, 'raped.zip');

根据Authorization header not making it through in Codeception API testing,我想知道是否必须为每个请求设置用户代理标头.是否没有方法或配置选项来永久更改User-Agent?

解决方法:

您可能会将功能测试与验收测试混淆.仅验收测试使用PhpBrowser.功能测试无需发出HTTP请求即可直接运行PHP代码.

但是要尝试回答全局设置标题的问题…

根据我对doc page here的了解,我认为您应该能够在配置文件中设置用户代理,如下所示:

class_name: AcceptanceTester
modules:
    enabled:
        - PhpBrowser:
            url: http://ames.dev/
            headers:
                User-Agent: Codeception Custom User Agent
        - \Helper\Acceptance

但是我还没有完全工作.如果您要更正我的帖子,请提供帮助.

标签:codeception,testing,php
来源: https://codeday.me/bug/20191027/1943262.html