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

56

Click here to load reader

Upload: sqalab

Post on 26-Dec-2014

1.573 views

Category:

Education


24 download

DESCRIPTION

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

TRANSCRIPT

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

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

Windows

Рыбак Игорь«БСС»

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

Задача развертывания

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

Задача развертывания

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

Задача развертывания

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

Задача развертывания

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

Задача развертывания

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

Задача развертывания

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

Что такое cygwin?

поддержка системных вызововPOSIX

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

Что такое cygwin?

порт GNU утилит под windows

поддержка системных вызововPOSIX

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

Почему именно cygwin?

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

Почему именно cygwin? Универсальность

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

Почему именно cygwin? Универсальность

Кроссплатформенность сценариев

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

Задача генерации блока текста

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

Задача

многострочный текстовый файл конфигурационный файл

Требуется создать:

с динамическим содержимым

Как это сделать?...

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

Генерация блока текста

Winset "file=config_file.txt"

echo param1=%value1%>%file%

echo param2=%value2% >>%file%

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

Генерация блока текста

Winset "file=config_file.txt"

echo param1=%value1%>%file%

echo param2=%value2% >>%file%

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

Генерация блока текста

Cygwin

Win

cat > "config_file.txt" <<End-of-message

param1=${value1}

param2=${value2}

End-of-message

set "file=config_file.txt"

echo param1=%value1%>%file%

echo param2=%value2% >>%file%

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

Задача обработки массива

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

Задача

одно действие (команду) с разными аргументами

Требуется выполнить:

Как это сделать?...

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

Массивы

Win

set "args=args_file.txt"

echo arg1>%args%

echo arg2>>%args%

for /F "usebackq delims=" %%i in(%args%) do (

do_something %%i

)

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

Массивы

Win

set "args=args_file.txt"

echo arg1>%args%

echo arg2>>%args%

for /F "usebackq delims=" %%i in(%args%) do (

do_something %%i

)

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

Массивы

Cygwin Win

args=(

arg1

arg2

)

for arg in ${args[*]}

do

do_something arg

done

set "args=args_file.txt"

echo arg1>%args%

echo arg2>>%args%

for /F "usebackq delims=" %%i in(%args%) do (

do_something %%i

)

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

Задача обработки текста

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

Задача

обработать файл с логом вывести все строки со словом

«Exception»

Требуется:

Как это сделать?...

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

Обработка текста Win

@echo offsetlocal enabledelayedexpansionset len=0

set "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=%%igoto :EOF

))goto :EOF

:succ:outpause

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

Обработка текста Win

@echo offsetlocal enabledelayedexpansionset len=0

set "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=%%igoto :EOF

))goto :EOF

:succ:outpause

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

Обработка текста Cygwin Win

cat c:/log.txt|awk '/Exception/ {print($0)}'

@echo offsetlocal enabledelayedexpansionset len=0

set "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=%%igoto :EOF

))goto :EOF

:succ:outpause

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

Задача remote-доступа к машине

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

Задача

запустить на удаленной машине сценарий после отключения сценарий должен

выполняться

Требуется:

Как это сделать?...

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

Консоль удаленной машины Win

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

Консоль удаленной машины Cygwin Win

scp -i $DSA_KEY file.sh user@remote_server:~/

Передача сценария

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

Консоль удаленной машины Cygwin Win

scp -i $DSA_KEY file.sh user@remote_server:~/

ssh -i $DSA_KEY user@remote_server "/bin/bash~/file.sh"

Передача сценария

Запуск сценария

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

Задача передачи файлов

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

Задача

из shared folder в windows cкачать по http/ftp

Требуется получить файлы:

Как это сделать?...

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

Передача файлов

Cygwin + Win

net use W: \\ftp_folder

rem work with files

net use W: /DELETE

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

Передача файлов

Cygwin + Win

net use W: \\ftp_folder

rem work with files

net use W: /DELETE

wget -N -P c:/dist_folder/ --progress=dot:mega http://file.zip

Cygwin

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

Задача архивации

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

Задача

распаковать файлы из zip-архива

Требуется:

Как это сделать?...

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

Распаковка zip

Win

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

Распаковка zip

Cygwin

unzip c:/archive.zip -d c:/archive

Win

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

Задача передачи управления

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

Задача

запустить bat- или exe-файл в среде windows передавать аргументы

Требуется:

Как это сделать?...

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

Передача управления в Windows

cygstart "C:/folder/run.bat"

Запуск приложения

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

Передача управления в Windows

cygstart "C:/folder/run.bat"

cygpath -w "c:/folder/run.bat" C:\folder\run.bat

/cygdrive/c/folder/run.batcygpath -u "C:\folder\run.bat"

Запуск приложения

Преобразование путей

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

Offline - установка

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

Offline - установка

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

Offline - установка

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

Автоматическая установка

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

Автоматическая установка

set PACKAGE_LIST=openssh,tcp_wrappers,diffutils,zip,unzip,wget

Задаем список устанавливаемых пакетов

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

Автоматическая установка

set PACKAGE_LIST=openssh,tcp_wrappers,diffutils,zip,unzip,wget

Задаем список устанавливаемых пакетов

Запускаем установкуcygwin_setup.exe -q --local-install --root %SystemDrive%\cygwin-l %cd% -P %PACKAGE_LIST%

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

Автоматическая установка

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%\cygwin\bin"

setx CYGWIN "ntsec tty"

Прописываем системные переменные

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

Итог

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

Итог

Общее описание cygwin

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

Итог

Примеры использования

Общее описание cygwin

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

Итог

Примеры использования

Удобства развертывания

Общее описание cygwin

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

Итог

Примеры использования

Удобства развертывания

Спасибо за внимание!

Общее описание cygwin