gpt4 book ai didi

c# - Selenium-RC 无法处理确认框

转载 作者:行者123 更新时间:2023-11-30 16:33:28 24 4
gpt4 key购买 nike

我正在测试一个网络应用程序,我从列表中删除一个项目。单击删除后,应用程序会要求确认。 Selenium IDE 将其检测为确认框。当我通过 RC (C#) 运行代码时,它甚至捕捉到确认框,在该确认框上执行删除按钮的单击,但是,确认框在屏幕上永远不可见。此外,它仅单击删除按钮;该项目不会被删除。我手动尝试过,工作正常。

请帮忙,我是 Selenium 的新手,并试图在多个论坛上找到答案但没有成功。

代码如下:

string confirmation;
for (int second = 0;; second++) {
if (second >= 60) Assert.Fail("timeout");
try
{
confirmation=selenium.GetConfirmation();

if ((confirmation == " Delete confirmation message")) break;

}
catch (Exception e)
{
PrintLog("Error while waiting for confirmation. Error: "+e.Message);
}
Thread.Sleep(1000);
}

try
{
Assert.IsTrue(confirmation == "Delete confirmation message");
}
catch (AssertionException e)
{
PrintLog(e.Message);
}

selenium.FireEvent("//a[@id='btnOkConfirm']","click");

在最后一条语句之后,所选项目必须被删除并且页面应该刷新,但是没有任何反应。我只能看到“Javascript:;”写在firefox窗口的状态栏中。我想让 javascript hrefs 在 selenium-rc 中工作是有问题的。
谢谢,
瓦米普

最佳答案

有许多命令可以处理 JavaScript 确认。默认情况下,Selenium 将在确认时选择“确定”,除非您发送 chooseCancelOnNextConfirmation 命令。为了使用确认,您需要使用 getConfirmation 命令。

上述命令的 Selenium 引用:

此外,如果您的 click 命令没有显示 JavaScript 确认,您可能会发现相应的事件没有被触发。您可以尝试使用 mouseDownmouseUp 命令,或 fireEvent 命令。

关于c# - Selenium-RC 无法处理确认框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3183515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com