Esempio n. 1
0
    def test_a_get_user(self):
        '''获取用户信息'''
        self.udp(self.getParam().get_all_user)
        self.assertEqual(self.res['status'], 200)
        self.assertEqual(self.res['id'], self.in_param['id'])
        data = self.res['result']['data']
        if data:
            for i in data:
                umac = i['umac']
                self.assertEqual(len(umac), 12)
                self.assertNotIn(umac, '000000000000')
                self.assertTrue(self.misc().isValidMac(umac))  # 校验mac是否合法

                onway = i['onway']  # 连接路由器方式:wlan:1  lan口:2
                usingstate = i['usingstate']  # 连接路由器方式:wlan:1  lan口:2
                uip = i['uip']
                self.assertTrue(self.misc().judge_legal_ip(uip))  # 校验ip是否合法
                self.assertIn(onway, [1, 2])
                self.assertIn(usingstate, [1, 2, 3])
                if onway == 1:
                    widx = i['widx']  # ssid
                    self.assertIn(widx, [0, 1, 2, 3, 4])
                log.debug('assert ok')
        else:
            log.debug('data is null')
Esempio n. 2
0
 def compareDict(self, a='', b=''):
     """
     更新字典
     :param parm_temp: 模板字典
     :param new_parm: 更新模板字典
     :return:
     """
     try:
         if isinstance(a, dict) and b:
             for x in range(len(a)):
                 temp_key = a.keys()[x]
                 temp_value = a[temp_key]
                 if isinstance(b, dict) and temp_value:
                     for y in range(len(b)):
                         temp_key_b = b.keys()[y]
                         temp_value_b = b[temp_key_b]
                         if not isinstance(temp_value,
                                           (list, dict)) and not isinstance(
                                               temp_value_b, (list, dict)):
                             if temp_key == temp_key_b:
                                 if temp_value != temp_value_b:
                                     log.debug(
                                         'recv:{{{0}:{1}}} != expect:{{{2}:{3}}}'
                                         .format(temp_key, temp_value,
                                                 temp_key_b, temp_value_b))
                         self.compareDict(temp_value, temp_value_b)
     except BaseException as msg:
         raise msg
Esempio n. 3
0
    def test_a_get_wifi(self):
        '''获取wifi配置'''
        self.udp(self.getParam().get_wifi)
        self.assertEqual(self.res['status'], 200)
        data = self.res['result']['data']
        if data:
            for i in data:
                txpower = i['txpower']
                type = i['type']
                biisolation = i['biisolation']
                channel = i['channel']
                self.assertLessEqual(txpower, 100)
                self.assertIn(type, [2, 5])
                self.assertIn(biisolation, [0, 1])
                self.assertLessEqual(channel, 13)
                self.assertNotEqual(channel, 0)
                ssidlist = i['ssidlist']
                for j in ssidlist:
                    enable = j['enable']
                    encrypt = j['encrypt']
                    isolation = j['isolation']
                    widx = j['widx']
                    self.assertIn(enable, [0, 1])
                    self.assertIn(encrypt, [0, 1])
                    self.assertIn(isolation, [0, 1])
                    self.assertIn(widx, [0, 1, 2, 3, 4])

            log.debug('assert is ok')
        else:
            log.debug('data is null')
Esempio n. 4
0
 def _conn(self):
     try:
         self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
         self.address = (self.addr, self.port)
         self.client_socket.settimeout(30)
         log.debug('_conn succ:{}'.format(self.address))
     except:
         log.error('_conn fail')
Esempio n. 5
0
 def send(self,send_data):
     send_data = Misc.jsonToStr(send_data)
     try:
         log.debug("send data:{}".format(send_data))
         # 发送成功响应值是发送数据的长度
         send_len = self.client_socket.sendto(send_data, self.address)
         # res = self.client_socket.sendto('sdfasfd', ('172.16.16.1',2048))
         log.debug('send succ [len:{}]'.format(send_len))
         return send_len
     except:
         log.error('send error')
         return 0
