Какой тип файла легко импортировать и управлять им в C#

Я новичок в разработке на C#, и мне нужен ваш совет, чтобы помочь мне выбрать практичный формат файла, содержимое которого будет импортировано в мое приложение.

В основном я разрабатываю автоматизацию тестирования с помощью Ranorex, программного обеспечения для автоматизации тестирования, проекты которого основаны на C#.

Целью конкретного проекта является тестирование другого программного обеспечения, которое импортирует файл, содержащий список устройств, и повторяет эту процедуру. Я хочу убедиться, что устройства каждый раз успешно импортируются. Это похоже на большой цикл, когда Ranorex перезапускает программу снова и снова с другим файлом для импорта и другими устройствами из файла.

Итак, у меня есть несколько файлов для импорта с различными устройствами внутри. Проблема в том, что номер не стандартный.

Моей первой идеей было использовать такой файл excel, но импорт excel в С# не кажется практичным.

введите здесь описание изображения

Наша программа может импортировать только файл за файлом и требует перезапуска после проверки устройств. По сути, я хочу, чтобы мой проект C # (ranorex) запускал мое программное обеспечение, импортировал файл, проверял все устройства из этого файла, закрывал программное обеспечение и снова перезапускал его таким же образом. Вы понимаете, что это более или менее вопрос списка с двумя измерениями.

Список будет содержать файл для импорта, и каждый файл содержит устройства для тестирования. Какое лучшее решение для этого? База данных?

edit1: Ну, моя первая картинка была очень простой и помогла вам понять. На самом деле у меня строчки такие, MHZ - это файл, а остальные двоеточия - описание одного устройства. Вы понимаете, почему я считаю, что XML, возможно, будет сложным в управлении, потому что устройство характеризуется многими параметрами. введите здесь описание изображения


person xenom    schedule 29.06.2012    source источник
comment
Пока согласен с ответами и комментариями. Просто для полноты картины и для случайного читателя - использование файлов Excel в C# не такое уж большое дело (если вы работаете с Windows и Office).   -  person Stefan Keller    schedule 29.06.2012
comment
Да, область тестирования предназначена исключительно для Win 7 и использования Office. Вот почему я подумал об Excel, потому что каждый может легко заполнить и добавить несколько строк в файл Excel. Но разница с форматами xlsx, xls и всеми решениями, которые я нашел (COM, open xml sdk, Ado.NET), полностью сбили меня с толку.   -  person xenom    schedule 29.06.2012
comment
Ну, это не рекомендация — это действительно зависит от вашего рабочего процесса и от ваших коллег в области тестирования. Возможно, вы захотите изучить автоматизацию Excel с помощью сборок взаимодействия. XML, скорее всего, лучше для вас (как программиста), но если у конечных пользователей есть проблема с XML, ваша задача может состоять в том, чтобы предоставить другое решение, и в этом случае я бы проверил автоматизацию Excel.   -  person Stefan Keller    schedule 29.06.2012


Ответы (3)


Именно для этого и предназначен формат файла XML. Существует множество статей о сериализации XML с использованием .NET, я рекомендую вам начать с Введение в сериализацию XML и проработайте примеры.

person James    schedule 29.06.2012
comment
Спасибо за Ваш ответ. Я думал об этом, но проблема в том, что список будет часто обновляться и дополняться. XML не очень легко читать, если есть много элементов, и я не знаю, легко ли добавлять элементы? Я занимаюсь разработкой для предприятия, поэтому у нас есть лицензия на диспетчер SQL и т. Д. - person xenom; 29.06.2012
comment
Я бы сказал, что это не то, для чего на самом деле предназначен XML. XML – это язык разметки, разработанный для разметки текста, а не для определения произвольных данных. Хотя я согласен с тем, что в этой ситуации это сработает довольно хорошо, вы также можете использовать файлы в стиле CSV или INI для такого простого варианта использования. - person Ron Warholic; 29.06.2012
comment
XML был создан именно с этой целью; быть легко читаемыми как людьми, так и машинами. - person Mizipzor; 29.06.2012
comment
Существует множество способов отображения XML. Вы можете использовать CSS для непосредственного оформления вывода XML или даже использовать XSLT для преобразования его в HTML. @RonWarholic Хотя это, по сути, язык разметки, я должен подчеркнуть его расширяемую часть, я бы сказал, что фактические цели проектирования XML выходят далеко за рамки этого, например. интероперабельность/обмен данными и описание данных. - person James; 29.06.2012
comment
И целесообразно ли доделать? Если люди в зоне тестирования захотят добавить новые имена файлов для некоторых устройств, будет ли это так же ясно, как таблица SQL? - person xenom; 29.06.2012
comment
@xenom, исходя из вашего примера, ваш XML должен быть довольно простым и легко редактируемым. Есть несколько XML-редакторов, которые могут немного облегчить им жизнь. Вы даже можете написать для него XSD и использовать редактор, который проверяет данные перед сохранением. - person James; 29.06.2012
comment
Я устанавливаю XMLPad прямо сейчас. Я посмотрю, достаточно ли это просто ;) - person xenom; 29.06.2012

*.xml достаточно. *.txt достаточно, если вы просто хотите что-то вроде файла *.ini со списками, разделенными знаком «,», что проще.

person jestrange    schedule 29.06.2012

Разве тестирование на основе данных, поддерживаемое Ranorex, не является именно тем, что вы хотите сделать? http://www.ranorex.com/support/user-guide-20/lesson-3-data-driven-testing.html

Просто создайте две переменные в своем репозитории Ranorex и настройте одну для столбца файла, а другую для столбца устройства вашей таблицы Excel.

person fachexot    schedule 30.06.2012
comment
Обычно да, но я уже задавал свой вопрос на форуме поддержки, и данные, управляемые с помощью Excel, должны знать, сколько значений будет иметь переменная. Проблема здесь в том, что импортируемый файл будет постоянно меняться и получать новые строки и устройства. Наконец, это не так эффективно, и работать с C# лучше. - person xenom; 02.07.2012
comment
Я не понимаю, где вам нужно знать количество значений для ваших переменных. Если вы перейдете по ссылке выше, вы можете прочитать документ, где объясняется, как Ranorex использует файл Excel в качестве входных данных, и что переменные будут назначаться динамически. Я также прочитал ваше сообщение о поддержке Ranorex и думаю, что есть какое-то недоразумение! Когда я найду время, я объясню вам мое предложение решить эту проблему. - person fachexot; 02.07.2012
comment
Я уже спрашивал об этом на форуме поддержки и явно перечитал эту ссылку раз 5 :) проблема в том, что для каждого имени файла я должен импортировать соответствующие устройства. И все должно быть сделано в хронологическом порядке: запустить софт, импортировать файл, загрузить все устройства в файле, закрыть софт, повторять снова и снова для каждого файла. Но это невозможно изначально с помощью инструментов Ranorex, даже на основе данных. Это работает, если я работаю только с именем файла или только с двоеточием устройств, но не с обоими одновременно. - person xenom; 02.07.2012