在软件测试过程中,一些可靠性测试往往需要对设备进行反复上下电验证,于是我们会通过继电器对设备电源进行控制,以便达成我们的测试目的。
继电器控制上下电其实就是通过串口输入命令实现,于是我们只需要导入serial类进行命令传输即可。代码如下:
import serial
def send_cmd(cmd):
ser.write(serial.to_bytes(cmd))
def up_power():
send_cmd([0x01, 0x05, 0x00, 0x01, 0xFF, 0x00, 0xDD, 0xFA])
def down_power():
send_cmd([0x01, 0x05, 0x00, 0x01, 0x00, 0x00, 0x9C, 0x0A])
#cmd参数是继电器上下电命令
if __name__ == '__main__':
ser = serial.Serial(port='com3', baudrate='9600', timeout=10)
#上电
up_power()
#下电
down_power()
至于检验设备是否上电完成,可以在本地ping设备ip,判断返回值:
import os
import re
for i in range(10):
sleep(20)
result = os.popen('ping xx.xx.xx.xx')
flag = re.search('xx', result)
if flag:
logging.info(‘设备重启完成....’)
break
else:
continue