Example #1
0
    def test03_FileQuery_log(self):
        """5. 控制器查询文件列表/查询log目录 """
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、控制设备:")
        c.checkAction(url, data_login)
        time.sleep(1)

        data_file_query = rm.get_data("控制器查询文件列表", "file_query_log")
        print("step 2、查询log目录。")
        t = c.checkAction(url, data_file_query)
        print(t)
        self.assertEqual(t["success"], True)
        time.sleep(1)

        print("step 3、列出log目录文件名称:")
        files = t["data"]["file_list"]
        file_list = list(files)
        path = 'C:\\Users\\test\\AppData\\Local\\Programs\\Python\\Python36\\autotest\\websocket_api_2.0.1\\files\\LogFile_name.txt'

        if os.path.exists(path):
            os.remove(path)  #先删除之前写过的文件
        for file in file_list:
            print(file)
            WR_file.WriteFile_add(path, file)  #追加写入脚本文件名
        print("step 4、log文件名保存到文件: %s。" % path)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 5、释放设备:")
        c.checkAction(url, data_logout)
    def test04_ConfigFile_send_all(self):
        """1. 控制器发送文件/配置文件/读取所有配置文件 """
        rm=read_message.ReadMessage()
        data_login=rm.get_data("登录设备","login_admin")
        url=self.ws
        print("step 1、控制设备:")
        c.checkAction(url,data_login)
        time.sleep(1)

        print("step 2、从设备中读取config目录下所有配置文件。 ")
        print("step 3、解码后保存到files目录。")
        fpath='C:\\Users\\test\\AppData\\Local\\Programs\\Python\\Python36\\autotest\\websocket_api_2.0.1\\files\\ConfigFile_name.txt'
        for f_name in WR_file.ReadFile(fpath):
            """重新设置安装文件名"""
            data_file_send=rm.get_data("控制器发送文件","file_send_config")
            data_dict=json.loads(data_file_send)
            data_dict["data"]["file_name"]="%s"%f_name
            print("开始读取config文件:"+data_dict["data"]["file_name"])
            data_file_send=json.dumps(data_dict)
            t=c.checkAction(url,data_file_send)
            time.sleep(1)
            self.assertEqual(t["success"],True)
            print("%s config文件读取成功。"%f_name)

            str=t["data"]["value"]
            file_content=Base_64.decode(str)
            path='C:\\Users\\test\\AppData\\Local\\Programs\\Python\\Python36\\autotest\\websocket_api_2.0.1\\files\\'+f_name
            WR_file.WriteFile(path,file_content)
            print("%s config文件保存成功。"%f_name)

        data_logout=rm.get_data("退出登录","logout")
        print("step 4、释放设备:")
        c.checkAction(url,data_logout)
Example #3
0
    def test04_clear_default(self):
        """清除默认脚本 """
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、管理员登录设备。")
        c.checkAction(url, data_login)
        time.sleep(1)

        data_def_script = rm.get_data("设置默认脚本", "script_set_default_clear")
        print("step 2、清除默认程序设置。")
        t = c.checkAction(url, data_def_script)
        self.assertEqual(t["success"], True)
        time.sleep(1)

        data_def_script = rm.get_data("查询脚本信息", "script_query_script_name")
        print("step 3、查询tutorial.lua脚本信息。")
        t1 = c.checkAction(url, data_def_script)
        self.assertEqual(t["success"], True)
        time.sleep(1)
        if t1["data"]["default"] == False:
            print("default脚本清除成功!")
        else:
            print("default脚本清除失败!")

        data_logout = rm.get_data("退出登录", "logout")
        print("step 4、退出设备:")
        t = c.checkAction(url, data_logout)
        self.assertEqual(t["success"], True)
