【发布时间】:2014-07-22 14:38:09
【问题描述】:
我们使用 Selenium 来实现网络测试。在一种情况下,我们的应用程序会出现浏览器提示。可以通过以下方式处理浏览器提示:
var alert = driver.SwitchTo().Alert();
alert.Accept(); // accept prompt
alert.Dismiss(); // dismiss prompt
alert.Text; // get text from prompt
alert.SendKeys("text"); // fill out the input element on the prompt
我们是否有机会读取输入元素中预先发布的文本?
【问题讨论】:
-
预发布文本是什么意思?如果您使用的是 Java,您可以使用 AlertElem.getText() 来获取文本。
-
.getText(或者在 C# 的情况下:.Text)返回“提示文本”,但是,一些提示上有一个额外的输入元素。我想读取那个输入元素的内容。
-
显示此类对话框的JavaScript
prompt()method 的代码如下所示:window.prompt("prompt text", "default value");。这将显示一个带有“提示文本”文本的提示值,以及用户应该在其中键入预先填充有“默认值”的值的输入框。Alert.getText()方法返回提示文本;目前无法获取默认值。 -
作为 Selenium 的核心贡献者:目前无法检索默认值是否有技术原因?这是计划中的功能吗?提交功能请求有意义吗?
-
问题跟踪器中的功能请求可能是这里的方法。没有任何技术原因,只是它在大部分情况下没有广泛使用。在您需要检查默认值的情况下,您始终可以简单地接受警报而不使用
sendKeys,并验证该值在正在自动化的应用程序中是否正确,并且该值是您期望的默认值。
标签: selenium selenium-webdriver