2013-06-28 41 views
2

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

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:[email protected]: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' 
+0

大家好我相信有这个场景没有原生支持 –

回答

7

是否提示您提供HTTP代理或网站本身的认证详细信息?如果网站本身,您应该能够使用username:[email protected]标准将用户名和密码嵌入到URL本身。以下应在behat.yml文件工作:

base_url: http://dharmalingam:[email protected]/ 

(以嵌入在上面的代码片段的saucelabs URL验证的细节类似。)

+0

是的,你说得对。它正在工作:)提示网站提供HTTP代理的身份验证详细信息。它通过在URL中添加用户名和密码进行工作 –

+0

如果您的页面打开需要基本身份验证的iframe,该怎么办?然后通过base_url设置auth不起作用。有没有其他的选择? – bWowk

2

您可以处理Sikuli认证部分,Selenium集成。这里是documentation

+0

谢谢。我会研究那 –