Example #4
0
    def test01_install_script(self):
        """3.控制器安装文件/安装script """
        rm=read_message.ReadMessage()
        data_login=rm.get_data("登录设备","login_admin")
        url=self.ws
        print("step 1、控制设备:")
        c.checkAction(url,data_login)
        time.sleep(1)

        data_install_file=rm.get_data("控制器安装文件","file_install_script")

        # """重新设置安装文件名"""
        # data_dict=json.loads(data_install_file)
        # data_dict["data"]["index"]=1
        # data_dict["data"]["file_name"]="test.lua"
        # print("安装脚本:"+data_dict["data"]["file_name"])
        # data_install_file=json.dumps(data_dict)
        # print(data_install_file)

        print("step 2、安装script文件: test.lua。")
        t=c.checkAction(url,data_install_file)
        self.assertEqual(t["success"],True)
        time.sleep(1)

        data_logout=rm.get_data("退出登录","logout")
        print("step 3、释放设备:")
        c.checkAction(url,data_logout)
    def test03_LogFile_send(self):
        """1. 控制器发送文件/日志文件/读取一个日志文件 """
        rm=read_message.ReadMessage()
        data_login=rm.get_data("登录设备","login_admin")
        url=self.ws
        print("step 1、控制设备:")
        c.checkAction(url,data_login)
        time.sleep(1)

        log_list=['qxlog.log','qxlog_detail.log','qxlog_detail.1.log','qxlog_detail.2.log','qxlog_detail.3.log','qxlog_detail.4.log','qxlog_detail.5.log']
        for log_name in log_list:
            data_file_send=rm.get_data("控制器发送文件","file_send_log")
            data_dict=json.loads(data_file_send)
            data_dict["data"]["file_name"]="%s"%log_name
            print("step 2、从设备读取配置文件:"+data_dict["data"]["file_name"])
            t=c.checkAction(url,data_file_send)
            time.sleep(1)
            self.assertEqual(t["success"],True)
            print("%s log文件读取成功。"%log_name)

            print("step 3、解码后保存到files目录。")
            str=t["data"]["value"]
            file_content=Base_64.decode(str)
            path='C:\\Users\\test\\AppData\\Local\\Programs\\Python\\Python36\\autotest\\websocket_api_2.0.1\\files\\'+log_name
            WR_file.WriteFile(path,file_content)
            print("%s LOG文件保存成功。"%log_name)

        data_logout=rm.get_data("退出登录","logout")
        print("step 4、释放设备:")
        c.checkAction(url,data_logout)
