def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument( 'category', type=str) # Do not use category now ,maybe latter. self.parser.add_argument('key', type=str) # This is the editor's file path. self.log = getlogger("keyword")
def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('data', type=str) self.parser.add_argument('file', type=werkzeug.datastructures.FileStorage, location='files', action='append') self.app = current_app._get_current_object() self.log = getlogger("ManageFile")
def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('key', type=str) self.parser.add_argument('method', type=str) self.parser.add_argument('username', type=str) self.parser.add_argument('dir', type=str) self.parser.add_argument('request', type=str) self.log = getlogger("Report") self.app = current_app._get_current_object()
def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('method', type=str) self.parser.add_argument('name', type=str) self.parser.add_argument('new_name', type=str) self.parser.add_argument('key', type=str) self.parser.add_argument('project_name', type=str) self.log = getlogger("Suite") self.app = current_app._get_current_object()
def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('name', type=str) self.parser.add_argument('category', type=str, default="root") self.parser.add_argument('key', type=str, default="root") self.parser.add_argument('project', type=str) self.parser.add_argument('suite', type=str) self.parser.add_argument('splitext', type=str) self.log = getlogger("ProjectList") self.app = current_app._get_current_object()
def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('method', type=str) self.parser.add_argument('username', type=str) self.parser.add_argument('password', type=str) self.parser.add_argument('new_password', type=str, default="") self.parser.add_argument('email', type=str) self.parser.add_argument('fullname', type=str) self.log = getlogger("User") self.app = current_app._get_current_object()
def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('method', type=str) self.parser.add_argument('description', type=str) self.parser.add_argument('item', type=str) self.parser.add_argument('value', type=str, default="") self.parser.add_argument('demo', type=str) self.parser.add_argument('category', type=str) self.log = getlogger("Settings") self.app = current_app._get_current_object()
def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('method', type=str) self.parser.add_argument('name', type=str) self.parser.add_argument('project_name', type=str) self.parser.add_argument('suite_name', type=str) self.parser.add_argument('category', type=str) self.parser.add_argument('key', type=str) self.parser.add_argument('data', type=str) self.app = current_app._get_current_object() self.log = getlogger("TestDesign")
def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('method', type=str) self.parser.add_argument('ssl', type=bool, default=False) self.parser.add_argument('server', type=str) self.parser.add_argument('port', type=str) self.parser.add_argument('username', type=str) self.parser.add_argument('password', type=str) self.parser.add_argument('project', type=str) self.parser.add_argument('success_list', type=str) self.parser.add_argument('fail_list', type=str) self.log = getlogger("Settings") self.app = current_app._get_current_object()
def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('method', type=str) self.parser.add_argument('category', type=str) self.parser.add_argument('project', type=str) self.parser.add_argument('suite', type=str) self.parser.add_argument('case', type=str) self.parser.add_argument('tags', type=str) self.parser.add_argument('conffile', type=str) self.parser.add_argument('key', type=str) self.parser.add_argument('task_no', type=str) self.log = getlogger("Task") self.app = current_app._get_current_object()
def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('method', type=str) self.parser.add_argument('name', type=str) self.parser.add_argument('new_name', type=str) self.parser.add_argument('key', type=str) self.parser.add_argument('description', type=str) self.parser.add_argument('manager', type=str, default="") self.parser.add_argument('cron', type=str, default="* * * * * *") self.parser.add_argument('boolean', type=str, default="ON") self.log = getlogger("Project") self.reserved_names = ["workspace", "project", "balance"] self.app = current_app._get_current_object()
def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('method', type=str) self.parser.add_argument('user', type=str) self.parser.add_argument('project', type=str) self.parser.add_argument('task_name', type=str) self.parser.add_argument('schedule_type', type=str) self.parser.add_argument('year', type=str) self.parser.add_argument('mon', type=str) self.parser.add_argument('day', type=str) self.parser.add_argument('hour', type=str) self.parser.add_argument('min', type=str) self.parser.add_argument('sec', type=str) self.parser.add_argument('week', type=str) self.parser.add_argument('day_of_week', type=str) self.parser.add_argument('start_date', type=str) self.parser.add_argument('end_date', type=str) self.log = getlogger("TaskList") self.app = current_app._get_current_object()
# -*- utf-8 -*- import sqlite3 as db import os from utils.mylogger import getlogger from datetime import datetime, date from robot.api import TestData log = getlogger('TestDB') class TestDB(): def __init__(self, confdir): # Init system TestDBID with file TestCaseDB.id if exists, Create new if not exists. log.info("初始化数据库,系统目录:{}".format(confdir)) self.DBID = '0' self.DBcon = None self.DBcor = None self.confdir = confdir self.dbpath = os.path.join(self.confdir, 'DBs') self.exclude_suite = '/work/workspace/Admin/balance' self.refresh_interval = 180 # seconds self.refresh_time = self.get_timenow() self.DBIDFileName = 'TestCaseDB.id' self.DBIDFile = os.path.join(self.dbpath, self.DBIDFileName) self.DBFileName = '' self.IsNewDBID = False log.info("检查DBID文件是否存在:" + self.DBIDFile) if os.path.exists(self.DBIDFile):
Parse xml which generated by robot.libdoc, output auto-complet and highlight. Generate Keywords of resource file which imported in robot case file. """ import os import codecs import xml.etree.ElementTree as ET from robot.api import TestSuiteBuilder from robot.running.builder import ResourceFileBuilder # ResourceFileBuilder().build(rs) for i in rsf.imports._items: from utils.file import mk_dirs, copy_file, get_projectdirfromkey, get_projectnamefromkey from utils.mylogger import getlogger from subprocess import run as subRun, PIPE, STDOUT log = getlogger("parsing") USER_KEYS = { "web": [ "BuiltIn", "Collections", "DateTime", "String", "Screenshot", "SeleniumLibrary" ], "app": [ "BuiltIn", "Collections", "DateTime", "String", "Screenshot", "AppiumLibrary" ], "http": ["BuiltIn", "Collections", "DateTime", "String", "RequestsLibrary"], "all": [ "BuiltIn", "Collections", "DateTime", "OperatingSystem", "Process", "String", "Screenshot", "Telnet", "AppiumLibrary", "RequestsLibrary",
# -*- coding: utf-8 -*- __author__ = "charisma" """ """ import os from flask import current_app, url_for from utils.file import get_projectnamefromkey from utils.mylogger import getlogger log = getlogger('Utils.Report') def get_caseinfo(key, method): """ Generate Case and Suite's Add/Delete/Modify/Execution Info :param key: Specific dir :param method: Time period :sqlite's time modifier :return: All data from case_report-caseinfo tab """ app = current_app._get_current_object() log.info("get_caseinfo Key:{} method:{}".format(key, method)) if method == 'day': period = '-24 hours' time = "Within 24 Hrs" elif method == 'week':
# -*- coding:utf-8 -*- import os import git from utils.file import remove_dir, mk_dirs from utils.mylogger import getlogger import shutil log = getlogger("Git", ".") def remote_clone(app, url): """ git.colone_from return True/False and info """ newdir = url.split('/')[-1].split('.')[0] to_path = os.path.join(app.config['AUTO_TEMP'], newdir) remove_dir(to_path) if os.path.exists(to_path) else None mk_dirs(to_path) try: repo = git.Repo.clone_from(url, to_path) except git.exc.GitError as e: log.error("Git clone 从 {} 到目录 {} 异常:{}".format(url, to_path, e)) log.info("{}".format(e)) return (False, "{}".format(e)) log.info("Clone 从 {} 到路径:{} 成功".format(url, to_path))
import threading from subprocess import run as subRun, PIPE, STDOUT import multiprocessing import time import smtplib from email.mime.text import MIMEText from email.header import Header import json from utils.file import get_projectnamefromkey from robot.api import TestSuiteBuilder, ResultWriter, ExecutionResult from utils.file import exists_path, make_nod, write_file, read_file, mk_dirs, get_projectdirfromkey from utils.mylogger import getlogger log = getlogger('Utils.RUN') # This fun is for debug the test case, result is temporliy in /runtime dir def robot_debugrun(app, cases): out = app.config['AUTO_TEMP'] if not exists_path(out): mk_dirs(out) cmd = 'robot --outputdir=' + out + ' ' + cases cp = subRun(cmd, shell=True, stdout=PIPE, stderr=STDOUT, text=True,
# logging_example.py import os from utils.file import remove_dir, copy_file, get_projectdirfromkey, get_projectnamefromkey from utils.mylogger import getlogger log = getlogger("Clear") def clear_projectres(project, key=''): prj = project if not key == '': prj = get_projectnamefromkey(key) log.info("清除项目关键字:" + prj) cwd = os.getcwd() + "/keyword/" + prj try: remove_dir(cwd) except FileNotFoundError: log.warning("删除项目目录失败:" + cwd) jsd = os.getcwd() + "/auto/www/static/js/" + prj log.info("清除项目的js文件:" + prj) try: remove_dir(jsd) except FileNotFoundError: log.warning("删除项目目录失败:" + jsd) if __name__ == "__main__":
import copy import re import shutil import zipfile from os.path import join, getsize from flask import current_app, session from openpyxl import Workbook, load_workbook from robot.api import TestData from robot.parsing.model import Step from utils.file import get_projectdirfromkey, remove_dir from utils.mylogger import getlogger log = getlogger("TestCaseUnite") def getCaseContent(cpath, cname): '''反写:自动化结果反写中,取得测试用例内容 ''' if not os.path.exists(cpath): return "Can not find case file:" + cpath content = '' suite = TestData(source=cpath) for t in suite.testcase_table.tests: if t.name == cname: isHand = False if t.tags.value and 'Hand' in t.tags.value: isHand = True for s in t.steps:
# -*- coding: utf-8 -*- __author__ = "苦叶子" """ """ import os import markdown from flask import Blueprint, render_template, session, redirect, url_for, current_app, send_file, request from utils.file import get_splitext, exists_path, get_projectnamefromkey, read_file from utils.parsing import prepare_editorjs from utils.do_report import get_distinct_suites, rpt_caseratio, rpt_runprogress, rpt_moduleprogress, rpt_moduleinfo from utils.mylogger import getlogger log = getlogger("blueprints") routes = Blueprint('routes', __name__) @routes.route('/') def index(): return render_template('login.html') @routes.route('/dashboard', methods=['GET', 'POST']) def dashboard(): if 'username' in session: return render_template('dashboard.html', username=session['username']) else: return render_template('login.html')
def __init__(self): self.parser = reqparse.RequestParser() self.parser.add_argument('username', type=str) self.parser.add_argument('password', type=str) self.log = getlogger("auth")
# -*- coding: utf-8 -*- __author__ = "*****@*****.**" """ Model based test design """ import os import time import json from utils.mylogger import getlogger log = getlogger('Utils.Model_Design') def walk_model(mod, method, output_file): startnode = None for node in mod["nodeDataArray"]: if node["id"] == -1: startnode = node break if (not startnode): log.error("找不到Start节点(id为-1)") return None links = [] casenum = 1 def find_paths(node): nonlocal links