我有XML格式的测试数据,以及WebElement(Selenium)的Text或Value。
我比较两个值并且Assert失败。最初XML空白(由于格式化)是明显的问题,但删除它们后,我仍然得到以下结果。 我已经在Word中粘贴了错误日志,并且在间距字符方面没有任何视觉差异。
修改 进一步调查显示Assert在换行符上失败。 复制到Word时,此字符后面的空格在预期结果和实际结果之间是不同的。
编辑2: 十进制的十六进制代码是13对10,因此它们是不同的字符。 问题是如何将一个转换为另一个?
答案 0 :(得分:1)
我相信你应该指明正确的CultureInfo。例如:
Assert.AreEqual(s1, s2, false, new CultureInfo("de-DE"));
此外,您可以尝试规范化字符串行结尾: Normalize newlines in C#
答案 1 :(得分:0)
正在比较的字符串混合了换行符(十进制= 10,\n
)和回车符(十进制= 13,\r
)。
我认为最简单的解决方案是规范化字符串:
yourString.Replace("\r\n", "\n").Replace('\r', '\n');