c# - 使用 Selenium webdriver C# 为只读字段断言值

标签 c# selenium selenium-webdriver nunit assert

我正在将 Selenium webdriver 与 NUnit 框架一起使用,但我无法在 html 表单上断言只读文本字段。 Selenium 能够通过“Id”找到元素,但无法读取元素中的文本并返回空字符串,我的断言失败了。

下面是应用程序的代码块 -

<td nowrap="" colspan="2">
<input readonly="" tabindex="-1" class="readonly" type="text" 
onfocus="gcurrObj=this;JS_FieldFocus(this, 'frmDetails')" 
onchange="JS_FieldChange(this, 'frmDetails')" id="txtAccountName" 
name="undefined" value="James Bond" size="60" 
style=""></td>

我正在使用以下代码读取,但 selenium 返回的是一个空字符串

var AccName = driver.FindElement(By.Id("txtAccountName"));
Assert.That(AccName.Text.Contains("James"));

感谢任何帮助..!!

最佳答案

文本字段中的文本不是 WebElement 的一部分,您无法通过 Text 属性获取它。要获得它,您需要使用 value 属性

Assert.That(AccName.GetAttribute("value").Contains("James"));

关于c# - 使用 Selenium webdriver C# 为只读字段断言值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48375487/

相关文章:

java - 下载 JAR 文件时如何禁用 "This file can harm your computer"chrome 浏览器消息?

python - 如何使用 selenium 在 id 中找到包含某些字符串的元素?

php - 是否可以在每次 PHPUnit 测试失败后运行一个函数?

c# - 如何将 en-US 日期更改为 en-GB for asp.net?

c# - 从第二个列表初始化一个列表

java - selenium webdriver 的意外行为

java - 运行 UI selenium 功能测试后的应用程序代码覆盖率

c# - 除非明确定义,否则System.Action在单元测试中不知道

c# - 添加到 "open recent files"

java - 有没有办法让 gecko.driver 可供共享代码中的每个人使用?