【发布时间】:2021-10-27 09:34:51
【问题描述】:
我在 selenium 自动化中执行字符串比较。 对于一个字段,我从 UI 获得这个值:
实际价值:机构投资者和顾问 - 加拿大
同样的值,我已经在我的测试中存储为字符串预期值。
预期价值:机构投资者和顾问 - 加拿大
当我执行时,对此进行测试 assertEqual 方法,这将失败并显示以下错误消息:
Actual Result : Institutional Investors & Consultants — Canada
Expected Result : Institutional Investors & Consultants — Canada
我尝试删除这些特殊字符:
replaceAll("â€", "-")
但失败并显示相同的消息。
尝试在字符串的构造函数中设置编码:
subject = new String(subject.getBytes("UTF-8"), "UTF-8");
这也没有用。
我也有 apache common lang3 和 jsoup。如果有人知道从那里解决这个问题的任何好方法,请告诉我,因为首先我想避免使用正则表达式并使用标准库。
代码:
if(loc contains ("Canada")) {
Assert.assertEquals("somelocator.getText().trim()", "ExpectedValue");
}
此外,只是简单的 println 打印为:
机构投资者和顾问 - 加拿大机构投资者和顾问 - 加拿大。
当我在不同的控制台打印它时,它打印得很好。
【问题讨论】:
-
也许this 会有所帮助
-
这个试过了,还是不行
-
也许您使用了不同的连字符? grammar.yourdictionary.com/punctuation/… 。好吧,这只是一个猜测
-
我复制粘贴了实际值,所以是一样的。
-
你能发布你的代码吗?