Example #6
0
    def test03_write_io_on(self):
        """2、设置本地IO_on """
        rm=read_message.ReadMessage()
        data_login=rm.get_data("登录设备","login_admin")
        url=self.ws
        print("step 1、管理员登录。")
        c.checkAction(url,data_login)
        time.sleep(1)

        data_io_set=rm.get_data("设置本地IO","io_write_local_on")
        print("step 2、设置io:")
        io_list=["red","green","yellow","relayflag"]

        data_dict=json.loads(data_io_set)
        for name in io_list:
            data_dict["data"]["name"]=name
            print("修改io:%s"%name )
            data_io_set=json.dumps(data_dict)
            t=c.checkAction(url,data_io_set)
            if t["success"]==True:
                print("状态置为1。")
            else:
                print("io状态修改失败。")
            time.sleep(1)

        data_logout=rm.get_data("退出登录","logout")
        print("step 3、退出登录。")
        c.checkAction(url,data_logout)
    def test02_read_io_param(self):
        """2、按配置读取IO:nick_name 可修改 """
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、管理员登录。")
        c.checkAction(url, data_login)
        time.sleep(1)

        data_io_read = rm.get_data("读取本地IO", "io_read_local_Z0")
        print("step 2、按配置参数读取io:")
        io_list = [
            "input_0", "input_1", "input_2", "input_3", "input_4", "input_5",
            "X0", "X1", "X2", "X3", "X4", "X5"
        ]

        data_dict = json.loads(data_io_read)
        for name in io_list:
            data_dict["data"]["name"] = name
            print("读取io的参数:%s" % name)
            data_io_set = json.dumps(data_dict)
            t = c.checkAction(url, data_io_set)
            if t["success"] == True:
                print("读取io成功")
            else:
                print("读取io失败。")
            time.sleep(0.1)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 3、退出登录。")
        c.checkAction(url, data_logout)
    def test05_read_io_default(self):
        """5、读取default IO:default 不可修改 """
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、管理员登录。")
        c.checkAction(url, data_login)
        time.sleep(1)

        data_io_read = rm.get_data("读取本地IO", "io_read_local_Z0")
        print("step 2、读取default_io:")
        io_list = ["stop_input", "X6"]

        data_dict = json.loads(data_io_read)
        for name in io_list:
            data_dict["data"]["name"] = name
            print("读取io的参数:%s" % name)
            data_io_set = json.dumps(data_dict)
            t = c.checkAction(url, data_io_set)
            if t["success"] == True:
                print("读取default_io成功")
            else:
                print("读取default_io失败。")
            time.sleep(0.1)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 3、退出登录。")
        c.checkAction(url, data_logout)
    def test04_info_admin(self):
        """4、管理员登录后,设备信息捕获。 """
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、登录设备/管理员")
        t = c.checkAction(url, data_login)
        time.sleep(1)

        rm = read_message.ReadMessage()
        data = rm.get_data("捕获设备信息", "info")  # 获取device.info.read命令发送数据包。
        ws = self.ws
        print("step 2、发送“查询设备信息”数据。")
        t = c.checkAction(ws, data)
        self.assertEqual(t["success"], True)
        print("设备名称:%s" % t["data"]["device_name"])
        print("分组:%s" % t["data"]["device_group"])
        print("设备ip:%s" % t["data"]["device_ip"])
        print("设备网关:%s" % t["data"]["device_gateway"])
        print("设备子网:%s" % t["data"]["device_mask"])
        print("是否被占用:%s" % t["data"]["is_occupied"])
        print("占用者ip:%s" % t["data"]["occupier_ip"])
        print("占用者名字:%s" % t["data"]["occupier_name"])

        data_logout = rm.get_data("退出登录", "logout")
        print("step 3、退出登录。")
        t = c.checkAction(url, data_logout)
        self.assertEqual(t["success"], True)
    def test01_read_io(self):
        """1、读取本地IO """
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、管理员登录。")
        c.checkAction(url, data_login)
        time.sleep(0.5)

        # data_io_read=rm.get_data("读取本地IO","io_read_local_Z0")
        # print("step 2、读取Z0的io。")
        # t=c.checkAction(url,data_io_read)
        # self.assertEqual(t["success"],True)
        # time.sleep(0.5)

        data_io_read = rm.get_data("读取本地IO", "io_read_local_X0")
        print("step 3、读取X0的io。")
        t = c.checkAction(url, data_io_read)
        self.assertEqual(t["success"], True)
        time.sleep(0.5)

        data_io_read = rm.get_data("读取本地IO", "io_read_local_X1")
        print("step 4、读取X1的io。")
        t = c.checkAction(url, data_io_read)
        self.assertEqual(t["success"], True)
        time.sleep(0.5)

        data_io_read = rm.get_data("读取本地IO", "io_read_local_X2")
        print("step 5、读取X2的io。")
        t = c.checkAction(url, data_io_read)
        self.assertEqual(t["success"], True)
        time.sleep(0.5)

        data_io_read = rm.get_data("读取本地IO", "io_read_local_X3")
        print("step 6、读取X3的io。")
        t = c.checkAction(url, data_io_read)
        self.assertEqual(t["success"], True)
        time.sleep(0.5)

        data_io_read = rm.get_data("读取本地IO", "io_read_local_X4")
        print("step 7、读取X4的io。")
        t = c.checkAction(url, data_io_read)
        self.assertEqual(t["success"], True)
        time.sleep(0.5)

        data_io_read = rm.get_data("读取本地IO", "io_read_local_X5")
        print("step 8、读取X5的io。")
        t = c.checkAction(url, data_io_read)
        self.assertEqual(t["success"], True)
        time.sleep(0.5)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 3、退出登录。")
        c.checkAction(url, data_logout)
