Coded UI 能否断言迷失方向的文本?

Can Coded UI be able to assert the disoriented text?

假设我们编写了一个脚本来断言 HTML 控件的 "InnerText" 属性。 所以我们断言 "Login Now" 并且它通过了。

现在,假设在浏览器上显示为

"Login
Now"

CodedUI 仍然会通过它。

有什么方法可以检查吗?

如果原来的断言检查字符串是Login Now,但是网页已经改变,浏览器显示两行:

Login
Now

那么断言将失败,因为字符串是 Login\r\nNow。 (从这个问题来看,字符串可能也有一些 spaces,所以它可能是 Login \r\n Now。)

至少有两种处理方法。

首先你可以做两个断言。一个是内部文本 包含 Login,另一个是它包含 Now。但这会传递字符串 Now LoginYou must Login Now 并且这可能是错误的。

另一种方法是读取内部文本值,删除任何前导和训练 spaces,将任何中间白色 space 转换为单个 space,然后最后执行断言.如果原始断言类似于

Assert.Equals(innerText, "Login Now");

然后您可以将其替换为:

Assert.Equals(Regex.Replace(innerText.Trim(), "\s+", " "), "Login Now");