当我们导航到网站并请求身份验证时弹出窗口。像this这样的东西。请告诉我如何使用用户名和密码处理警报,弹出,因为弹出窗口无法与firebug等区分开来
我已经尝试了“输入文字进入提示”#input text into prompt https://username:password@url.com
,但我收到错误There is no alert present
。但是,当我使用函数Alert should be present
时,它会被传递
我正在使用机器人框架和Selenium2Library。
答案 0 :(得分:0)
您遇到的内容称为BASIC Web服务器身份验证。在搜索SO时,随着时间的推移有许多类似的问题。这个particular one很好,因为它有几种可以尝试的解决方案。
由于弹出窗口在技术上不是页面DOM的一部分,因此无法使用xpath解决此问题。大致有两种方法:
在这种情况下,你已经准备好了第二个。通过在URL中包含用户名和密码,可以防止弹出窗口。以下Robot Script使用该示例访问使用this tutorial通过基本身份验证保护的本地页面。
*** Settings ***
Library Selenium2Library
*** Test Cases ***
Test Chrome
Create Webdriver Chrome
Go To http://admin:admin@localhost:8090/basic-auth/
Capture Page Screenshot
[Teardown] Close All Browsers
由于阻止了弹出窗口,因此无需单独输入用户名和密码。