Example #11
0
    def test03_login_admin(self):
        """1. 登录设备/管理员"""
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、登录设备/管理员")
        t = c.checkAction(url, data_login)
        self.assertEqual(t["success"], True)
        time.sleep(1)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 2、退出登录。")
        t = c.checkAction(url, data_logout)
        self.assertEqual(t["success"], True)
Example #12
0
def ws_connect():
    is_sigint_up = False
    rt = read_info.ReadInfo()
    web = rt.get_device_ip()
    port = rt.get_port()
    url = web + ":" + port
    try:
        ws = create_connection(url, timeout=10)  #建立设备连接

        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_monitor")
        print("step 1、登录设备/监控者")
        t = c.checkAction(ws, data_login)

        # rm=read_message.ReadMessage()
        # data_query_position=rm.get_data("31","query_position")
        while (is_sigint_up == False):
            if ws.connected:
                print("服务:%s连接成功!" % url)
                # t=ws.recv()
                t = json.loads(ws.recv())
                print(t)
                # print("查询脚本行数位置。")
                # c.checkAction(ws,data_query_position)
        ws.close()
    except Exception as e:
        print("websocket连接失败:%s" % e)
        pass
Example #13
0
    def test05_FileRemove_temp_script(self):
        """4.控制器删除文件/删除temp_script文件 """
        rm=read_message.ReadMessage()
        data_login=rm.get_data("登录设备","login_admin")
        url=self.ws
        print("step 1、控制设备:")
        c.checkAction(url,data_login)
        time.sleep(1)

        data_file_delete=rm.get_data("控制器删除文件","file_remove_temp_script")
        print("step 2、删除temp_script文件:test.lua。")
        t=c.checkAction(url,data_file_delete)
        self.assertEqual(t["success"],True)
        time.sleep(1)

        data_logout=rm.get_data("退出登录","logout")
        print("step 3、释放设备:")
        c.checkAction(url,data_logout)
Example #14
0
    def test01_read_io(self):
        """1、读取本地IO """
        rm=read_message.ReadMessage()
        data_login=rm.get_data("登录设备","login_admin")
        url=self.ws
        print("step 1、管理员登录。")
        c.checkAction(url,data_login)
        time.sleep(1)

        data_io_read=rm.get_data("读取本地IO","io_read_local_relayflag")
        print("step 2、读取Z0的io。")
        t=c.checkAction(url,data_io_read)
        self.assertEqual(t["success"],True)
        time.sleep(1)

        data_logout=rm.get_data("退出登录","logout")
        print("step 3、退出登录。")
        c.checkAction(url,data_logout)
Example #15
0
    def test03_file_receive_update(self):
        """2. 控制器接收文件/发送文件类型:update"""
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、控制设备:")
        c.checkAction(url, data_login)
        time.sleep(1)

        data_file_receive = rm.get_data("控制器接收文件", "file_receive_update")
        print("step 2、向设备写入升级文件test.reb。")
        t = c.checkAction(url, data_file_receive)
        self.assertEqual(t["success"], True)
        time.sleep(1)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 3、释放设备:")
        c.checkAction(url, data_logout)
Example #16
0
    def test03_install_update(self):
        """3.控制器安装文件/安装update """
        rm=read_message.ReadMessage()
        data_login=rm.get_data("登录设备","login_admin")
        url=self.ws
        print("step 1、控制设备:")
        c.checkAction(url,data_login)
        time.sleep(1)

        data_install_file=rm.get_data("控制器安装文件","file_install_update")

        print("step 2、安装update文件: test.reb。")
        t=c.checkAction(url,data_install_file)
        self.assertEqual(t["success"],True)
        time.sleep(1)

        data_logout=rm.get_data("退出登录","logout")
        print("step 3、释放设备:")
        c.checkAction(url,data_logout)
