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的主要内容,如果未能解决你的问题,请参考以下文章

Mac 上安装robotframe无法ride.py怎么办

Robotframe work之环境搭建

Robotframe work之web自动化测试小例子

RobotFrame——我的第一个自动化测试脚本

robotframe 文本校验,文本与关键字重复的处理

python编写 VS 使用测试工具