Merge pull request #619 from lixiumei123/main

Add functional test template and modbus-tcp function test
This commit is contained in:
fengzeroz
2022-07-13 10:17:38 +08:00
committed by GitHub
2 changed files with 363 additions and 50 deletions
+80 -43
View File
@@ -8,40 +8,85 @@ Suite Teardown Modbus Test Teardown
*** Variables ***
${modbus_node} modbus_node
${tag_bit} {"name": "tag_bit", "address": "1!000001", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_BIT}}
${tag_int16} {"name": "tag_int16", "address": "1!400001", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_INT16}}
${tag_uint16} {"name": "tag_uint16", "address": "1!400002", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_UINT16}}
${tag_int32} {"name": "tag_int32", "address": "1!400003", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_INT32}}
${tag_uint32} {"name": "tag_uint32", "address": "1!400005", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_UINT32}}
${tag_float} {"name": "tag_float", "address": "1!400007", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_FLOAT}}
${tag_string} {"name": "tag_string", "address": "1!400009.10", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_STRING}}
${tag1_bit} {"name": "tag1", "address": "1!100001", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_BIT}}
${tag2_bit} {"name": "tag2", "address": "1!100002", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_BIT}}
${tag1_int16} {"name": "tag1", "address": "1!301021", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_INT16}}
${tag2_int16} {"name": "tag2", "address": "1!301022", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_INT16}}
${tag1_uint16} {"name": "tag1", "address": "1!301019", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_UINT16}}
${tag2_uint16} {"name": "tag2", "address": "1!301020", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_UINT16}}
${tag1_int32} {"name": "tag1", "address": "1!301010", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_INT32}}
${tag2_int32} {"name": "tag2", "address": "1!301011", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_INT32}}
${tag1_uint32} {"name": "tag1", "address": "1!301017", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_UINT32}}
${tag2_uint32} {"name": "tag2", "address": "1!301018", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_UINT32}}
${tag1_float} {"name": "tag1", "address": "1!300009", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_FLOAT}}
${tag2_float} {"name": "tag2", "address": "1!300008", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_FLOAT}}
${MODBUS_TCP_CONFIG_WRONG} {"host": "127.0.0.1", "port": 60502}
${hold_bit} {"name": "hold_bit", "address": "1!400001.15", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_BIT}}
${hold_int16} {"name": "hold_int16", "address": "1!400001", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_INT16}}
${hold_uint16} {"name": "hold_uint16", "address": "1!400002", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_UINT16}}
${hold_int32} {"name": "hold_int32", "address": "1!400003", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_INT32}}
${hold_uint32} {"name": "hold_uint32", "address": "1!400015", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_UINT32}}
${hold_float} {"name": "hold_float", "address": "1!400017", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_FLOAT}}
${hold_string} {"name": "hold_string", "address": "1!400020.10", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_STRING}}
${coil_bit_1} {"name": "coil_bit_1", "address": "1!000001", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_BIT}}
${coil_bit_2} {"name": "coil_bit_2", "address": "1!000002", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_BIT}}
${coil_bit_3} {"name": "coil_bit_3", "address": "1!000003", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_BIT}}
${coil_bit_4} {"name": "coil_bit_4", "address": "1!000005", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_BIT}}
${coil_bit_5} {"name": "coil_bit_5", "address": "1!000010", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_BIT}}
${input_bit_1} {"name": "input_bit_1", "address": "1!100001", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_BIT}}
${input_bit_2} {"name": "input_bit_2", "address": "1!100002", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_BIT}}
${input_bit_3} {"name": "input_bit_3", "address": "1!100003", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_BIT}}
${input_bit_4} {"name": "input_bit_4", "address": "1!100005", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_BIT}}
${input_bit_5} {"name": "input_bit_5", "address": "1!100010", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_BIT}}
${input_register_bit} {"name": "input_register_bit", "address": "1!30101.15", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_BIT}}
${input_register_int16} {"name": "input_register_int16", "address": "1!30101", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_INT16}}
${input_register_uint16} {"name": "input_register_uint16", "address": "1!30102", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_UINT16}}
${input_register_int32} {"name": "input_register_int32", "address": "1!30103", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_INT32}}
${input_register_uint32} {"name": "input_register_uint32", "address": "1!30115", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_UINT32}}
${input_register_float} {"name": "input_register_float", "address": "1!30117", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_FLOAT}}
${input_register_string} {"name": "input_register_string", "address": "1!30120.10", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_STRING}}
${hold_int16_address_update} {"name": "hold_int16", "address": "1!400100", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_INT16}}
${hold_int16_type_update} {"name": "hold_int16", "address": "1!400001", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_INT32}}
${input_bit_1_name_wrong} {"name": "input_bit", "address": "1!100001", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_BIT}}
${input_bit_1_attribute_wrong} {"name": "input_bit_1", "address": "1!100001", "attribute": ${TAG_ATTRIBUTE_RW}, "type": ${TAG_TYPE_BIT}}
${input_bit_1_type_wrong} {"name": "input_bit_1", "address": "1!100001", "attribute": ${TAG_ATTRIBUTE_READ}, "type": ${TAG_TYPE_INT16}}
*** Test Cases ***
Write and Read different type tag, it should be success.
[Template] Write and Read a ${tag} named ${tag_name} from ${node}, useing ${check} to check the ${value}, it will be success.
${tag_bit} tag_bit ${modbus_node} Compare Tag Value As Int 1
${tag_int16} tag_int16 ${modbus_node} Compare Tag Value As Int 120
${tag_uint16} tag_uint16 ${modbus_node} Compare Tag Value As Int 65535
${tag_int32} tag_int32 ${modbus_node} Compare Tag Value As Int 77889912
${tag_uint32} tag_uint32 ${modbus_node} Compare Tag Value As Int 88991232
${tag_float} tag_float ${modbus_node} Compare Tag Value As Float 12.34
${tag_string} tag_string ${modbus_node} Compare Tag Value As Strings "abc123"
# Read test.
# ${tags} = Create List ${input_register_int16} ${input_register_uint16}
# Read some ${tags} from ${modbus_node}, it will be success.
Write and Read all type tag with same slave id in hold register, it should be success.
[Template] Write and Read a ${tag} named ${tag_name} from ${node}, using ${check} to check the ${value}, it will be success.
${hold_int16} hold_int16 ${modbus_node} Compare Tag Value As Int 120
${hold_uint16} hold_uint16 ${modbus_node} Compare Tag Value As Int 65535
${hold_int32} hold_int32 ${modbus_node} Compare Tag Value As Int 77889912
${hold_uint32} hold_uint32 ${modbus_node} Compare Tag Value As Int 88991232
${hold_float} hold_float ${modbus_node} Compare Tag Value As Float 12.34
${hold_string} hold_string ${modbus_node} Compare Tag Value As Strings "abc123"
Write and Read all type tag with same slave id in coil, it should be success.
[Template] Write and Read a ${tag} named ${tag_name} from ${node}, using ${check} to check the ${value}, it will be success.
${coil_bit_1} coil_bit_1 ${modbus_node} Compare Tag Value As Int 1
${coil_bit_2} coil_bit_2 ${modbus_node} Compare Tag Value As Int 0
${coil_bit_3} coil_bit_3 ${modbus_node} Compare Tag Value As Int 0
${coil_bit_4} coil_bit_4 ${modbus_node} Compare Tag Value As Int 1
${coil_bit_5} coil_bit_5 ${modbus_node} Compare Tag Value As Int 1
Read all type tag with same slave id in input register, it should be success.
[Template] Read a ${tag} named ${tag_name} from ${node}, using ${check} to check the ${value}, it will be success.
${input_register_int16} input_register_int16 ${modbus_node} Compare Tag Value As Int 0
${input_register_uint16} input_register_uint16 ${modbus_node} Compare Tag Value As Int 0
${input_register_int32} input_register_int32 ${modbus_node} Compare Tag Value As Int 0
${input_register_uint32} input_register_uint32 ${modbus_node} Compare Tag Value As Int 0
${input_register_float} input_register_float ${modbus_node} Compare Tag Value As Float 0
${input_register_string} input_register_string ${modbus_node} Compare Tag Value As Strings ""
Read all type tag with same slave id in input, it should be success.
[Template] Read a ${tag} named ${tag_name} from ${node}, using ${check} to check the ${value}, it will be success.
${input_bit_1} input_bit_1 ${modbus_node} Compare Tag Value As Int 0
${input_bit_2} input_bit_2 ${modbus_node} Compare Tag Value As Int 0
${input_bit_3} input_bit_3 ${modbus_node} Compare Tag Value As Int 0
${input_bit_4} input_bit_4 ${modbus_node} Compare Tag Value As Int 0
${input_bit_5} input_bit_5 ${modbus_node} Compare Tag Value As Int 0
*** Keywords ***
Modbus Test Setup
@@ -49,28 +94,20 @@ Modbus Test Setup
Start Neuronx
${res}= Add Node ${modbus_node} ${PLUGIN-MODBUS-TCP}
${res}= Add Node ${modbus_node} ${PLUGIN-MODBUS-TCP}
Check Response Status ${res} 200
${res}= Node Setting ${modbus_node} ${MODBUS_TCP_CONFIG}
${res}= Node Setting ${modbus_node} ${MODBUS_TCP_CONFIG}
Check Response Status ${res} 200
${res}= Node Ctl ${modbus_node} ${NODE_CTL_START}
${res}= Node Ctl ${modbus_node} ${NODE_CTL_START}
Check Response Status ${res} 200
${state} = Get Node State ${modbus_node}
Should Be Equal As Integers ${state}[running] ${NODE_STATE_RUNNING}
Should Be Equal As Integers ${state}[link] ${NODE_LINK_STATE_CONNECTING}
${state}= Get Node State ${modbus_node}
Should Be Equal As Integers ${state}[running] ${NODE_STATE_RUNNING}
Should Be Equal As Integers ${state}[link] ${NODE_LINK_STATE_CONNECTING}
Modbus Test Teardown
Del Node ${modbus_node}
Stop Neuronx
Terminate All Processes kill=false
Terminate All Processes kill=false
+283 -7
View File
@@ -4,23 +4,299 @@ Resource common.resource
Resource error.resource
*** Keywords ***
Write and Read a ${tag} named ${tag_name} from ${node}, useing ${check} to check the ${value}, it will be success.
${res}= Add Group ${node} group 100
Set a ${node} with right ${node_settings}, it will be success.
[Tags] Driver 1
${res}= Node Setting ${node} ${node_settings}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Tags ${node} group ${tag}
Set a ${node} with wrong ${node_settings}, it will be failure.
[Tags] Driver 2
${res}= Node Setting ${node} ${node_settings}
Check Response Status ${res} 2004
Check Error Code ${res} ${NEU_ERR_NODE_SETTING_INVALID}
Set a ${tag} with right address, type and attribute from ${node}, it will be success.
[Tags] Driver 3
${res}= Add Group ${node} group 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERROR_SUCCESS}
${res}= Add Tags ${node} group ${tag}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
[Teardown] Del Group ${node} group
Set a ${tag} with unmatch address, type or attribute from ${node}, it will be failure and return ${resp_status} and ${error_code}.
[Tags] Driver 4
${res}= Add Group ${node} group 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Tags ${node} group ${tag}
Check Response Status ${res} ${resp_status}
Check Error Code ${res} ${error_code}
[Teardown] Del Group ${node} group
Read a ${tag} named ${tag_name} from ${node}, using ${check} to check the ${value}, it will be success.
[Tags] Driver 5
${res}= Add Group ${node} group 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Tags ${node} group ${tag}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
Sleep 300ms
${res}= Write Tags ${node} group ${tag_name} ${value}
${res}= Read Tags ${node} group
Check Response Status ${res} 200
Run Keyword ${check} ${res}[tags] ${tag_name} ${value}
[Teardown] Del Group ${node} group
Read some ${tags} from ${node}, it will be success.
[Tags] Driver 6 and 7
${res}= Add Group ${node} group 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
FOR ${tag} IN @{tags}
${res}= Add Tags ${node} group ${tag}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
END
Sleep 1000ms
${res}= Read Tags ${node} group
Check Response Status ${res} 200
[Teardown] Del Group ${node} group
Write and Read a ${tag} named ${tag_name} from ${node}, using ${check} to check the ${value}, it will be success.
[Tags] Driver 8
${res}= Add Group ${node} group 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Tags ${node} group ${tag}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
Sleep 300ms
${res}= Read Tags ${node} group
${res}= Write Tags ${node} group ${tag_name} ${value}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
Sleep 300ms
${res}= Read Tags ${node} group
Check Response Status ${res} 200
Run Keyword ${check} ${res}[tags] ${tag_name} ${value}
[Teardown] Del Group ${node} group
Run Keyword ${check} ${res}[tags] ${tag_name} ${value}
[Teardown] Del Group ${node} group
Write and read same ${tag1} ${tag2} named same ${tag_name} but different address in different ${groups} that from ${node}, using ${check} to check the ${value}, it will be success.
[Tags] Driver 9
${res}= Add Group ${node} group-1 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Group ${node} group-2 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Tags ${node} group-1 ${tag1}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Tags ${node} group-2 ${tag2}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
Sleep 300ms
${res}= Write Tags ${node} group-1 ${tag_name} ${value}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
Sleep 300ms
${res}= Read Tags ${node} group-1
Check Response Status ${res} 200
Run Keyword ${check} ${res}[tags] ${tag_name} ${value}
Sleep 300ms
${res}= Write Tags ${node} group-2 ${tag_name} ${value}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
Sleep 300ms
${res}= Read Tags ${node} group-1
Check Response Status ${res} 200
Run Keyword ${check} ${res}[tags] ${tag_name} ${value}
Del Group ${node} group-1
Del Group ${node} group-2
Write and read same a ${tag} with same ${tag_name} and same address in different ${groups} that from ${node}, using ${check} to check the ${value}, it will be success.
[Tags] Driver 10
${res}= Add Group ${node} group-1 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Group ${node} group-2 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Tags ${node} group-1 ${tags}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Tags ${node} group-2 ${tags}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
Sleep 300ms
${res}= Write Tags ${node} group-1 ${tag_name} ${value}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
Sleep 300ms
${res}= Read Tags ${node} group-1
Check Response Status ${res} 200
Run Keyword ${check} ${res}[tags] ${tag_name} ${value}
Sleep 300ms
${res}= Read Tags ${node} group-2
Check Response Status ${res} 200
Run Keyword ${check} ${res}[tags] ${tag_name} ${value}
Del Group ${node} group-1
Del Group ${node} group-2
Update a ${tag} by ${tag_update} named ${tag_name} that from ${node}, it can read and write, using ${check} to check the ${value}.
[Tags] Driver 12
${res}= Add Group ${node} group 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Tags ${node} group ${tag}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Update Tags ${node} group ${tag_update}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Write Tags ${node} group ${tag} ${value}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
Sleep 300ms
${res}= Read Tags ${node} group
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
Run Keyword $[check] ${res}[tags] ${tag_name} ${value}
[Teardown] Del Group ${node} group
Update a ${tag} by a ${tag_update} with the unmatch settings from ${node} , it will be failure and return ${resp_status} and ${error_code}.
[Tags] Driver 13
${res}= Add Group ${node} group 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Tags ${node} group ${tag}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
Sleep 300ms
${res}= Update Tags ${node} group ${tag_update}
Check Response Status ${res} ${resp_status}
Check Error Code ${res} ${error_code}
[Teardown] Del Group ${node} group
Write a ${value} to a tag with named ${tag_name} that don't exist in neuron from ${node}, it will be failure.
[Tags] Driver 14
${res}= Add Group ${node} group 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Write Tags ${node} group ${tag_name} ${value}
Check Response Status ${res} 2201
Check Error Code ${res} ${NEU_ERR_TAG_NOT_EXIST}
[Teardown] Del Group ${node} group
Read a tag with named ${tag_name} that don't exist in neuron form ${node}, using ${check} to check the ${value}, it will be failure.
[Tags] Driver 15
${res}= Add Group ${node} group 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Read Tags ${node} group
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
Run Keyword ${check} ${res}[tags] ${tag_name} ${value}
[Teardown] Del Group ${node} group
Write a ${value} to a ${tag} named ${tag_name} that without write attribute from ${node}, it will be failure.
[Tags] Driver 16
${res}= Add Group ${node} group 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Tags ${node} group ${tag}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Write Tags ${node} group ${tag_name} ${value}
Check Response Status ${res} 2203
Check Error Code ${res} ${NEU_ERR_TAG_ATTRIBUTE_NOT_SUPPORT}
[Teardown] Del Group ${node} group
Write and read a ${value} to a ${tag} named ${tag_name} when the ${node} is stoped, it will be failure.
[Tags] Driver 17
${res}= Add Group ${node} group 100
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Add Tags ${node} group ${tag}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Node Ctl ${node} ${NODE_CTL_STOP}
Check Response Status ${res} 200
Check Error Code ${res} ${NEU_ERR_SUCCESS}
${res}= Write Tags ${node} group ${tag_name} ${value}
Check Response Status ${res} 2009
Check Error Code ${res} ${NEU_ERR_NODE_IS_STOPED}
${res}= Read Tags ${node} group
Check Response Status ${res} 2009
Check Error Code {$res} ${NEU_ERR_NODE_IS_STOPED}
[Teardown] Del Group ${node} group