Example #17
0
    def test04_write_modbus_register(self):
        """设置MODBUS/设备之间/写寄存器 """
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、管理员登录。")
        c.checkAction(url, data_login)
        time.sleep(1)

        data_modbus_set = rm.get_data("设置MODBUS", "io_write_modbus")
        print("step 2、写入寄存器。")
        # "agreement":"T",
        # "server_index":3,
        # "type":0,
        # "address":20,
        # "value":10
        agreement = ["T", "R", "A"]
        server_index = [0, 3]
        type = 3
        address = [2, 20, 120, 300]
        value = [3, 49, 100, 2684]
        data_dict = json.loads(data_modbus_set)
        data_dict["data"]["type"] = type
        for index in server_index:
            data_dict["data"]["server_index"] = index
            print("modbus机器号:%s" % index)
            for address1 in address:
                data_dict["data"]["address"] = address1
                print("写入的寄存器地址:%s" % address1)
                for values in value:
                    data_dict["data"]["value"] = values
                    data_modbus_set = json.dumps(data_dict)
                    t = c.checkAction(url, data_modbus_set)
                    if t["success"] == True:
                        print("%s号机器的%s地址值设置:%s成功。" %
                              (index, address1, values))
                    else:
                        print("%s号机器的%s地址设置失败。" % (index, address1))
                    time.sleep(0.5)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 3、退出登录。")
        c.checkAction(url, data_logout)
Example #18
0
    def test01_set_default(self):
        """3. 设置默认脚本 """
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、管理员登录设备。")
        c.checkAction(url, data_login)
        time.sleep(1)

        data_def_script = rm.get_data("设置默认脚本", "script_set_default")
        print("step 2、设置tutorial.lua为默认程序。")
        t = c.checkAction(url, data_def_script)
        self.assertEqual(t["success"], True)
        time.sleep(1)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 3、退出设备:")
        t = c.checkAction(url, data_logout)
        self.assertEqual(t["success"], True)
Example #19
0
    def test01_modbus_connect(self):
        """激活index_server:3的modbus连接 """
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、管理员登录。")
        c.checkAction(url, data_login)
        time.sleep(1)

        rm = read_message.ReadMessage()
        data_modbus_connect = rm.get_data("Modbus连接", "io_modbus_connect")
        url = self.ws
        print("step 2、激活index_server:3的modbus连接。")
        t = c.checkAction(url, data_modbus_connect)
        self.assertEqual(t["success"], True)
        time.sleep(1)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 3、退出登录。")
        c.checkAction(url, data_logout)
 def test01_info(self):
     """1、无需登录直接捕获。 """
     rm = read_message.ReadMessage()
     data = rm.get_data("捕获设备信息", "info")  # 获取device.info.read命令发送数据包。
     ws = self.ws
     print("发送“查询设备信息”数据。")
     t = c.checkAction(ws, data)
     self.assertEqual(t["success"], True)
     print("设备网关:%s" % t["data"]["device_gateway"])
     print("设备ip:%s" % t["data"]["device_ip"])
     print("设备子网:%s" % t["data"]["device_mask"])
     print("设备名称:%s" % t["data"]["device_name"])
Example #21
0
    def test05_read_modbus_register(self):
        """读取MODBUS/设备之间 /读寄存器"""
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、管理员登录。")
        c.checkAction(url, data_login)
        time.sleep(1)

        data_modbus_read = rm.get_data("读取MODBUS", "io_read_modbus")
        print("step 2、读取寄存器。")
        # "agreement":"T",
        # "server_index":3,
        # "type":0,
        # "address":20
        server_index = [0, 3]
        type = 2
        address = [2, 20, 120, 300]

        data_dict = json.loads(data_modbus_read)
        data_dict["data"]["type"] = type
        for index in server_index:
            data_dict["data"]["server_index"] = index
            print("modbus机器号:%s" % index)
            for address1 in address:
                data_dict["data"]["address"] = address1
                print("读取的寄存器地址:%s" % address1)

                data_modbus_read = json.dumps(data_dict)
                t = c.checkAction(url, data_modbus_read)
                if t["success"] == True:
                    print("%s号机器的%s地址值读取为:%s。" %
                          (index, address1, t["data"]["value"]))
                else:
                    print("%s号机器的%s地址设置失败。" % (index, address1))
                time.sleep(0.5)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 3、退出登录。")
        c.checkAction(url, data_logout)
