示例#1
0
 def run_test(self):
     data = Excel().get_xls(r"{}/K8S_call_log_save_testdata/data.xlsx".format(TEST_DATA_DIR), "call_log_data")
     result_data=K8sCallLogSave().run(data)
     # 获取到接口返回信息
     Excel().write_newxls(result_data,self.report_excel,sheet="call_log_data2")
     #生成测试报告文件--excel
     time.sleep(2)
     connectEmail=SendEmail(self.email["addresser"],self.email["addressee"],self.email["smtp"],self.email["user"],self.email["passwd"])
     #连接邮箱
     connectEmail.email_init(self.report_excel,self.excel_name)
     #把测试报告发送到指定邮箱
     DelDate().del_run(num=3)
     #删除本地excel文件
     self.log.info ("----程序结束----")
 def runner_function(self):
     '''
     用来控制runner的主流程方法 用例加载方式 报告发送模板 发送邮件
     :return:
     '''
     self.report_type_control(self.runner_run_type_control())
     time.sleep(10)
     email_title = self.email_title
     SendEmail().send_email(self.report_path, email_title)
示例#3
0
    def test_on_run(self):
        self.base = Base()
        self.data = GetData()
        self.send_email = SendEmail()
        pass_count = []
        fail_count = []
        rows_count = self.data.get_case_lines()
        for i in range(1, rows_count):
            is_run = self.data.get_run(i)
            if is_run:
                case_name = self.data.get_case_name(i)
                url = self.data.get_url(i)
                method = self.data.get_request_method(i)
                request_data = self.data.get_json_data(i)
                data = json.dumps(request_data)
                header = self.data.get_header(i)
                expect = self.data.get_expcet(i)
                depend_case = self.data.is_depend(i)
                depend_data = DepandentData(depend_case)
                log.info('------执行用例:%s' % case_name)
                log.info('inputdata> 参数:%s,预期结果:%s' % (data, expect))
                if depend_case != None:
                    # 获取的依赖响应数据
                    depend_response_data = depend_data.get_data_for_key(i)
                    # 获取依赖的key
                    depend_key = self.data.get_depend_field(i)
                    request_data[depend_key] = depend_response_data
                # self,url,method,data=None,header=None
                # res=self.base.run_main(url,method,request_data,header)
                if header == 'write':
                    res = self.base.run_main(url, method, request_data)
                    op_header = OperationHeader(res)
                    op_header.write_cookie()

                elif header == 'yes':
                    op_json = ReadJson()
                    cookie = op_json.read_cookie('apsid')
                    cookies = {'apsid': cookie}
                    res = self.base.run_main(url, method, request_data,
                                             cookies)
                else:
                    res = self.base.run_main(url, method, request_data)

                # print (type(res))
                if self.base.is_contain(expect, res):
                    self.data.write_result(i, "pass")
                    log.info('------用例测试通过,实际结果:%s' % res)
                    #统计通过的用例数
                    pass_count.append(1)

                else:
                    self.data.write_result(i, res)
                    log.info('----用例测试失败,返回结果:%s' % res)
                    #统计失败的用例数
                    fail_count.append(i)

        log.info('所有用例测试完成,成功数:%s,失败数:%s' % (len(pass_count), len(fail_count)))
示例#4
0
文件: run_test.py 项目: wei2916/PyApi
    discover = unittest.defaultTestLoader.discover(test_dir,
                                                   pattern='case*.py')

    # 按照一定格式获取当前时间
    now = time.strftime("%Y-%m-%d %H.%M")

    # 定义报告存放路径和文件名
    filename = test_report + "\\" + now + 'result.html'

    fp = open(filename, 'wb')
    # 定义测试报告
    runner = HTMLTestRunner(stream=fp,
                            title='接口自动化测试报告',
                            description='用例执行情况:')

    runner.run(discover)  # 运行测试用例
    fp.close()  # 关闭报告文件

    # 发送邮件开关is_debug,debug模式下,不发送邮件
    if GetValue.is_debug == 'False':
        # 实例化对象
        demo = SendEmail(test_report)
        # 获取最新报告
        new_report = demo.new_report()
        # 发送测试报告
        demo.send_mail(new_report)
        # WebHook
        WebHook().web_hook('接口自动化测试任务结束', GetValue.web_hook_phone)
    else:
        pass
示例#5
0
from scripts.test_partnershow import Test_PartnerShow
from scripts.test_login import Test_login
from common.HTMLTestRunner import HTMLTestRunner
from common.send_email import SendEmail

if __name__ == '__main__':
    # suite = unittest.TestSuite()
    # suite.addTest(Test_login('test_login'))
    # suite.addTest(Test_PartnerShow('test_show'))
    # 简写
    # suite = [Test_PartnerShow('test_show'), Test_PartnerShow('test_show')]
    # unittest.TextTestRunner().run(suite)

    discover = unittest.defaultTestLoader.discover("./scripts/",
                                                   pattern="test*.py")

    dir_path = "./report/"
    nowtime = time.strftime("%Y_%m_%d %H_%M_%S")
    report_name = dir_path + nowtime + "report.html"
    with open(report_name, 'wb') as f:
        HTMLTestRunner(stream=f,
                       title='PAI_daodangui',
                       description='win10,Python3',
                       verbosity=2).run(discover)
    f.close()

    user_list = ['*****@*****.**']
    sub = "接口自动化测试"
    content = "倒蛋鬼接口测试报告"
    SendEmail().send_email(user_list, sub, content, report_name)
示例#6
0
 def start_test(self):
     suite = GetMethods()
     suite.FromClassName(loginCase)
     self.htmlreport.write_html(self.version)
     Myzip.compress_file(self.version)
     SendEmail.send_email(self.version)
示例#7
0
 def tearDownClass(cls):
     cls.send = SendEmail(cls.pass_count, cls.fail_count)
     cls.send.send_email()