我想像在其中写入“用户名和密码”一样处理警报,然后单击“确定”

I want to handle alert as in write `Username and Password` in it and then click OK

当我们导航到网站并要求 authentication.Something 时出现弹出窗口,例如 this。请让我知道如何处理带有用户名和通行证的警报,因为无法将此弹出窗口与 firebug 等

区分开来

我已经尝试了 "INPUT TEXT into prompt" #input text into prompt https://username:password@url.com 但我收到错误 There is no alert present。然而,当我使用函数 Alert should be present 时,它被传递

我正在使用机器人框架和 Selenium2Library。

您 运行 所使用的称为 BASIC Web 服务器身份验证。在 SO 上搜索时,随着时间的推移,会出现许多类似的问题。这个 particular one 很好,因为它有几种可以尝试的解决方法。

由于弹出窗口在技术上不是页面 DOM 的一部分,因此无法使用 xpath 解决此问题。大致有两种做法:

  1. 使用类似 SendKeys 的击键模拟器填写文本框。
  2. 防止弹出窗口出现。

在这种情况下,您已经在前往第二个的路上了。通过在 url 中包含用户名和密码,可以防止弹出窗口。以下机器人脚本使用该示例访问本地页面,该页面通过使用 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

由于弹窗已被阻止,因此无需单独输入用户名和密码。