我正在使用Selenium webdriver和Java为网站(使用Node.JS和Angular)编写测试。该站点具有列表排序功能,其中项根据其名称以升/降序列出。此处的目的是验证排序功能是否正常工作。
当元素名称的第一个字母来自匈牙利的特殊字符(á,é,ő等)时,就会出现问题。当我使用网站对项目进行排序时,它们将被放置在它们各自的“正常”对应项之后,但是当我使用Collections.sort()手动对先前提取的原始无序元素进行排序时,Java会将这些元素移动到最后一个“正常”字母(z)。
这里是一个示例,假设我们的元素按以下顺序显示:
alma
körte
barack
árpa
kukorica
当我使用网站的订购方法时,结果如下:
alma
**árpa**
barack
körte
kukorica
但是,Java的Collection.sort()将产生以下有序列表:
alma
barack
körte
kukorica
**árpa**
从技术上讲,两个字母“ a”和“á”代表相同的字母,在我们的ABC中,它们彼此紧接。
我有根据的猜测是Java使用这些字符的ASCII码来确定元素的顺序,其中“á”的值比“ a”高。 由于某种原因,Node.JS似乎使用某种“自然ABC”而不是ASCII表。
我的问题是:有没有办法强制Collection.sort()使用与网站相同的排序方法?