def run(self): list0 = util.util().getTeseCasesATX(self.j, isRunning=True) if len(list0): log.log().logger.info('case still running !') else: list = util.util().getTeseCasesATX(self.j) if len(list): log.log().logger.info('start test by single devices :%s ' % list[0][0]) self.q.put(u"打点我是第%d个线程,ip: %s, 测试用例:%s" % (self.t, self.j, list[0][0])) log.log().logger.info(u"打点我是第%d个线程,ip: %s, 测试用例:%s" % (self.t, self.j, list[0][0])) process().main(list[0]) time.sleep(2) else: list2 = util.util().getTeseCasesATX(all=True) log.log().logger.info('current list lenth is: %s' % len(list2)) if len(list2): try: case = list2[self.t] except: case = list2[0] log.log().logger.info('current ip is : %s' % str(self.j))
def screenshot(self, driver, id, screenFileList, isError=False): result = '2' if isError: fileName, fileName1 = util.util().screenshot('error', id) else: fileName, fileName1 = util.util().screenshot('normal', id) log.log().logger.debug(fileName) driver.save_screenshot(fileName) screenFileList.append(fileName1) result = '1' return result, screenFileList
def take_screenshot(self, u, type, caseNo, screenFileList): fileName, fileName1 = util.util().screenshot(type, caseNo) image = u.screenshot() image.save(fileName) screenFileList.append(fileName1) result = '1' return result, screenFileList
def screenshot(self, driver, id, screenFileList, isError=False): result = 2 if isError: fileName, fileName1 = util.util().screenshot('error', id) else: fileName, fileName1 = util.util().screenshot('normal', id) try: # print(fileName) driver.save_screenshot(fileName) screenFileList.append(fileName1) result = 1 except requests.exceptions.ConnectionError as e: log.log().logger.error(e) except selenium.common.exceptions.WebDriverException as e: log.log().logger.error(e) return result, screenFileList
def runmain(self, test_suite_id, threadNum, runType): Hubs = hubs.hubs().showHubs(runType) if len(Hubs) == 0: log.log().logger.error('cannot run for no available hubs!') else: self.multipleRun(util.util().getTeseCases(test_suite_id), threadNum) test_task_manage.test_task_manage().update_test_suite_check()
def getDevices(self): url = config.ATXHost + '/list' response, content = util.util().send(url) content = json.loads(content) deviceList = [] for device in content: if device['present']: deviceList.append(device['ip'] + ':7912') else: log.log().logger.debug(device['ip'] + ' is not ready!') return deviceList
def screenshot(self, driver, id, screenFileList, isError=False): """ Save current page as a screenshot. :param driver: :param id: case id. :param screenFileList: screenshot file list for this case. :param isError: screenshot type, error or normal. :return: """ result = '2' if isError: fileName, fileName1 = util.util().screenshot('error', id) else: fileName, fileName1 = util.util().screenshot('normal', id) log.log().logger.info(fileName) driver.save_screenshot(fileName) screenFileList.append(fileName1) if not isError: result = '1' return result, screenFileList
def runmain(self,test_suite_id,threadNum, runType ): if runType == 'Android' and isUseATX: Hubs = hubs.hubs().getDevices() log.log().logger.debug('Run type is ATX and usable devices are %s' %Hubs) else: Hubs = hubs.hubs().showHubs(runType) if len(Hubs) ==0: log.log().logger.debug('cannot run for no available hubs!') elif runType == 'Android' and isUseATX: self.atxMain() else: self.multipleRun(util.util().getTeseCases(test_suite_id),threadNum) test_task_manage.test_task_manage().update_test_suite_check()
def getDevicesList(self): url = config.ATXHost + '/list' response, content = util.util().send(url) content = json.loads(content) deviceLists = [] for device in content: deviceList = {} if device['present']: deviceList["ip"] = device['ip'] + ':7912' deviceList["model"] = device['model'] deviceLists.append(deviceList) else: log.log().logger.info(device['ip'] + ' is not ready!') return deviceLists
def user_password(): list = session.get('user', None) id = list[0]["id"] log.log().logger.info('id: %s' % id) info = request.values log.log().logger.info('info : %s' % info) password = viewutil.getInfoAttribute(info, 'password') log.log().logger.info('password : %s' % password) if len(password): md5Password = util.util().md5(password) log.log().logger.info('md5Password : %s' % md5Password) test_user_manage.test_user_manage().update_user_password( id, ['password'], [md5Password]) result = jsonify({'code': 200, 'msg': '修改密码成功'}) else: result = jsonify({'code': 500, 'msg': '密码不得为空!'}) return result, {'Content-Type': 'application/json'}
def add_user(): list = session.get('user', None) info = request.values log.log().logger.info('info : %s' % info) username = viewutil.getInfoAttribute(info, 'username') password = viewutil.getInfoAttribute(info, 'password') log.log().logger.info('password : %s' % password) md5Password = util.util().md5(password) log.log().logger.info('md5Password : %s' % md5Password) result0 = test_user_manage.test_user_manage().new_user( username, md5Password) if result0: result = jsonify({'code': 200, 'msg': '新增成功'}) return result, {'Content-Type': 'application/json'} else: result = jsonify({'code': 500, 'msg': '用户已存在!'}) return result, {'Content-Type': 'application/json'}
def atxMain(self): q = queue.Queue() Hubs = hubs.hubs().getDevices() alllist = util.util().getTeseCasesATX(all=True) if len(Hubs) and len(alllist): count = 0 threads = [] for i in range(len(Hubs)): j = Hubs[i] threads.append(MyThread(q, i, j)) for mt in threads: mt.start() log.log().logger.info("start time: %s" %time.ctime()) elif len(alllist): log.log().logger.debug('no device is avaible!') else: log.log().logger.debug('no test case is needed!')
def checklogin(): username = request.values.get("username") password = request.values.get("password") log.log().logger.info('username : %s' % username) log.log().logger.info('password : %s' % password) if username == '' or password == '': result = jsonify({'msg': '用户名或密码不能为空'}) else: #MD5加密密码 md5Password = util.util().md5(password) log.log().logger.info('password : %s' % md5Password) #检查数据是否存在该用户 list = test_user_manage.test_user_manage().checklogin( username, md5Password) log.log().logger.info('list : %s' % list) if (len(list) > 0): result = jsonify({'msg': '登录成功'}) #登录成功设置会话 session['user'] = list else: result = jsonify({'msg': '用户名或密码错误'}) return result, {'Content-Type': 'application/json'}
def runmain(self, test_suite_id, threadNum, runType): Hubs = hubs.hubs().showHubs(runType) self.multipleRun(util.util().getTeseCases(test_suite_id), threadNum) test_task_manage.test_task_manage().update_test_suite_check()