2016-02-26 2 views
0

У меня есть много сообщений JSON, которые я должен повторно нажимать в консоли cmd для целей тестирования. Было бы удобно иметь гибкие горячие клавиши для толкания тестового сценария Message # 1, # 2 и т. Д., А не для повторного копирования и повторной обработки.Использование AutoHotkey для генерации объектов JSON

однострочный JSONs Я толкающий принять этот общий формат:

//Case1 - message is perfectly formated blah blah 
{"field1":"case1Data1","field2":"case1Data2","field3":"case1Data3"..."field12":"case1Data12"} 

//Case2 - message has an empty field3 or something blah blah 
{"field1":"case2Data1","field2":"case2Data2","field3":""..."field12":"case2Data12"} 

//CaseN - message is test scenario N (you get the patterN) 
{"field1": "caseNData1",....} 

AutoHotKey был очень полезно при инициализации моей тестовой среды (открывая раковины, начиная мои различные темы Кафка, и т.д.). Если только это использовать его для толкания JSONs было так просто, как это:

;Test Message #1 
;Enter a base json here 
;Windows+Ctrl+1 
#^1:: 
Send,{"field1":"data1","field2":"data2","field3":"data3"..."field12":"data12"} 
Return 

Проблема заключается с {} конечно. Autokey резервирует их для вещей, таких как {enter}.

Как мне обойти это?

+0

Вы просмотрели https://github.com/cocobelgica/AutoHotkey-JSON – jszobody

ответ

0

Вы используете {{} и {}}.

См https://autohotkey.com/docs/commands/Send.htm этой части:

Ключевые имена: В следующей таблице перечислены специальные ключи, которые могут быть отправлены (каждое имя ключа должен быть заключен в скобки):

Key Name  Resulting Keystroke 
{F1} - {F24} Function keys. For example: {F12} is the F12 key. 
{!}    ! 
{#}    # 
{+}    + 
{^}   ^
{{}    { 
{}}    } 
{Enter}   ENTER key on the main keyboard 

etc. 
0

Использование SendRaw :

;Test Message #1 
;Enter a base json here 
;Windows+Ctrl+1 
#^1:: 
SendRaw,{"field1":"data1","field2":"data2","field3":"data3"..."field12":"data12"} 
Return 

Кроме того, посмотрите на это: https://stackoverflow.com/a/33989043/2879085