Skip to main content
 首页 » 编程设计

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

2024年02月25日36thcjp

我正在将 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"));