Example #22
0
    def test05_password_reset_operator(self):
        """3. 修改密码/操作者无权修改密码"""
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_operator")
        url = self.ws
        print("step 1、登录设备/操作者")
        t = c.checkAction(url, data_login)
        self.assertEqual(t["success"], True)
        time.sleep(1)

        data_reset = rm.get_data("修改密码", "password_reset_operator")
        url = self.ws
        print("step 2、修改操作者密码")
        t = c.checkAction(url, data_reset)
        self.assertEqual(t["success"], False)
        print("操作者无权修改密码")
        time.sleep(1)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 3、退出登录。")
        t = c.checkAction(url, data_logout)
        self.assertEqual(t["success"], True)
Example #23
0
    def test06_password_reset_admin(self):
        """3. 修改密码/管理员可以修改密码"""
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、登录设备/管理员")
        t = c.checkAction(url, data_login)
        self.assertEqual(t["success"], True)
        time.sleep(1)

        data_reset_monitor = rm.get_data("修改密码", "password_reset_monitor")
        url = self.ws
        print("step 2、修改监控者密码")
        t = c.checkAction(url, data_reset_monitor)
        self.assertEqual(t["success"], True)
        print("成功修改临控者密码")
        time.sleep(1)

        data_reset_operator = rm.get_data("修改密码", "password_reset_operator")
        url = self.ws
        print("step 3、修改操作者密码")
        t = c.checkAction(url, data_reset_operator)
        self.assertEqual(t["success"], True)
        print("成功修改操作者密码")
        time.sleep(1)

        data_reset_admin = rm.get_data("修改密码", "password_reset_admin")
        url = self.ws
        print("step 4、修改管理员密码")
        t = c.checkAction(url, data_reset_admin)
        self.assertEqual(t["success"], True)
        print("成功修改管理员密码")
        time.sleep(1)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 5、退出登录。")
        t = c.checkAction(url, data_logout)
        self.assertEqual(t["success"], True)
