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