zoukankan      html  css  js  c++  java
  • UI自动化web端框架tools.py代码

    import pymysql
    import redis
    import requests
    import hashlib
    import os
    from lib.core.path import REPORT_PATH


    class MyMysql(object):
    def __init__(self, host, port, user, password, db, charset='utf8'):
    self.__host = host
    self.port = port
    self.user = user
    self.password = password
    self.db = db
    self.charset = charset
    self.__get_cur() # 在类初始化的时候就去调用创建游标的函数

    def __get_cur(self):
    try:
    self.con = pymysql.connect(host=self.__host, port=self.port, user=self.user,
    password=self.password, db=self.db, charset=self.charset)
    except Exception as e:
    print('这里出错了,错误信息是:%s' % e)
    else:
    self.cur = self.con.cursor() # 建立游标

    def select_sql(self, sql):
    try:
    self.cur.execute(sql)
    except Exception as e:
    print('sql执行失败:%s' % e)
    else:
    return self.cur.fetchall()

    def other_sql(self, sql):
    try:
    self.cur.execute(sql)
    except Exception as e:
    print('sql执行失败:%s' % e)
    else:
    self.con.commit()

    def close(self):
    self.cur.close()
    self.con.close()


    class MyRedis(object):
    def __init__(self, host, port, password):
    self.pool = redis.ConnectionPool(host=host, port=port, password=password)
    self.r = redis.Redis(connection_pool=self.pool)

    def get(self, k):
    return self.r.get(k)

    def set(self, k, v):
    self.r.set(k, v)


    def my_request(method, url, data=None, headers=None, files=None): # 返回结果函数
    try:
    if method.upper() == 'GET':
    r = requests.get(url, data, headers=headers, files=files).json() # 不返回json串也会报错
    else:
    r = requests.post(url, data, headers=headers, files=files).json()
    except Exception as e:
    return '出错了,错误是:%s' % e
    return r


    def my_md5(st): # 加密函数
    secret_key = 'st90dsf43ert'
    st = str(st) + secret_key
    md = hashlib.md5()
    md.update(st.encode())
    return md.hexdigest()


    def get_new_report():
    all_report = os.listdir(REPORT_PATH)
    file_name = all_report[-2]
    abs_path = os.path.join(REPORT_PATH, file_name)
    return abs_path


    def remove_report():
    all_report = os.listdir(REPORT_PATH)
    for report in all_report:
    if report.endswith('.html'):
    abs_path = os.path.join(REPORT_PATH, report)
    os.remove(abs_path)

    # my_mysql = MyMysql(**MYSQL_INFO) # **会自动把字典里的值传给MyConnect类里对应的参数
    # my_redis = MyRedis(**REDIS_INFO) # **会自动把字典里的值传给MyRedis类里对应的参数
  • 相关阅读:
    JS 中的require 和 import 区别
    DIV为空时占据空间的解决办法
    学习Web标准不要对IE抱有偏见
    JspSmartUpload上传常见问题解析
    Windows下JSP开发环境的配置
    Div CSS网页布局:用class组合实现
    WEB2.0标准教程:如何应用WEB标准改善现有网站?
    高效整洁CSS代码原则【转载】
    51Test.NET-input标签写CSS时需要注意一些
    程序员应该怎么做呢?【转载】
  • 原文地址:https://www.cnblogs.com/laosun0204/p/9269610.html
Copyright © 2011-2022 走看看