Ejemplo n.º 1
0
    def base_url():
        config_path = os.path.join(gl.configPath, 'config.yaml')
        url = scripts.get_yaml_field(config_path)
        return url['BASE_URL']


# if __name__=="__main__":
#     print BaseConfig.base_url
Ejemplo n.º 2
0
 def __init__(self):
     self.curDateTime = str(
         time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))  #当前日期时间
     self.config = scripts.get_yaml_field(
         os.path.join(gl.configPath, 'config.yaml'))  #配置文件路径
     self.sender = self.config['EMAIL']['Smtp_Sender']  # 从配置文件获取,发件人
     self.receivers = self.config['EMAIL']['Receivers']  # 从配置文件获取,接收人
     self.msg_title = self.config['EMAIL']['Msg_Title']  #从配置文件获取,邮件标题
     self.sender_server = self.config['EMAIL'][
         'Smtp_Server']  #从配置文件获取,发送服务器
     self.From = self.config['EMAIL']['From']
     self.To = self.config['EMAIL']['To']
Ejemplo n.º 3
0
    def tmpl_msg(low_path, file_name):
        # 发送钉钉模版测试结果
        result_str = """共{}个用例, 通过{}, 失败{}, 错误{}, 通过率{}""".format(
            gl.get_value('sum'), gl.get_value('passed'),
            gl.get_value('failed'), gl.get_value('error'),
            gl.get_value('passrate'))

        # 测试结论
        if '100' in str(gl.get_value('passrate')):
            msg_1 = '本次测试★通过★'
        else:
            msg_1 = '本次测试★不通过★'

        #report外网发布地址ip+port
        report_url = get_yaml_field(gl.configFile)['REPORT_URL']

        # 发送钉钉消息
        msg = """接口自动化测试已完成:{},{}\n测试报告地址:{}/report/{}/{}"""
        msg = msg.format(result_str, msg_1, report_url, low_path, file_name)

        return msg
Ejemplo n.º 4
0
    def invoke():
        """
        开始执行测试生成测试报告
        :return:
        """
        ##########################读取配置信息##################################
        config = get_yaml_field(gl.configFile)
        dd_enable = config['ENABLE_DDING']
        dd_token = config['DD_TOKEN']
        dd_url = config['DING_URL']

        email_enable = config['EMAIL_ENABLE']
        ########################################################################

        # 测试报告文件名
        time_str = time.strftime('%Y%m%d_%H%M%S', time.localtime())
        filePath = Run_Test_Case.create_report_file()
        print(filePath)

        # 开始测试发送钉钉消息
        if dd_enable:
            scripts.send_msg_dding('{}:★开始API接口自动化测试★'.format(time_str),
                                   dd_url, dd_token)

        # 执行测试并生成测试报告文件
        Run_Test_Case.run(filePath)

        # 复制report下子文件夹到 templates/report/下
        low_path = Run_Test_Case.copy_report(filePath, Run_Test_Case.file_name)

        if dd_enable:
            # 模版消息
            msg = Run_Test_Case.tmpl_msg(low_path, Run_Test_Case.file_name)
            print(msg)
            scripts.send_msg_dding(msg, dd_url, dd_token)

        if email_enable:
            # 发送测试报告To Email
            email = EmailClass()
            email.send(filePath)
Ejemplo n.º 5
0
 def __init__(self):
     self.config  = get_yaml_field(gl.configFile)
     self.baseUrl  = BaseConfig.base_url()
     self.OUT_TMPL = """\n{0} {1}请求:{2}\r\n{3}\r\n响应:\r"""
Ejemplo n.º 6
0
def case():
    """读取case"""
    path = os.path.join(gl.dataScenarioPath, "POS_INFO.yaml")
    yam_dict = get_yaml_field(path)['POS_INFO']['Case1']

    return render_template('dt.html', data=yam_dict)