Использование cygwin дляавтоматизации процессов тестирования в               Windows               Рыбак Игорь            ...
Задача развертывания
Задача развертывания
Задача развертывания
Задача развертывания
Задача развертывания
Задача развертывания
Что такое cygwin?   поддержка системных вызовов    POSIX
Что такое cygwin?   поддержка системных вызовов    POSIX   порт GNU утилит под windows
Почему именно cygwin?
Почему именно cygwin?   Универсальность
Почему именно cygwin?   Универсальность   Кроссплатформенность сценариев
Задача генерации блока текста
Задача  Требуется создать:     многострочный текстовый файл     конфигурационный файл  с динамическим содержимым        ...
Генерация блока текста   Win          set "file=config_file.txt"          echo param1=%value1%>%file%          echo param...
Генерация блока текста   Win          set "file=config_file.txt"          echo param1=%value1%>%file%          echo param...
Генерация блока текста   Win             set "file=config_file.txt"             echo param1=%value1%>%file%             e...
Задача обработки массива
Задача  Требуется выполнить:     одно действие (команду)     с разными аргументами                           Как это сде...
Массивы        Winset "args=args_file.txt"echo arg1>%args%echo arg2>>%args%for /F "usebackq delims=" %%i in(%args%) do ( ...
Массивы        Winset "args=args_file.txt"echo arg1>%args%echo arg2>>%args%for /F "usebackq delims=" %%i in(%args%) do ( ...
Массивы        Win                           Cygwinset "args=args_file.txt"           args=(echo arg1>%args%            ...
Задача обработки текста
Задача  Требуется:     обработать файл с логом     вывести все строки со словом      «Exception»                        ...
Обработка текста              Win@echo offsetlocal enabledelayedexpansionset len=0set "str=abcderExceptionasdasd"set "sub...
Обработка текста              Win@echo offsetlocal enabledelayedexpansionset len=0set "str=abcderExceptionasdasd"set "sub...
Обработка текста              Win                                           Cygwin@echo offsetlocal enabledelayedexpansi...
Задача remote-доступа к машине
Задача  Требуется:     запустить на удаленной машине сценарий     после отключения сценарий должен      выполняться     ...
Консоль удаленной машины   Win
Консоль удаленной машины   Win      Cygwin             Передача сценария          scp -i $DSA_KEY file.sh user@remote_s...
Консоль удаленной машины   Win       Cygwin              Передача сценария          scp -i $DSA_KEY file.sh user@remote...
Задача передачи файлов
Задача  Требуется получить файлы:     из shared folder в windows     cкачать по http/ftp                             Как...
Передача файлов    Cygwin + Win     net use W: ftp_folder     rem work with files     net use W: /DELETE
Передача файлов    Cygwin + Win     net use W: ftp_folder     rem work with files     net use W: /DELETE    Cygwin     w...
Задача архивации
Задача  Требуется:     распаковать файлы из zip-архива                           Как это сделать?...
Распаковка zip   Win
Распаковка zip   Win       Cygwin           unzip c:/archive.zip -d c:/archive
Задача передачи управления
Задача  Требуется:     запустить bat- или exe-файл в среде windows     передавать аргументы                            К...
Передача управления в Windows   Запуск приложенияcygstart "C:/folder/run.bat"
Передача управления в Windows   Запуск приложенияcygstart "C:/folder/run.bat"   Преобразование путейcygpath -w "c:/folde...
Offline - установка
Offline - установка
Offline - установка
Автоматическая установка
Автоматическая установка   Задаем список устанавливаемых пакетов    set PACKAGE_LIST=openssh,tcp_wrappers,diffutils,zip,u...
Автоматическая установка   Задаем список устанавливаемых пакетов    set PACKAGE_LIST=openssh,tcp_wrappers,diffutils,zip,u...
Автоматическая установка   Задаем список устанавливаемых пакетов    set PACKAGE_LIST=openssh,tcp_wrappers,diffutils,zip,u...
Итог
Итог       Общее описание cygwin
Итог       Общее описание cygwin       Примеры использования
Итог       Общее описание cygwin       Примеры использования       Удобства развертывания
Итог        Общее описание cygwin        Примеры использования        Удобства развертывания       Спасибо за внимание!
Upcoming SlideShare
Loading in …5
×

Использование cygwin для автоматизации процессов тестирования в Windows

2,097 views

Published on

SQA Days 11. День 2. Стендовая секция
Игорь Рыбак
БСС
Москва, Россия

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,097
On SlideShare
0
From Embeds
0
Number of Embeds
172
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Использование cygwin для автоматизации процессов тестирования в Windows

  1. 1. Использование cygwin дляавтоматизации процессов тестирования в Windows Рыбак Игорь «БСС»
  2. 2. Задача развертывания
  3. 3. Задача развертывания
  4. 4. Задача развертывания
  5. 5. Задача развертывания
  6. 6. Задача развертывания
  7. 7. Задача развертывания
  8. 8. Что такое cygwin? поддержка системных вызовов POSIX
  9. 9. Что такое cygwin? поддержка системных вызовов POSIX порт GNU утилит под windows
  10. 10. Почему именно cygwin?
  11. 11. Почему именно cygwin? Универсальность
  12. 12. Почему именно cygwin? Универсальность Кроссплатформенность сценариев
  13. 13. Задача генерации блока текста
  14. 14. Задача Требуется создать:  многострочный текстовый файл  конфигурационный файл с динамическим содержимым Как это сделать?...
  15. 15. Генерация блока текста Win set "file=config_file.txt" echo param1=%value1%>%file% echo param2=%value2% >>%file%
  16. 16. Генерация блока текста Win set "file=config_file.txt" echo param1=%value1%>%file% echo param2=%value2% >>%file%
  17. 17. Генерация блока текста Win set "file=config_file.txt" echo param1=%value1%>%file% echo param2=%value2% >>%file% Cygwin cat > "config_file.txt" <<End-of-message param1=${value1} param2=${value2} End-of-message
  18. 18. Задача обработки массива
  19. 19. Задача Требуется выполнить:  одно действие (команду)  с разными аргументами Как это сделать?...
  20. 20. Массивы  Winset "args=args_file.txt"echo arg1>%args%echo arg2>>%args%for /F "usebackq delims=" %%i in(%args%) do ( do_something %%i)
  21. 21. Массивы  Winset "args=args_file.txt"echo arg1>%args%echo arg2>>%args%for /F "usebackq delims=" %%i in(%args%) do ( do_something %%i)
  22. 22. Массивы  Win  Cygwinset "args=args_file.txt" args=(echo arg1>%args% arg1echo arg2>>%args% arg2 )for /F "usebackq delims=" %%i in for arg in ${args[*]}(%args%) do ( do do_something %%i do_something arg) done
  23. 23. Задача обработки текста
  24. 24. Задача Требуется:  обработать файл с логом  вывести все строки со словом «Exception» Как это сделать?...
  25. 25. Обработка текста  Win@echo offsetlocal enabledelayedexpansionset len=0set "str=abcderExceptionasdasd"set "substr=Exception"call :get_str_len %substr%set substr_len=%len%call :get_str_len %str%set str_len=%len%set /a end_str=(%str_len%-%substr_len%)for /L %%i in (0,1,%end_str%) do ( set res=!str:~%%i,%substr_len%! if not defined res ( goto :out ) else ( if "!res!"=="%substr%" ( echo %str% goto :succ ) ))goto :out:get_str_lenset mystr=%~1for /L %%i in (0,1,30) do ( set res=!mystr:~%%i,1! if not defined res ( set len=%%i goto :EOF ))goto :EOF:succ:outpause
  26. 26. Обработка текста  Win@echo offsetlocal enabledelayedexpansionset len=0set "str=abcderExceptionasdasd"set "substr=Exception"call :get_str_len %substr%set substr_len=%len%call :get_str_len %str%set str_len=%len%set /a end_str=(%str_len%-%substr_len%)for /L %%i in (0,1,%end_str%) do ( set res=!str:~%%i,%substr_len%! if not defined res ( goto :out ) else ( if "!res!"=="%substr%" ( echo %str% goto :succ ) ))goto :out:get_str_lenset mystr=%~1for /L %%i in (0,1,30) do ( set res=!mystr:~%%i,1! if not defined res ( set len=%%i goto :EOF ))goto :EOF:succ:outpause
  27. 27. Обработка текста  Win  Cygwin@echo offsetlocal enabledelayedexpansionset len=0set "str=abcderExceptionasdasd"set "substr=Exception"call :get_str_len %substr%set substr_len=%len%call :get_str_len %str% cat c:/log.txt|awk /Exception/ {print($0)}set str_len=%len%set /a end_str=(%str_len%-%substr_len%)for /L %%i in (0,1,%end_str%) do ( set res=!str:~%%i,%substr_len%! if not defined res ( goto :out ) else ( if "!res!"=="%substr%" ( echo %str% goto :succ ) ))goto :out:get_str_lenset mystr=%~1for /L %%i in (0,1,30) do ( set res=!mystr:~%%i,1! if not defined res ( set len=%%i goto :EOF ))goto :EOF:succ:outpause
  28. 28. Задача remote-доступа к машине
  29. 29. Задача Требуется:  запустить на удаленной машине сценарий  после отключения сценарий должен выполняться Как это сделать?...
  30. 30. Консоль удаленной машины Win
  31. 31. Консоль удаленной машины Win  Cygwin  Передача сценария scp -i $DSA_KEY file.sh user@remote_server:~/
  32. 32. Консоль удаленной машины Win  Cygwin  Передача сценария scp -i $DSA_KEY file.sh user@remote_server:~/  Запуск сценария ssh -i $DSA_KEY user@remote_server "/bin/bash ~/file.sh"
  33. 33. Задача передачи файлов
  34. 34. Задача Требуется получить файлы:  из shared folder в windows  cкачать по http/ftp Как это сделать?...
  35. 35. Передача файлов  Cygwin + Win net use W: ftp_folder rem work with files net use W: /DELETE
  36. 36. Передача файлов  Cygwin + Win net use W: ftp_folder rem work with files net use W: /DELETE  Cygwin wget -N -P c:/dist_folder/ --progress=dot:mega http://file.zip
  37. 37. Задача архивации
  38. 38. Задача Требуется:  распаковать файлы из zip-архива Как это сделать?...
  39. 39. Распаковка zip Win
  40. 40. Распаковка zip Win  Cygwin unzip c:/archive.zip -d c:/archive
  41. 41. Задача передачи управления
  42. 42. Задача Требуется:  запустить bat- или exe-файл в среде windows  передавать аргументы Как это сделать?...
  43. 43. Передача управления в Windows Запуск приложенияcygstart "C:/folder/run.bat"
  44. 44. Передача управления в Windows Запуск приложенияcygstart "C:/folder/run.bat" Преобразование путейcygpath -w "c:/folder/run.bat" C:folderrun.batcygpath -u "C:folderrun.bat" /cygdrive/c/folder/run.bat
  45. 45. Offline - установка
  46. 46. Offline - установка
  47. 47. Offline - установка
  48. 48. Автоматическая установка
  49. 49. Автоматическая установка Задаем список устанавливаемых пакетов set PACKAGE_LIST=openssh,tcp_wrappers,diffutils,zip,unzip,wget
  50. 50. Автоматическая установка Задаем список устанавливаемых пакетов set PACKAGE_LIST=openssh,tcp_wrappers,diffutils,zip,unzip,wget Запускаем установку cygwin_setup.exe -q --local-install --root %SystemDrive%cygwin -l %cd% -P %PACKAGE_LIST%
  51. 51. Автоматическая установка Задаем список устанавливаемых пакетов set PACKAGE_LIST=openssh,tcp_wrappers,diffutils,zip,unzip,wget Запускаем установку cygwin_setup.exe -q --local-install --root %SystemDrive%cygwin -l %cd% -P %PACKAGE_LIST% Прописываем системные переменные setx path "%PATH%;%SystemDrive%cygwinbin" setx CYGWIN "ntsec tty"
  52. 52. Итог
  53. 53. Итог Общее описание cygwin
  54. 54. Итог Общее описание cygwin Примеры использования
  55. 55. Итог Общее описание cygwin Примеры использования Удобства развертывания
  56. 56. Итог Общее описание cygwin Примеры использования Удобства развертывания Спасибо за внимание!

×