def index_views(request): context_data = get_basic_data() context_data["my_case_of_text_total"] = my_case_of_text.objects.count() context_data["my_case_of_api_total"] = my_case_of_API.objects.count() context_data["my_case_of_ui_total"] = my_case_of_UI.objects.count() context_data['my_project_total'] = my_project.objects.count() daily_report = [] for x in range(10): up_time = timezone.now() + timezone.timedelta(days=-x) dow_time = timezone.now() + timezone.timedelta(days=-(x + 1)) moonday = up_time report_total = my_report.objects.filter( create_time__gt=dow_time, create_time__lt=up_time).count() pass_report_total = my_report.objects.filter(create_time__gt=dow_time, create_time__lt=up_time, report_result=1).count() failure_report_total = my_report.objects.filter( create_time__gt=dow_time, create_time__lt=up_time, report_result=0).count() daily_report.append({ 'moonday': '\'' + str(moonday) + '\'', 'report_total': int(report_total), 'pass_report_total': int(pass_report_total), 'failure_report_total': int(failure_report_total) }) context_data['daily_report'] = daily_report return render(request, 'my_index_html5.html', context_data)
def devices_phone_views(request): context = get_basic_data() if request.method == 'POST': renew = request.POST.getlist("renew") Android_devices_list = request.POST.getlist("Android") iOS_devices_list = request.POST.getlist("iOS") if renew: devices_phone.objects.filter().delete() get_devices_info_Android() # 本机使用这个更新数据库的连接信息 context['Android'] = get_devices_info('Android') context['iOS'] = get_devices_info('iOS') return render(request, 'my_devices_phone_html5.html', context) if Android_devices_list: devices_phone.objects.filter(platformName='Android').update(used=0) for uid in Android_devices_list: devices_phone.objects.filter(deviceName=uid).update(used='1') elif iOS_devices_list: devices_phone.objects.filter(platformName='iOS').update(used=0) for uid in iOS_devices_list: devices_phone.objects.filter(deviceName=uid).update(used='1') context['Android'] = get_devices_info('Android') context['iOS'] = get_devices_info('iOS') return HttpResponseRedirect('/task') else: context['Android'] = get_devices_info('Android') context['iOS'] = get_devices_info('iOS') return render(request, 'my_devices_phone_html5.html', context)
def make_rerort(request): context = get_basic_data() context['course_code'] = get_course_name() context['course_time'] = range(1, 12) if request.method == 'POST': #if request.method == "POST" 空的也ok if request.POST 不能是空的 course_code = request.POST.get("course_code") course_time = request.POST.get("course_time") class_id = request.POST.get("class_id") assert int(class_id) > 10000, 'class_id输入错误' course_code_list = get_course_code(course_code) subject_show_id = course_code_list[1] course_code = str(course_code_list[0]) + str(course_time) report_url = make_report(class_id, course_code, subject_show_id, dict_index='3', user='******', password='******')['classReportList'] context['report_url_data'] = report_url print(report_url) if report_url: context['ruesl'] = 'ok' else: context['ruesl'] = 'not' return render(request, 'make_rerort.html', context)
def my_register(request): """ 用于处理注册的逻辑, 有一个对应的表单 my_register_form :param request: :return: """ context_data = get_basic_data() context_data['my_register_form'] = my_register_form if request.method == 'POST': the_my_register = my_register_form(request.POST) if the_my_register.is_valid(): ''' form 里面 重写了 is_valid ,用于判断新用户是否符合规则 1.注册的用户是否已存在, 2.两个密码在否相同 所以先调用is_valid ,再clean ''' new_user_data = the_my_register.clean() new_user = User.objects.create_user( username=new_user_data['user_name'], email=new_user_data['e_mail'], password=new_user_data['pass_word']) new_user.save() else: print(the_my_register.errors) context_data['my_register_form'] = the_my_register return render(request=request, template_name='my_register_html5.html', context=context_data) return render(request=request, template_name='my_register_html5.html', context=context_data)
def test_control(request): context = get_basic_data() run_api_case() if request.method == 'GET': a=request.GET.get("subject") print(a) return render(request, 'test.html', context)
def report_control(request): id = get_maxid() context = get_basic_data() if request.method == 'GET': get_id = request.GET.get("id") if get_id: id = get_id context = get_report(context, id) return render(request, 'report.html', context)
def task_control(request): context = get_basic_data() context = get_all_report(context) context = get_cast_list_of_API(context) context = get_cast_list_of_UI(context) print(context) context["todaytime"] = str( time.strftime('%Y-%m-%dT%H:%M:%S', time.localtime(time.time()))) # print(context) if request.method == 'POST': context = get_task_queue(context) report_index = request.POST.get('report_index') if report_index: #点查看报告跳转到报告页面 context = get_report(context, int(report_index)) return render(request, 'report.html', context) test_type = request.POST.get('test_type') context['test_type'] = test_type selected_case_list = request.POST.getlist("selected_case_list") context['selected_case_list'] = selected_case_list if selected_case_list: todaytime = request.POST.get('todaytime') todaytime = str(todaytime).replace('T', ' ') print(11111111111, todaytime) project_name = request.POST.get('project_name') task_json = {} task_json['task_state'] = 0 task_json['test_type'] = request.POST.get('test_type1') task_json['project_name'] = project_name task_json['case_list'] = selected_case_list task_json["todaytime"] = todaytime put_to_task_management(task_json) context = get_basic_data() context = get_all_report(context) context = get_cast_list_of_API(context) context["todaytime"] = str( time.strftime('%Y-%m-%dT%H:%M:%S', time.localtime(time.time()))) context = get_task_queue(context) return render(request, 'task.html', context) context = get_task_queue(context) return render(request, 'task.html', context)
def my_project(request): ''' 负责 home页面的处理 :param request: :return: ''' context_data = get_basic_data() context_data['get_text_case_form'] = get_text_case_form if request.method == 'GET': the_project_name = request.GET.get("the_project_name") context_data['the_project_name'] = the_project_name context_data = get_case_text_dict(context_data) elif request.method == 'POST': new_text_case = get_text_case_form(request.POST) if new_text_case.is_valid(): new_text_case = new_text_case.clean() print(new_text_case) context_data['the_project_name'] = new_text_case['project_name'] if new_text_case['text_case_id'] == '': now_text_case_models = my_case_of_text( project_name=new_text_case['project_name'], module_name=new_text_case['text_module_name'], case_name=new_text_case['text_case_name'], operation_steps=new_text_case['operation_steps'], expected_results=new_text_case['expected_results'], remarks=new_text_case['remarks'], App_version=new_text_case['App_version'], script_type=new_text_case['script_type'], script_address=new_text_case['script_address'], revise_type=0, ) now_text_case_models.save() else: now_text_case_models = my_case_of_text( id=new_text_case['text_case_id'], project_name=new_text_case['project_name'], module_name=new_text_case['text_module_name'], case_name=new_text_case['text_case_name'], operation_steps=new_text_case['operation_steps'], expected_results=new_text_case['expected_results'], remarks=new_text_case['remarks'], App_version=new_text_case['App_version'], script_type=new_text_case['script_type'], script_address=new_text_case['script_address'], revise_type=1, ) now_text_case_models.save() context_data = get_case_text_dict(context_data) return render(request=request, template_name='my_project_html5.html', context=context_data)
def my_report(request): context_data = get_basic_data() id = get_maxid() if request.method == 'GET': get_id = request.GET.get("id") if get_id: id=get_id elif request.method == 'POST': get_id = request.POST.get("id") if get_id: id=get_id context_data = get_report(context_data,id) #return render(request, 'report.html', context) return render(request=request, template_name='my_report_html5.html', context=context_data)
def my_project_ui_case(request): context_data = get_basic_data() if request.method == 'POST': the_project_name = request.POST.get("the_project_name") context_data['the_project_name'] = the_project_name context_data['get_ui_case_form'] = get_ui_case_form context_data = get_case_ui_dict(context_data) return render( request=request, template_name='my_project_html5/my_project_ui_case_ajax.html', context=context_data) else: return render( request=request, template_name='my_project_html5/my_project_ui_case_ajax.html')
def my_task(request): context_data = get_basic_data() if request.method == 'GET' and request.GET.get('test_type')== 'apitest' : context_data=get_api_case_info(context_data) context_data["todaytime"] = str(time.strftime('%Y-%m-%dT%H:%M:%S', time.localtime(time.time()))) return render(request=request, template_name='my_task_html5/my_task_api_html5.html', context=context_data) elif request.method == 'GET' and request.GET.get('test_type')== 'uitest' : context_data["todaytime"] = str(time.strftime('%Y-%m-%dT%H:%M:%S', time.localtime(time.time()))) context_data=get_ui_case_info(context_data) return render(request=request, template_name='my_task_html5/my_task_ui_html5.html', context=context_data) elif request.method == 'GET' and request.GET.get('reset') == 'reset': get_reset_task = task_management.objects.filter(task_state=1) for x in get_reset_task: print(x.id) x.task_state = 0 x.save() print('ok') os.popen('python ' + MY_RUN_API_CASE) os.popen('python ' + MY_RUN_UI_CASE) return HttpResponseRedirect('/task') elif request.method == 'POST' : selected_case=request.POST.getlist("selected_case") task_info=request.POST.get('task_info') todaytime = request.POST.get('todaytime') todaytime=time.mktime(time.strptime(todaytime, "%Y-%m-%dT%H:%M:%S")) ''' 时间格式 为 2018-07-13 06:14:43+00:00 ''' todaytime=timezone.datetime.fromtimestamp(todaytime,tz=timezone.utc) task_info=eval(task_info) project_name=task_info['project_name'] test_type=task_info['test_type'] case_id_list = get_case_id_by_module_name_and_project_name(selected_case,test_type) task_management(task_project=project_name, task_uuid=uuid.uuid4(), task_state=0, task_type=test_type, task_data={'case_list': case_id_list}, create_time=todaytime).save() # if test_type =='apitest': # os.popen('python '+MY_RUN_API_CASE ) # else: # os.popen('python ' + MY_RUN_UI_CASE) return HttpResponseRedirect('/task') else: context_data = get_task_queue(context_data) context_data = get_all_report(context_data) return render(request=request, template_name='my_task_html5.html', context=context_data)
def index_control(request): context = get_basic_data() a = orm_to_mysql(mysql_link=my_sql_link()) context["my_case_of_text_total"] = a.table( "web_platform_my_case_of_text").select( 'count(id)').all()[0]['count(id)'] context["my_case_of_api_total"] = a.table( "web_platform_my_case_of_api").select( 'count(id)').all()[0]['count(id)'] context["my_case_of_ui_total"] = a.table( "web_platform_my_case_of_ui").select('count(id)').all()[0]['count(id)'] context['my_project_total'] = a.table("web_platform_my_project").select( 'count(id)').all()[0]['count(id)'] daily_report = [] for x in range(10): daily_report_oneday = [] up_time = str( time.strftime('%Y-%m-%d', time.localtime(time.time() - x * 86400))) + ' 23:59:59' dow_time = str( time.strftime('%Y-%m-%d', time.localtime(time.time() - x * 86400))) + ' 00:00:01' moonday = time.strftime('%Y-%m-%d', time.localtime(time.time() - x * 86400)) report_total = a.table("web_platform_my_report").select( 'count(id)', create_time__LT=up_time, create_time__GT=dow_time).all()[0]['count(id)'] pass_report_total = a.table("web_platform_my_report").select( 'count(id)', report_result=1, create_time__LT=up_time, create_time__GT=dow_time).all()[0]['count(id)'] failure_report_total = a.table("web_platform_my_report").select( 'count(id)', report_result=0, create_time__LT=up_time, create_time__GT=dow_time).all()[0]['count(id)'] #moonday= time.mktime(time.strptime(moonday, "%Y-%m-%d")) daily_report.append({ 'moonday': '\'' + moonday + '\'', 'report_total': int(report_total), 'pass_report_total': int(pass_report_total), 'failure_report_total': int(failure_report_total) }) print(daily_report) context['daily_report'] = daily_report return render(request, 'index.html', context)
def my_login(request): context_data = get_basic_data() context_data['my_login_form'] = my_login_form if request.method == 'POST': the_my_login = my_login_form(request.POST) if the_my_login.is_valid(): user_login_data = the_my_login.clean() user = authenticate(username=user_login_data['user_name'], password=user_login_data['pass_word']) if user is not None: login(request, user) # 验证成功之后登录 return render(request=request, template_name='head_html5.html', context=context_data) else: context_data['my_login_form'] = the_my_login return render(request=request, template_name='my_login_html5.html', context=context_data) return render(request=request, template_name='my_login_html5.html', context=context_data)
def get_devices_control(request): context = get_basic_data() if request.method == 'POST': Android_devices_list = request.POST.getlist("Android") iOS_devices_list = request.POST.getlist("iOS") if Android_devices_list: for uid in Android_devices_list: print(uid) devices_phone.objects.filter(deviceName=uid).update(used='1') elif iOS_devices_list: for uid in iOS_devices_list: devices_phone.objects.filter(deviceName=uid).update(used='1') context['Android'] = get_devices_info('Android') context['iOS'] = get_devices_info('iOS') return render(request, 'task.html', context) else: devices_phone.objects.filter().delete() # requests.post(url='http://127.0.0.1:8080/job/my_python_code/build?token=123456') 这个是用jenkins更新 get_devices_info_Android() # 本机使用这个更新数据库的连接信息 context['Android'] = get_devices_info('Android') context['iOS'] = get_devices_info('iOS') return render(request, 'devices_phone.html', context)
def my_project_simple_case(request): context_data = get_basic_data() if request.method == 'POST': context_data['api_list'] = {} the_project_name = request.POST.get("the_project_name") the_api_name = request.POST.get("api_name") context_data['the_project_name'] = the_project_name if the_project_name: simple_case_data = comparison_library.objects.filter( project_name=the_project_name).values('api_name').distinct() api_list = [] for y in simple_case_data: api_list.append(y) context_data['api_list'] = api_list if the_api_name and the_project_name: all_case = comparison_library.objects.filter( project_name=the_project_name, api_name=the_api_name).all() all_case_list = [] for x in all_case: all_case_list.append({ 'id': x.id, 'send_json': x.send_json, 'remarks': x.remarks, 'api_name': x.api_name, 'project_name': x.project_name }) context_data['all_case_value'] = all_case_list context_data['the_api_name'] = the_api_name context_data['get_simple_case_form'] = get_simple_case_form return render( request=request, template_name='my_ajax_html5/my_project_simple_case_ajax.html', context=context_data) return render( request=request, template_name='my_ajax_html5/my_project_simple_case_ajax.html', context=context_data)
def set_up(request): context_data = get_basic_data() return render(request=request, template_name='my_set_up_html5.html', context=context_data)
def add_classes(request): context = get_basic_data() context['store_name'] = [ '北京快快减肥通州', '北京快快减肥贝蒂安店(天鹅湾)', '上海亚都国际名园七星旗舰店', '上海快快减肥明翼舞蹈花木店', '上海快快减肥明翼舞蹈源深店', '廊坊快快减肥店', '广州快快减肥富力桃园店', '北京望京六佰本店', '北京丰台区宋家庄店', '北京朝阳区优士阁店', '北京朝阳区星源国际店', '北京昌平区龙德紫金店', '北京朝阳区常营店', '北京朝阳区后现代城店', '福州东二环泰禾店', ] context['user_number'] = range(1, 15) context['classes_checkin_number'] = range(1, 15) context['course_code'] = get_course_name() context['course_time'] = range(1, 38) context['now_time_day'] = str( time.strftime('%Y-%m-%d', time.localtime(time.time()))) context['now_time_h'] = str( time.strftime('%H:%M', time.localtime(time.time()))) print(context['now_time_day']) if request.method == 'POST': #if request.method == "POST" 空的也ok if request.POST 不能是空的 store_name = request.POST.get("store_name") print(store_name) day = request.POST.get("day") up_time = request.POST.get("up_time") course_code = request.POST.get("course_code") user_number = request.POST.get("user_number") course_time = request.POST.get("course_time") user_index = request.POST.get("user_index") classes_checkin_number = request.POST.get("classes_checkin_number") timeArray = time.strptime(day + ' ' + up_time, "%Y-%m-%d %H:%M") star_time = time.mktime(timeArray) course_code_list = get_course_code(course_code) subject_show_id = course_code_list[1] course_code = str(course_code_list[0]) + str(course_time) class_id = add_class(star_time, store_name, user_number, classes_checkin_number, course_code, subject_show_id, user_index) #class_id='1111' messages.add_message(request, messages.INFO, class_id) context['class_id'] = str(class_id) if class_id: context['ruesl'] = 'ok' else: context['ruesl'] = 'not' #messages.success(request,class_id) # return render(request,'pop.html',context) context['class_id'] = class_id #return render(request, 'add_class.html', context) # else: return render(request, 'add_class.html', context)
def project_control(request): context = get_basic_data() if request.method == 'GET': if "the_project_name" not in context.keys(): the_project_name = request.GET.get("the_project_name") context['the_project_name'] = the_project_name # print(context) if request.method == 'POST': # if request.method == "POST" 空的也ok if request.POST 不能是空的 add_api_case = request.POST.get("add_api_case") add_text_case = request.POST.get("add_text_case") look_source_file = request.POST.get("look_source_file") ui_look_source_file = request.POST.get("ui_look_source_file") case_data = request.POST.get("case_data") updata_path = request.POST.get("updata_path") the_project_name = request.POST.get("the_project_name") if the_project_name: context['the_project_name'] = the_project_name # print(case_data,updata_path) if case_data: case_data = case_data.replace('\r\n\r\n', '\r\n') #很重要,不知道为什么保存的时候会有换行符 with open(updata_path, 'w', encoding='utf-8') as f: f.writelines(case_data) if ui_look_source_file: print('look_source_file', ui_look_source_file) look_source_file = eval(ui_look_source_file) name_url = str(look_source_file[4]).replace('.', '\\') print('name_url', name_url) my_apicase_path_1 = my_appium_path.replace('.', '\\') file_path = str(Complete_path + my_apicase_path_1 + '\\' + look_source_file[1] + '\\' + name_url + '\\' + str(look_source_file[3] + '.py')) print(file_path) with open(file_path, encoding='utf-8') as f: context['look_source_file'] = f.read() context['file_path'] = file_path print(context['file_path']) elif look_source_file: # context['look_source_file'] = open(r'F:\automatedTests_of_coachPadApp\appium_coachPad\test_case\正常上课.py', encoding='utf-8').read() print('look_source_file', look_source_file) look_source_file = eval(look_source_file) name_url = str(look_source_file[4]).replace('.', '\\') print('name_url', name_url) my_apicase_path_1 = my_apicase_path.replace('.', '\\') file_path = str(Complete_path + my_apicase_path_1 + '\\' + look_source_file[1] + '\\' + name_url + '\\' + str(look_source_file[3] + '.py')) print(file_path) with open(file_path, encoding='utf-8') as f: context['look_source_file'] = f.read() context['file_path'] = file_path elif add_api_case == "add_ui_case": case_id = request.POST.get("case_id") project_name = request.POST.get("project_name") module_name = request.POST.get("module_name") case_name = request.POST.get("case_name") case_address = request.POST.get("case_address") App_version = request.POST.get("App_version") my_case_of_text_id = request.POST.get("my_case_of_text_id") print(case_id, project_name, module_name, case_name, case_address, App_version, my_case_of_text_id) if case_id: nowcase = my_case_of_UI(id=case_id, project_name=project_name, module_name=module_name, case_name=case_name, case_address=case_address, App_version=App_version, my_case_of_text_id=my_case_of_text_id) else: nowcase = my_case_of_UI(project_name=project_name, module_name=module_name, case_name=case_name, case_address=case_address, App_version=App_version, my_case_of_text_id=my_case_of_text_id) nowcase.save() elif add_api_case == "add_api_case": case_id = request.POST.get("case_id") project_name = request.POST.get("project_name") module_name = request.POST.get("module_name") api_name = request.POST.get("api_name") case_name = request.POST.get("case_name") case_address = request.POST.get("case_address") App_version = request.POST.get("App_version") if case_id: nowcase = my_case_of_API(id=case_id, project_name=project_name, module_name=module_name, api_name=api_name, case_name=case_name, case_address=case_address, App_version=App_version) else: nowcase = my_case_of_API(project_name=project_name, module_name=module_name, api_name=api_name, case_name=case_name, case_address=case_address, App_version=App_version) nowcase.save() elif add_text_case: text_case_id = request.POST.get("text_case_id") text_project_name = request.POST.get("text_project_name") text_module_name = request.POST.get("text_module_name") text_case_name = request.POST.get("text_case_name") text_operation_steps = request.POST.get("text_operation_steps") text_expected_results = request.POST.get("text_expected_results") text_remarks = request.POST.get("text_remarks") text_App_version = request.POST.get("text_App_version") text_script_type = request.POST.get("text_script_type") text_script_address = request.POST.get("text_script_address") # print(text_operation_steps,text_expected_results) if add_text_case == "add_text_case": if text_case_id: now_text_case = my_case_of_text( id=text_case_id, project_name=text_project_name, module_name=text_module_name, case_name=text_case_name, operation_steps=text_operation_steps, expected_results=text_expected_results, remarks=text_remarks, App_version=text_App_version, script_type=text_script_type, script_address=text_script_address, revise_type=1, ) now_text_case.save() else: now_text_case = my_case_of_text( project_name=text_project_name, module_name=text_module_name, case_name=text_case_name, operation_steps=text_operation_steps, expected_results=text_expected_results, remarks=text_remarks, App_version=text_App_version, script_type=text_script_type, script_address=text_script_address, revise_type=0, ) now_text_case.save() if add_text_case == "now_add_text_case": if text_case_id: now_text_case = my_case_of_text( id=text_case_id, project_name=text_project_name, module_name=text_module_name, case_name=text_case_name, operation_steps=text_operation_steps, expected_results=text_expected_results, remarks=text_remarks, App_version=text_App_version, script_type=text_script_type, script_address=text_script_address, revise_type=0, ) now_text_case.save() else: now_text_case = my_case_of_text( project_name=text_project_name, module_name=text_module_name, case_name=text_case_name, operation_steps=text_operation_steps, expected_results=text_expected_results, remarks=text_remarks, App_version=text_App_version, script_type=text_script_type, script_address=text_script_address, revise_type=0, ) now_text_case.save() context = get_cast_list_of_API(context) context = get_cast_text(context) context = get_cast_list_of_UI(context) return render(request, 'project.html', context)