我正在为自动化测试人员开发一个库。我已经写了一个发送密钥的方法,在发送密钥后,我想验证天气文本内容是否设置正确。
public void SetValue(IWebelement element, string value)
{
element.SendKeys(value);
if(element.Text!=value)
throw new Exception("Failed to set value.");
}
在上面的片段中,我总是异常。是否有任何解决方案,无需在DOM中再次搜索元素即可进行同步。
答案 0 :(得分:1)
SendKeys
并未更改DOM,因此WebElement没有使用Text
属性获取的文本。但是你可以使用
element.GetAttribute("value")
答案 1 :(得分:0)
您需要再次获取元素以检查是否添加了文本。 Web浏览器和驱动程序对象可能不同步。因此,再次创建相同元素的对象并检查文本。
public void CallingFunction(){
IWebElement el1= driver.FindElement(.....)// find control
SetValue(el1, value);
el1= driver.FindElement(.....)// find control again
CheckValue(el1, value)
}
public void SetValue(IWebelement element, string value)
{
element.SendKeys(value);
}
public void SetValue(IWebelement element, string value)
{
if(element.Text!=value)
throw new Exception("Failed to set value.");
}