예제 #1
0
 def do(self):
     #web 测试截图
     time.sleep(self.delay)
     self.driver.get_screenshot_as_file(
         get_variable().SCREENFOLDER + self.testcase_name + "_" +
         time.strftime('%Y_%m_%d_%H_%M_%S', time.localtime(time.time())) +
         ".png")
예제 #2
0
 def do(self):
     time.sleep(self.delay)
     file_name = get_variable(
     ).SCREENFOLDER + self.testcase_name + "_" + self.step_name + "_" + time.strftime(
         '%Y_%m_%d_%H_%M_%S', time.localtime(
             time.time())) + ".png"  #输出目录+文件名
     self.driver.screenshot(file_name)  #截图并保存
예제 #3
0
    def launch(self):
        try:
            chrome_driver = get_variable().CHROME_DRIVER
            logging.debug(chrome_driver)
            web_browser = webdriver.Chrome(executable_path=chrome_driver)
            web_browser.set_page_load_timeout(30)
            web_browser.maximize_window()
            #web_browser.set_window_size(480, 800)
        except WebDriverException as e:
            logging.info(e)
            web_browser = None

        return web_browser
예제 #4
0
# coding=utf8
# author:kang
# 自动化测试脚本启动文件

import unittest, time, sys, os, shutil, logging
from datetime import datetime
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)

import Client.lib.load_data as load_data
import Client.setting.variable as variable
import Client.lib.get_ip as get_ip

host_name = get_ip.get_ip().do()
print("Slave " + host_name + " is started...")
while True:
    get_activity_class = load_data.get_activity(host_name)
    activity = get_activity_class()
    activity_id = activity.get("activity_id")
    if activity_id:
        exe_cmd = "python " + variable.get_variable().HOME + "\Client\main.py"
        os.system(exe_cmd)
    else:
        time.sleep(30)
예제 #5
0
    def send(self, subject, attach_path, attach_name, name, all, summary):
        #print(name)
        #print(all)
        #print(summary)
        a = int(summary['error'])
        b = len(all)
        c = int(summary['pass'])
        f = str(summary['fail'])
        erroras = a / b * 100
        passas = c / b * 100
        errornum = str(erroras)
        passnum = str(passas)
        errora = str(erroras)
        passa = str(passas)
        stara = all[0]["starttime"]
        end = all[0]["endtime"]
        star = str(stara)
        stara = datetime.strptime(star, "%Y-%m-%d %H:%M:%S.%f")
        enda = datetime.strptime(end, "%Y-%m-%d %H:%M:%S.%f")
        full_runtimea = enda - stara
        full_runtime = str(full_runtimea)
        times = time.strftime("%Y-%m-%d %H:%M:%S")
        timea = str(times)
        cases = len(all)
        case = str(cases)
        error = str(a)
        peass = str(c)
        #print(peass)
        #打印类型排查问题

        if int(summary["fail"]) > 0:
            self.to = variable.get_variable().FAIL_TO
            mail_body = (
                '<html><body><p>各位好:</p><p>&nbsp;&nbsp;【' + name + '】' +
                timea + '接口自动化测试结果如下:</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 1.总用例数:' +
                case + '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 2.执行成功数:' + peass +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 3.执行错误数::' + error +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 4.执行错误率:' + errornum +
                '%</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 5.执行成功率:' + passnum +
                '%</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 6.开始时间:' + star +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 7.结束时间:' + end +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 8.共执行时间:' + full_runtime +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 如有疑问请联系测试组:</p><p>&nbsp;&nbsp;&nbsp;&nbsp&[email protected]&gt</p><p>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 谢谢!</p></body></html>'
            )
            subject = subject + " - Warning!!!"

        elif int(summary['error']) > 0:
            self.to = variable.get_variable().ERROR_TO
            mail_body = (
                '<html><body><p>各位好:</p><p>&nbsp;&nbsp;【' + name + '】' +
                timea + '接口自动化测试结果如下:</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 1.总用例数:' +
                case + '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 2.执行成功数:' + peass +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 3.执行错误数::' + error +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 4.执行错误率:' + errornum +
                '%</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 5.执行成功率:' + passnum +
                '%</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 6.开始时间:' + star +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 7.结束时间:' + end +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 8.共执行时间:' + full_runtime +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 如有疑问请联系测试组:</p><p>&nbsp;&nbsp;&nbsp;&nbsp&[email protected]&gt</p><p>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 谢谢!</p></body></html>'
            )
            subject = subject + " - ERROR!!!"

        else:
            self.to = variable.get_variable().TO
            mail_body = (
                '<html><body><p>各位好:</p><p>&nbsp;&nbsp;【' + name + '】' +
                timea + '接口自动化测试结果如下:</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 1.总用例数:' +
                case + '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 2.执行成功数:' + peass +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 3.执行错误数::' + error +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 4.执行错误率:' + errornum +
                '%</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 5.执行成功率:' + passnum +
                '%</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 6.开始时间:' + star +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 7.结束时间:' + end +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 8.共执行时间:' + full_runtime +
                '</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 如有疑问请联系测试组:</p><p>&nbsp;&nbsp;&nbsp;&nbsp&[email protected]&gt</p><p>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 谢谢!</p></body></html>'
            )
        if "," in self.to:
            self.to = self.to.split(",")

        msg = MIMEMultipart()
        msg["Subject"] = subject
        msg["From"] = variable.get_variable().FROM
        msg["To"] = variable.get_variable().TO

        #---这是文字部分---
        part = MIMEText(mail_body, 'html', 'utf-8')
        msg.attach(part)

        #---这是附件部分---
        part = MIMEApplication(open(attach_path + attach_name, 'rb').read())
        part.add_header('Content-Disposition',
                        'attachment',
                        filename=attach_name)
        msg.attach(part)

        s = smtplib.SMTP(variable.get_variable().SMTP_SERVER, timeout=60)
        s.login(variable.get_variable().EMAIL_USER,
                variable.get_variable().EMAIL_PWD)
        s.sendmail(variable.get_variable().FROM, self.to, msg.as_string())
        s.close()
        logging.info("email sent")
예제 #6
0
파일: main.py 프로젝트: bopopescu/YOONTEST
sys.path.append(rootPath)

import Client.driver.api_driver as api_driver
import Client.driver.app_driver as app_driver
import Client.driver.web_driver as web_driver

import Client.lib.load_data as load_data
import Client.lib.initial as initial
import Client.setting.variable as variable
import Client.lib.wework_notify as wework_notify
import Client.lib.get_ip as get_ip

#生成log
initial.init().launch()
logfile=time.strftime('%Y-%m-%d',time.localtime(time.time())) 
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',datefmt='%a, %d %b %Y %H:%M:%S',filename=variable.get_variable().LOGFOLDER+logfile+'.log',filemode='w')

#===========================获取测试数据============================
host_name=get_ip.get_ip().do()  #获取本机IP
run_data=load_data.test_cases(host_name) #获取执行用例列表+活动ID
data = run_data()
run_list = data.get("run_list")
total = len(run_list)
activity_id = data.get("activity_id")
test_type = data.get("test_type")
device_name = data.get("device_name")
logging.info(device_name)
set_activity_calss = load_data.set_activity(activity_id, "running")
set_activity_calss()
device_class = load_data.get_device(device_name)
device = device_class()