Example #24
0
    def test03_query_default(self):
        """4. 查询脚本信息/查询默认脚本 """
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、管理员登录设备。")
        c.checkAction(url, data_login)
        time.sleep(1)

        data_def_script = rm.get_data("查询脚本信息", "script_query_script_default")
        print("step 3、查询默认脚本信息。")
        t = c.checkAction(url, data_def_script)
        self.assertEqual(t["success"], True)
        time.sleep(1)
        if t["data"]["default"] == True and t["data"]["name"] == 'tutorial.lua':
            print("default脚本查询正确!")
        else:
            print("default脚本查询错误!")

        data_logout = rm.get_data("退出登录", "logout")
        print("step 3、退出设备:")
        t = c.checkAction(url, data_logout)
        self.assertEqual(t["success"], True)
    def test02_ConfigFile_send(self):
        """1. 控制器发送文件/配置文件/读取一个配置文件 """
        rm=read_message.ReadMessage()
        data_login=rm.get_data("登录设备","login_admin")
        url=self.ws
        print("step 1、控制设备:")
        c.checkAction(url,data_login)
        time.sleep(1)

        data_file_send=rm.get_data("控制器发送文件","file_send_config")
        print("step 2、从设备读取配置文件:lua.json ")
        t=c.checkAction(url,data_file_send)
        time.sleep(1)
        self.assertEqual(t["success"],True)

        print("step 3、解码后保存到files目录。")
        str=t["data"]["value"]
        file_content=Base_64.decode(str)
        path='C:\\Users\\test\\AppData\\Local\\Programs\\Python\\Python36\\autotest\\websocket_api_2.0.1\\files\\lua.json'
        WR_file.WriteFile(path,file_content)

        data_logout=rm.get_data("退出登录","logout")
        print("step 4、释放设备:")
        c.checkAction(url,data_logout)
    def test04_write_io_on(self):
        """4、设置本地IO_on:nick_name 可修改 """
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、管理员登录。")
        c.checkAction(url, data_login)
        time.sleep(0.2)

        data_io_set = rm.get_data("设置本地IO", "io_write_local_on")
        print("step 2、设置io:")
        io_list = [
            "output_0", "output_1", "output_2", "output_3", "output_4",
            "output_5", "output_6", "output_7", "output_0", "Y0", "Y1", "Y2",
            "Y3", "Y4", "Y5", "Y6", "Y7"
        ]

        data_dict = json.loads(data_io_set)

        data_io_read = rm.get_data("读取本地IO", "io_read_local_Z0")
        data_dict_read = json.loads(data_io_read)
        for name in io_list:
            data_dict["data"]["name"] = name
            print("修改io:%s" % name)
            data_io_set = json.dumps(data_dict)
            t = c.checkAction(url, data_io_set)
            if t["success"] == True:
                print("状态置为1。")
            else:
                print("io状态修改失败。")
            time.sleep(0.1)

            data_dict_read["data"]["name"] = name
            print("读取io:%s" % name)
            data_io_read = json.dumps(data_dict_read)
            t = c.checkAction(url, data_io_read)
            if t["success"] == True:
                print("io: %s 的state值为:%s。" % (name, t["data"]["state"]))
            else:
                print("io:%s读取失败。" % name)
            time.sleep(0.1)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 3、退出登录。")
        c.checkAction(url, data_logout)
    def test07_write_io_default_on(self):
        """7、设置本地IO_on:default 不可修改 """
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        print("step 1、管理员登录。")
        c.checkAction(url, data_login)
        time.sleep(0.2)

        data_io_set = rm.get_data("设置本地IO", "io_write_local_on")
        print("step 2、设置io:")
        io_list = [
            "red", "Y8", "green", "Y9", "yellow", "Y10", "stop_output", "Y11"
        ]

        data_dict = json.loads(data_io_set)
        data_io_read = rm.get_data("读取本地IO", "io_read_local_Z0")
        data_dict_read = json.loads(data_io_read)
        for name in io_list:
            data_dict["data"]["name"] = name
            print("修改default_io:%s" % name)
            data_io_set = json.dumps(data_dict)
            t = c.checkAction(url, data_io_set)
            if t["success"] == True:
                print("状态置为1。")
            else:
                print("io状态修改失败。")
            time.sleep(0.1)

            data_dict_read["data"]["name"] = name
            print("读取io:%s" % name)
            data_io_read = json.dumps(data_dict_read)
            t = c.checkAction(url, data_io_read)
            if t["success"] == True:
                print("io: %s 的state值为:%s。" % (name, t["data"]["state"]))
            else:
                print("io:%s读取失败。" % name)
            time.sleep(0.1)

        data_logout = rm.get_data("退出登录", "logout")
        print("step 3、退出登录。")
        c.checkAction(url, data_logout)
