Thursday, March 28, 2013

Импортим из Excel в TestLink

Когда-то давно сваяла я питоний файлик для конвертации удобной csv'ки в xml'ку, понятную TestLink'у (ибо набирать тесткейсы в ТестЛинке - это долгий и очень мучительный процесс). Найденное на просторах тырнета индусское решение в виде Экселевского макроса у меня так и не заработало, а человек я ленивый, ВижуалВацека не знающий... В общем, что сваялось, то сваялось, не судите строго.

Да, чтобы всё заработало, надо, чтобы у вас хоть где-нибудь стоял Питон.

Инструкции и файлик см. ниже.
How to convert a csv file to a TestLink xml file.



Пример "входного" файла можно найти вот тут.

13 comments:

  1. Тесты написанные на русском языке сохраняются в файле xml в неверной кодировке. Приходится пересохранять через блокнот в utf-8.

    ReplyDelete
  2. Решил проблемы с кодировкой с помощью бесплатной утилиты.
    https://code.google.com/p/win-iconv/

    Автоматизировал процесс батником:
    cd C:\Python27\Python csv2xml.py C:\Python27\Python\Testlink1.csv C:\Python27\Python\Testlink1.xml
    win_iconv.exe -t UTF-8 -f WINDOWS-1251 Testlink1.xml > Testlink1_utf.xml
    del Testlink1.xml

    ReplyDelete
  3. Огромное спасибо. )

    На основе Вашего кода, сделал прожку для создания XML-ки требований, а то у меня в TestLink 1.9.6 никак не получалось из CSV их загнать: все время выдавало Import done, but with syntax errors.

    Забрать файл можно тут (req2xml.py)

    ReplyDelete
  4. Пример сsv для требований:

    RQ-ID;Name;Description
    ENV-531;Combobox for Exchange;Main panel contains combobox with options to choose desired exchange
    ENV-231;Field for Exchange;Main panel contains field with options to choose desired exchange

    ReplyDelete
    Replies
    1. Андрей а вы не смогли победить неправильную кодировку в xml если использовать русские буквы при написании тестов?
      Ну чтобы скрипт принудительно в utf-8 сохранял?
      Было бы здорово если бы скрипт умел это сам, без дополнительной утилиты win-iconv

      Delete
    2. Есть решение-макрос на основе екзел. После моих переделок она стало с поддержкой UTF-8 и русского языка. В тестлинк затягивает на ура.
      В одну таблицу вводятся сразу и требования, и тесты. Макрос создает сразу два файла - один для требований, второй для тестов и автоматом устанавливает зависимости.
      На практике намного быстрее и удобнее, чем сначала создавать СSV, потом на основе него - XML.
      Единственный недостаток: можно прописывать только один шаг для тестов :) т.е. приходится в одну ячейку забивать все шаги. Если это не критично, могу скинуть куда скажете.

      Delete
    3. Хотя вдруг кому сразу понадобится :) Выкладываю: https://docs.google.com/file/d/0B4nt80DosU8YaUpWcWZjaWQxOW8/edit?usp=sharing

      Delete
    4. Есть еще также макрос, который умеет различать шаги, создавать отдельно только требования или тесты и еще какие-то там усовершенствования, но также без поддержки русского языка. Если есть охота порыться в кодах VBA, могу скинуть, а то у меня и так все тест-доки на английском.

      Delete
  5. This comment has been removed by the author.

    ReplyDelete
  6. Кстати, насчёт русского языка. При сохранении самой csv'ки можно при сохранении выставлять UTF-8, тогда конфликтов возникать не должно.
    Можно, в принципе, допилить и питоновский скрипт с encode/decode.
    Андрей, спасибо за ссылку, никак у меня макросы победить не получалось :) Может, в этот раз выйдет что.

    ReplyDelete
  7. На здоровье ) Еще раз говорю, если надо, чтоб различало шаги - пишите в личку, будем сообща допиливать другой скрипт )

    ReplyDelete
  8. Появилась версия, которая различает шаги и поддерживает UTF-8. https://docs.google.com/file/d/0B4nt80DosU8YMXFXM1ZPcDI0a1k/edit?usp=sharing

    Автор: Alpay Ersoy
    Ссылка на блог: http://testlink-import.blogspot.com/2009/11/test-link-import.html

    ReplyDelete
  9. This comment has been removed by the author.

    ReplyDelete