【问题标题】:Allow only Selenium access the page只允许 Selenium 访问页面
【发布时间】:2011-07-31 11:23:42
【问题描述】:

是否有任何可靠的方法只允许 Selenium 访问该站点?

当我使用 PHPUnit 的 SeleniumTestCase 中的 $this->open($url) 时,这会定期向服务器发出请求。如何强制此方法发送一些额外的标头?

【问题讨论】:

  • 如果您正在针对为 QA 唯一部署的应用程序实例运行 Selenium 测试,那么您应该不会真正遇到安全问题。您实际上需要如何阻止访问正在接受此类测试的站点?只是好奇。

标签: unit-testing testing selenium phpunit


【解决方案1】:

您可以将身份验证添加到该站点/子文件夹的 .htaccess 中,并在每次请求之前将简单的身份验证用户@密码添加到您的 url。

使用 .htaccess 和 .htpasswd 了解简单的身份验证:

http://www.htaccesstools.com/htaccess-authentication/

【讨论】:

  • 我怎样才能使用.htaccess 规则对一个URI(实际上由mod_rewrite 处理)而不是一个真实的现有文件进行密码保护?
【解决方案2】:

如果您想添加其他标头,请查看 selenium.addCustomRequestHeader([key],[value]);功能。

【讨论】:

  • 如何从 PHP 中做到这一点?看起来 PHPUnit 不支持这种方法。
  • 嗯,PHP-Unit 自 2005 年以来似乎没有更新,因此缺少相当多的新硒功能,我错误地认为它具有与 Java 绑定相同的功能。一个潜在的选择是覆盖调用 Open 的 PHP-Unit 函数并使用 PHP 标头函数 (php.net/manual/en/function.header.php) 注入一些标头,不过我需要对此进行更多调查。
【解决方案3】:

我只允许从 Selenium 机器的 IP 访问该站点,即通过 .htaccess 或 Web 服务器配置指令。

【讨论】:

    猜你喜欢
    • 2015-09-16
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 2016-12-01
    • 1970-01-01
    • 2014-08-11
    相关资源
    最近更新 更多