2017-01-17 10 views
0

Скажем, у нас есть скрипт, написанный для утверждения свойства «InnerText» элемента управления HTML. Итак, мы утверждаем, что «Войдите сейчас», и он проходит.Может ли кодированный пользовательский интерфейс распознавать дезориентированный текст?

Теперь, скажем, в браузере отображается его как

"Вход
Теперь"

Еще CodedUI передаст его.

Можно ли это проверить?

+0

доли некоторой коды, пожалуйста, что вы пробовали и то, что не работает. – nullpointer

+0

На самом деле это не о коде. Его о том, имеет ли кодированный пользовательский интерфейс эту функцию или нет. Спасибо –

+0

Пожалуйста, отредактируйте вопрос, чтобы уточнить, что вы просите. Отображаемый текст не читается четко, источник вопроса (см. Ссылку [edit]) появляется, чтобы поставить «Вход» и «Сейчас» на отдельные строки. – AdrianHHH

ответ

1

Если оригинал утверждает, проверяет, что строка Login Now но веб-страница изменилась так, что браузер отображает две строки:

Login 
Now 

то утверждает, потерпит неудачу, потому что строка Login\r\nNow. (Из вопроса, возможно, что строка также имеет некоторые пробелы, поэтому она может быть Login \r\n Now.)

Существует по крайней мере два способа обработки этого.

Сначала вы могли бы сделать два утверждения. Один, что внутренний текст содержитLogin, а другой содержит Now. Но это будет передавать строки Now Login также You must Login Now, и это может быть неправильно.

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

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

, то вы можете заменить его на что-то вроде:

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

Спасибо за ваше время @AdrianHHH –