Парсинг Rtf
#1
Отправлено 13 августа 2007 - 16:22
1) вводится текст и к нему применяется форматирование
2) далее считыватеся значение свойства Data - содержащее rtf текст
3) записывается в txt файл
4) сравнивается с заготовленным шаблоном, также хранящимся в текстовом файле
Вроде все просто и даже работает, но не стабильно. Как оказывается, rtf довольно нестабильный формат, и иногда при считывании rtf-а из приложения, в этом rtf-е появляються левые теги форматирования (по сути ничего не изменяющие, но при сравнивании текста соответствующих файлов равенства не получается).
Подскажите идею обхода такой ситуации, очень уж она мне кажется замутной. На вскидку скажу свои идеи:
1) есть dll содержащая структуру, написанного нами парсера для этого редактора. возможно это может помочь мне?
2) если случайные изменения происходят в определенных местах, возможно стоит создать шаблон регулярного выражения? но тут опять сложность мне не известно где и при каком именно форматировании он может появиться...
PS: Test Complete 5.11, Delphi Script.
#2
Отправлено 14 августа 2007 - 03:04
Можно попробовать частичную проверку.
Насколько я понял, нужно убедиться, что:
- текст именно тот, что был введён
- проверить форматирование к тексту
Первым шагом пропарсить собственно текст (минуя форматирование).
А вторым шагом на заданные куски текста проверить наличие служебной информации (читай форматирование). Форматирование ведь должно иметь строго предопределённые символы?
#3
Отправлено 14 августа 2007 - 09:40
1) Найти нужный текст
2) выдрать отрывающий и закрывающий теги и проверить, что в них есть те, которые вам нужны
я бы еще на всякий случай логгировал те теги, которые "лишние", на случай если вдруг какие-то из них окажутся "вредными"
т.е., например, тег langnp1033 вас не аффектит, его можно пропустить. НО если окажется, что наличие этого тега вам мешает, то можно отдельно проверять, что его нету
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#4
Отправлено 14 августа 2007 - 10:34
#5
Отправлено 14 августа 2007 - 10:59
о мне не ястно откуда я могу взять какие теги являються безобидными, судя по rtf-спеке их довольно много?
не думаю, что есть простой путь определения безобидных в вашем конкретном случае тегов
как вариант, можно создать массив, куда запихнуть известные на данный момент безобидные теги, все остальные считать зловредными
если при следующем прогоне скриптов (например в следующей версии продукта) скрипт упадет - посмотреть вручную, что это за тег, влияет ли он на отображение текста, и т.п.
если его можно игнорировать - добавляете в список безопасных
и т.д.
кроме того, учитывайте, что каждый новый тег, который раньше не добавлялся, может быть багой, и лучше бы проконсультироваться с программистами, откеуда он там появился
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных

