如何处理Behat Mink HTTP基本身份验证

时间:2013-06-28 12:18:59

标签: selenium selenium-webdriver behat mink

我在Firefox中工作,通过Behat Mink框架与Selenium 2驱动程序的桥梁。当我运行测试时,我得到一个HTTP代理身份验证弹出窗口。我的 behat.yaml 文件具有基本的身份验证用户名和密码,但它们不起作用。你能给我一个想法来处理这个弹出认证吗?

enter image description here

我也尝试过使用setBasicAuth()函数,但它对我不起作用:

$this->getSession()->getDriver()->setBasicAuth('dharmalingam' ,'Welcome123');

我的behat.yml包含:

extensions:
      Behat\MinkExtension\Extension:
        default_session: selenium2
        javascript_session: selenium2
        goutte:              ~
        selenium2:
          browser: 'firefox'
          wd_host: http://dharmainin:6eb372e8-708f-4e07-a33f-b712aab3cd77@ondemand.saucelabs.com:80/wd/hub
          capabilities:
              version: ~
              platform: 'Windows 2008'
      features/extensions/SauceIntegration.php:
        param1: value1
    context:
        parameters:
          base_url: "http://example.com/"
          basic_auth:
            username: 'dharmalingam'
            password: 'Welcome123'

2 个答案:

答案 0 :(得分:8)

是否提示您输入HTTP代理或网站本身的身份验证详细信息?如果网站本身,您应该能够使用username:password@domain标准将用户名和密码嵌入到URL本身中。以下内容适用于您的behat.yml文件:

base_url: http://dharmalingam:Welcome123@xxxx.com/

(与上面代码段中的saucelabs网址中嵌入的身份验证详细信息类似。)

答案 1 :(得分:2)

您可以通过Sikuli,Selenium集成处理身份验证部分。这是documentation