Esempio n. 6
0
 def copy_file(cls, filepath, newpath):
     """
     复制指定文件到目标目录;
     :param filepath:
     :param newpath:
     :return:
     """
     try:
         shutil.copy(filepath, newpath)
         log.debug(u'copy=>ok')
     except BaseException as msg:
         print msg
Esempio n. 7
0
 def recv(self):
     self.receive_data, self.sender_address = self.client_socket.recvfrom(2048)
     try:
         res = Misc.strtojson(self.receive_data)
         log.debug("recv data: {}".format(res))
         if not isinstance(res,dict):
             log.error('res is not dict:500')
         return res
     except BaseException as msg:
         log.error('recv data:{}'.format(self.receive_data))
         raise msg
     except:
         msg = 'recv timeout'
         log.error(msg)
Esempio n. 8
0
    def del_file_the_earliest(cls, dir, maxFileNum):
        """
        当删除指定目录dir中文件总数>500,删除最早的一个文件
        :param dir:
        :param filename:
        :return:
        """
        log.debug(dir)

        cls.dir = str(dir)
        if not os.listdir(dir):
            log.debug(u'目录中没有文件')

        while len(os.listdir(dir)) > int(maxFileNum):
            try:
                lists = os.listdir(dir)
                lists.sort(key=lambda fn: os.path.getmtime(dir + '/' + fn))
                file_old0 = os.path.join(lists[0])
                file_old1 = os.path.join(lists[1])
                # 返回最早生成的文件名称
                log.debug('remove report file:%s' % file_old0)
                log.debug('remove report file:%s' % file_old1)
                os.remove(cls.dir + file_old0)
                os.remove(cls.dir + file_old1)
            except Exception as msg:
                log.error(msg)
                raise msg
Esempio n. 9
0
 def del_file(cls, dir, filename):
     """
     删除指定目录dir中与filename不同的文件
     :param dir:
     :param filename:
     :return:
     """
     cls.dir = str(dir)
     try:
         if os.listdir(dir):
             for file in os.listdir(cls.dir):
                 if file != filename:
                     os.remove(cls.dir + file)
             log.debug('del_file => ok')
     except Exception as msg:
         log.error('del_file => error')
         raise msg
Esempio n. 10
0
 def move_screenshot(cls, tarpath="Fail||Pass"):
     """
     移动截图到指定dirname目录中
     :return:tarpath = Fail||Pass
     """
     try:
         dirname = datetime.datetime.now().strftime("%Y%m%d.%H%M%S.%f")[:-3]
         old_path = Misc.ABSpath() + "/Output/Screenshot/" + tarpath + "/"
         path = Misc.ABSpath() + "/Output/Screenshot/"
         new_path_screen = path + dirname
         for root, dirs, files in os.walk(old_path):
             if len(files) != 0:
                 Misc.mkdir(old_path, new_path_screen)
                 log.debug(u'创建新路径')
             else:
                 log.debug(u'当前目录无文件,不创建新目录')
             if len(dirs) == 0:
                 for i in range(len(files)):
                     log.debug(u'查找file')
                     if files[i][-3:] == 'png':
                         log.debug(u'查找.png图片')
                         old_path_file = old_path + "/" + files[i]
                         new_path_screen_file = new_path_screen + "/" + files[
                             i]
                         shutil.move(old_path_file, new_path_screen_file)
                         log.debug(u'执行移动')
                     else:
                         log.debug(u'当前路径无.png图片')
         log.debug(u'移动截图成功')
     except Exception as msg:
         log.error(u'移动截图失败')
         print msg
         raise
Esempio n. 11
0
 def send(self, send_data):
     log.debug('send_data:{}'.format(send_data))
     self.server_socket.sendto(self.receive_data, self.client_address)
Esempio n. 12
0
 def recv(self):
     self.receive_data, self.client_address = self.server_socket.recvfrom(
         1024)
     log.debug("接收到了客户端 %s 传来的数据: %s" %
               (self.client_address, self.receive_data.decode()))
     return self.receive_data