Example #28
0
    def test01_script_control(self):
        """脚本运行控制相关操作。 """
        rm=read_message.ReadMessage()
        data_login=rm.get_data("登录设备","login_admin")
        url=self.ws
        print("step 1、管理员登录设备。")
        c.checkAction(url,data_login)
        time.sleep(1)

        # data_clear_error=rm.get_data("清除设备错误","clear_error")
        # url=self.ws
        # print("无论是否有错误,先清除错误。")
        # c.checkAction(url,data_clear_error)
        # time.sleep(3)


        data_servo_enable=rm.get_data("伺服使能","servo_enable")
        print("step 2、伺服使能。")
        c.checkAction(url,data_servo_enable)
        time.sleep(4)


        data_script_start=rm.get_data("脚本运行控制","script_start")
        print("step 3、运行脚本:tutorial.lua.")
        t1=c.checkAction(url,data_script_start)
        # self.assertEqual(t1["success"],True)
        time.sleep(5)

        data_velocity=rm.get_data("调整全局速度","adjust_velocity")
        print("step 4、调节运行速度为40%")
        t2=c.checkAction(url,data_velocity)
        # self.assertEqual(t2["success"],True)
        time.sleep(5)

        data_script_pause=rm.get_data("脚本运行控制","script_pause")
        print("step 5、暂停脚本运行:")
        t3=c.checkAction(url,data_script_pause)
        # self.assertEqual(t3["success"],True)
        time.sleep(5)

        data_script_continue=rm.get_data("脚本运行控制","script_continue")
        print("step 6、暂停后继续脚本运行:")
        t4=c.checkAction(url,data_script_continue)
        # self.assertEqual(t4["success"],True)
        time.sleep(5)

        data_script_emergency=rm.get_data("紧急停止","emergency_stop")
        print("step 7、运行过程中急停。")
        t=c.checkAction(url,data_script_emergency)
        # self.assertEqual(t["success"],True)
        time.sleep(5)

        data_script_start=rm.get_data("脚本运行控制","script_start")
        print("step 8、运行脚本:tutorial.lua.")
        t6=c.checkAction(url,data_script_start)
        # self.assertEqual(t6["success"],True)
        time.sleep(5)

        data_script_stop=rm.get_data("脚本运行控制","script_stop")
        print("step 9、停止脚本运行:")
        t5=c.checkAction(url,data_script_stop)
        # self.assertEqual(t5["success"],True)
        time.sleep(5)

        data_servo_disable=rm.get_data("伺服失能","servo_disable")
        print("step 10、伺服失能.")
        t7=c.checkAction(url,data_servo_disable)
        # self.assertEqual(t7["success"],True)
        time.sleep(3)

        data_logout=rm.get_data("退出登录","logout")
        print("step 11、退出登录。")
        c.checkAction(url,data_logout)
        time.sleep(3)
Example #29
0
    def test_install(self):
        """控制器接收文件"""
        rm = read_message.ReadMessage()
        data_login = rm.get_data("登录设备", "login_admin")
        url = self.ws
        path = self.path
        filename = self.filename
        print("step 1、管理员登录设备。")
        c.checkAction(url, data_login)
        time.sleep(1)

        print("step 2、向设备写入脚本:")

        # """一个总包直接传输文件"""
        # f=open(path,'r',encoding='utf-8')
        # str=f.read()
        # script_base64=Base_64.encode(str)
        # f.close()
        # data_file={
        #     "action":"device.file.receive",
        #     "data":{
        #         "type":"script",
        #         "file_name":filename,
        #         "md5":"",
        #         "total":1,
        #         "index":1,
        #         "content":script_base64
        #         }
        #     }
        # data_file=json.dumps(data_file)
        # c.checkAction(url,data_file)
        """分包写入文件"""
        Block_Size = self.size
        total = s.total_count(path, Block_Size)
        str_md5 = s.read_a_file(path)
        md5 = to_md5.md5(str_md5)
        print("总包数为:%s" % total)
        index = 1
        for content in s.read_file(path, Block_Size):
            str = content
            script_base64 = Base_64.encode(str)
            data_file = {
                "action": "file.receive",
                "data": {
                    "type": "script",
                    "file_name": filename,
                    "total": total,
                    "index": index,
                    "md5": "%s" % md5,
                    "value": script_base64
                }
            }
            data_file = json.dumps(data_file)
            c.checkAction(url, data_file)
            index = index + 1
            print(script_base64)

        data_install_script = rm.get_data("控制器安装文件", "file_install_script")
        """重新设置安装文件名"""
        data_dict = json.loads(data_install_script)
        data_dict["data"]["index"] = self.i
        data_dict["data"]["file_name"] = "%s" % filename
        print("安装脚本:" + data_dict["data"]["file_name"])
        data_install_script = json.dumps(data_dict)
        print(data_install_script)

        print("step 3、安装%s文件" % filename)
        c.checkAction(url, data_install_script)
        time.sleep(2)