seriallibary 使用 robotframe work
Posted classics
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了seriallibary 使用 robotframe work相关的知识,希望对你有一定的参考价值。
1、安装 pip install robotframework-seriallibrary
https://pypi.org/project/robotframework-seriallibrary/
2、导入改库
SerialLibrary
3、简单使用 注意 格式和 波特率
https://github.com/whosaysni/robotframework-seriallibrary/blob/develop/src/SerialLibrary/__init__.py 可以查询 port的参数
#baudrate, bytesize, parity, stopbits, \ \ \ \ \ \ \ \ timeout, xonxoff, rtscts, write_timeout, dsrdtr and \ \ \ \ \ \ \ \ inter_byte_timeout.
基本用例 com——test
注意格式:
com_test SerialLibrary.Add Port COM1 baudrate=9600 #baudrate, bytesize, parity, stopbits, \ \ \ \ \ \ \ \ timeout, xonxoff, rtscts, write_timeout, dsrdtr and \ \ \ \ \ \ \ \ inter_byte_timeout. SerialLibrary.Open Port $a SerialLibrary.Get Encoding log $a SerialLibrary.Write Data \n UTF-8 SerialLibrary.Flush Port sleep 2 SerialLibrary.Write Data \n UTF-8 sleep 5 SerialLibrary.Read All Data sleep 2 Comment $result2 $return2 Run Keyword And Ignore Error com_data_judge $read $val_condition Comment Run Keyword If ‘$result2‘==‘FAIL‘ log ok ... ELSE log not_ok Wait Until Keyword Succeeds 100X 3 com_data_judge display current-configuration local-user admin password cipher OUM!K%F<+$[Q=^Q`MAF4<1!! SerialLibrary.Flush Port SerialLibrary.Write Data \n UTF-8 sleep 3 SerialLibrary.Close Port SerialLibrary.Delete All Ports
4、关键字 com_data_judge
com_data_judge [Arguments] $cli $judeg_condition SerialLibrary.Write Data $cli UTF-8 sleep 2 SerialLibrary.Write Data \n UTF-8 sleep 5 $read SerialLibrary.Read All Data log $read sleep 2 $judeg_condition Convert To String $judeg_condition $ok $num_idex Com Data $read $judeg_condition log $ok log $num_idex Should Be Equal As Strings $ok ok
5、判断data 的py脚本
字符串的去除空格
编码转换(串口hexlify 转换到 unhexlify )
字符串 分片
字符串去除首尾空格
比对字符串的值
脚本:
# -*- coding: utf-8 -*- import binascii def com_data(data1,val): data1 = data1.replace(" ","") data = binascii.unhexlify(data1) print data data = data.split("\r\n") val = val.encode(‘gbk‘) for i in data: com_data1 = i.strip() if com_data1 == val: num = data.index(i) return "ok",num return "not_ok" if __name__ == "__main__": s = "72 6F 6F 74 6E 45 37 6A 41 25 35 6D" a,b=com_data(s,"vlan batch 4000 to 4001") print a,b
以上是关于seriallibary 使用 robotframe work的主要内容,如果未能解决你的问题,请参考以下文章