Selenium java. Comparing two given strings with returning exact place where the error is happened

Не могу додумать, как написать тест, чтобы выводило не просто "true/false", а чтоб показывало конкретное несоответсвие в тексте. Соответсвенно, просто equals не работает.


Ответы (1 шт):

Автор решения: Евгений Быков

Идёшь в цикле, берёшь символ из первого текста и из второго. Если совпадают - идёшь дальше, если отличаются - помечаешь(например, сохраняя в список позицию отличия). Если одна строка закончилась раньше другой - помечай всю оставшуюся строку.

Если текст большой, и нужна оптимизация - храни не конкретные позиции отличающихся символов, а диапазон. Например:

1.) "Шла Саша по шоссе и сосала сушку"

2.) "Шла Саша по мосту и сосала сушку"

В неоптимизированном варианте у тебя в списке окажется: [12, 13, 14, 15, 16]

В оптимизированном: ["12-16"].

Как хранить диапазон, оставлю на твои раздумья. Можно в виде массива строк с отделением через '-', можно с помощью объекта с двумя полями, можно...

→ Ссылка