def startGame(): global state, timer Log.info('START', language) timer = None state = WAITING_FOR_PHOTO isGameRunning = False pygame.mixer.music.load(sounds[language][0]) pygame.mixer.music.play()
class DataBase: _conn = None _cursor = None def __init__(self, conf, database): self.log = Log() self.host = conf['host'] self.user = conf['user'] self.passwd = conf['passwd'] self.database = database # 连接数据库 def connectDatabase(self): try: self._conn = pymysql.connect(self.host, self.user, self.passwd) self._conn.select_db(self.database) self._cursor = self._conn.cursor() self.log.info("Connect DB successfully!") except ConnectionError as ex: self.log.error(str(ex)) # 执行sql语句 ---查询 def execute(self, sql): self.connectDatabase() self._cursor.execute(sql) data = self._cursor.fetchall() return data # def executeSQL(self, sql, params): # self.connectDB() # # executing sql # self.cursor.execute(sql, params) # # executing by committing to DB # self.db.commit() # return self.cursor # def get_all(self, cursor): # # value = cursor.fetchall() # # return value # # # # def get_one(self, cursor): # # value = cursor.fetchone() # # return value # 关闭数据库 def close(self): if self._conn and self._cursor: self._cursor.close() self._conn.close() print("Database closed!")
def showPictures(): global image1, image2, imageSurface1, imageSurface2, timer imageSurface1 = getSurfaceFromFrame(image1) imageSurface2 = getSurfaceFromFrame(image2) Log.info('SHOW') # Save both images with timestamp timeString = datetime.datetime.now().strftime('%Y-%m-%d-%H-%M-%S') image = np.concatenate((image1, image2), axis=1) cv2.imwrite('images/' + timeString + '-image.png', image) Log.info('SAVED') timer = Timer(DELAY_BETWEEN_SOUNDS, moveNext)
class sendEmail(): def __init__(self): super(sendEmail, self).__init__() self.L = Log("snedEmail", 'DEBUG').logger self.sender_email = 'EMAIL_SENDER' self.password = '******' self.smtpHost = 'smtpHost' self.receiver = 'receiver' def flower_send_message(self, content, Subject): try: # 发送邮件结果 self.L.info("通过Email发送报表") msg = MIMEMultipart() for root, dirs, files in os.walk(ATTACHMENT): for file in files: file_name = os.path.join(root, file) with open(file_name, 'rb') as f: mime = MIMEBase('1', 'xlsx', filename=file) mime.add_header('Content-Disposition', 'attachment', filename=file) mime.add_header('Content-ID', '<0>') mime.add_header('X-Attachment-Id', '0') mime.set_payload(f.read()) encoders.encode_base64(mime) msg.attach(mime) msg.attach(MIMEText(content, 'html', 'utf-8')) msg['Subject'] = Subject msg['From'] = formataddr( (Header("追花族", 'utf-8').encode(), self.sender_email)) msg['To'] = ",".join(self.receiver) smtp_server = smtplib.SMTP_SSL(self.smtpHost, 465) smtp_server.login(self.sender_email, self.password) smtp_server.sendmail(self.sender_email, self.receiver, msg.as_string()) smtp_server.quit() self.L.info("发送邮件结束") finally: pass
Log.info('START', language) timer = None state = WAITING_FOR_PHOTO isGameRunning = False pygame.mixer.music.load(sounds[language][0]) pygame.mixer.music.play() isGameRunning = True clock = pygame.time.Clock() lastTime = pygame.time.get_ticks() Log.init('selfie.log', 'SELFIE') Log.info('INIT') try: while isGameRunning: ret1, currImage1 = camera1.read() ret2, currImage2 = camera2.read() screen.fill([0, 0, 0]) if imageSurface1 is not None and imageSurface2 is not None: firstSpaceX = (screen.get_width() // 2 - imageSurface1.get_width()) firstSpaceY = (screen.get_height() - imageSurface1.get_height()) // 2 screen.blit(imageSurface2, (firstSpaceX, firstSpaceY)) secondSpaceY = (screen.get_height() -
def start(self): log = Log() self.add_all_cases() log.info('加载所有测试用例:---> done') self.run_case() log.info('执行所有测试用例:---> done')
class MyTestCase(): def __init__(self): self.log = Log() self.test_00_login() def test_00_login(self): YzApi().login() def test_0_getGkOpenEnrollCityInfo(self): '''随机获取国开报读城市''' intFile = YamlParser('StudentInfo') case = TestCaseAssembly().setAipParam( 'getGkOpenEnrollCityInfo', (intFile.getYamlParms( ('GK', 'grade'), ), intFile.getYamlParms( ('GK', 'level'))), (('data', 'ext2'), ('data', 'ext1'))) response = YzApi().lapi(method=case[0], headers=case[1], urls=case[2], data=case[3]) '''提取参数''' AfterParamCom().saveParam(response.text, 'getGkOpenEnrollCityInfo', ('GStudent', 'city')) # @unittest.skip("skipping") def test_1_sUnvs(self): '''随机获取国开院校ID''' intFile = YamlParser('StudentInfo') case = TestCaseAssembly().setAipParam('sUnvs', (intFile.getYamlParms( ('GK', 'recruitType')), ), ('data', 'ext1')) response = YzApi().lapi(method=case[0], headers=case[1], urls=case[2], data=case[3]) '''提取参数''' AfterParamCom().saveParam(response.text, 'sUnvs', ('GStudent', 'unvsId')) # @unittest.skip("skipping") def test_2_getOpenTestAreaByCity(self): '''随机获取国开报读考区ID+考区名称''' intFile = YamlParser('StudentInfo') extFile = YamlParser('LearnInfo') case = TestCaseAssembly().setAipParam( 'getOpenTestAreaByCity', (intFile.getYamlParms( ('GK', 'level')), intFile.getYamlParms( ('GK', 'grade')), extFile.getYamlParms( ('GStudent', 'city'))), (('data', 'ext2'), ('data', 'ext3'), ('data', 'ext1'))) response = YzApi().lapi(method=case[0], headers=case[1], urls=case[2], data=case[3]) '''提取参数''' AfterParamCom().saveParam(response.text, 'getOpenTestAreaByCity', (('GStudent', 'taId'), ('GStudent', 'taName'))) # @unittest.skip("skipping") def test_3_getOpenPfsnByTaId(self): '''随机获取国开报读专业pfsnId+专业名称pfsnName+专业编号pfsnCode''' intFile = YamlParser('StudentInfo') extFile = YamlParser('LearnInfo') case = TestCaseAssembly().setAipParam( 'getOpenPfsnByTaId', (intFile.getYamlParms( ('GK', 'level')), intFile.getYamlParms( ('GK', 'grade')), extFile.getYamlParms( ('GStudent', 'taId'))), (('data', 'ext2'), ('data', 'ext3'), ('data', 'ext1'))) response = YzApi().lapi(method=case[0], headers=case[1], urls=case[2], data=case[3]) '''提取参数''' AfterParamCom().saveParam(response.text, 'getOpenPfsnByTaId', (('GStudent', 'pfsnId'), ('GStudent', 'pfsnName'), ('GStudent', 'pfsnCode'))) def test_4_showFeeList(self): '''获取国开报读收费标准信息''' intFile = YamlParser('StudentInfo') extFile = YamlParser('LearnInfo') case = TestCaseAssembly().setAipParam( 'showFeeList', (intFile.getYamlParms(('GK', 'recruitType')), intFile.getYamlParms(('GK', 'scholarships')), extFile.getYamlParms(('GStudent', 'pfsnId')), extFile.getYamlParms(('GStudent', 'taId'))), (('data', 'recruitType'), ('data', 'scholarship'), ('data', 'pfsnId'), ('data', 'taId'))) response = YzApi().lapi(method=case[0], headers=case[1], urls=case[2], data=case[3]) '''提取参数''' AfterParamCom().saveJson(response.text, (('body', 'feeInfo', 'feeId'), ), (('GStudent', 'feeId'), )) AfterParamCom().saveParam(response.text, 'showFeeList', ('GStudent', 'feeList')) # @unittest.skip("skipping") def test_5_gk_normal_register(self): '''随机录入国开类型学员学员''' intFile = YamlParser('StudentInfo') extFile = YamlParser('LearnInfo') '''从配置文件获取参数''' grade = intFile.getYamlParms(('GK', 'grade')) recruitType = intFile.getYamlParms(('GK', 'recruitType')) scholarship = intFile.getYamlParms(('GK', 'scholarships')) '''从参数文件获取参数''' city = extFile.getYamlParms(('GStudent', 'city')) unvsId = extFile.getYamlParms(('GStudent', 'unvsId')) feeId = extFile.getYamlParms(('GStudent', 'feeId')) feeList = extFile.getYamlParms(('GStudent', 'feeList')) pfsnCode = extFile.getYamlParms(('GStudent', 'pfsnCode')) pfsnId = extFile.getYamlParms(('GStudent', 'pfsnId')) pfsnName = extFile.getYamlParms(('GStudent', 'pfsnName')) taId = extFile.getYamlParms(('GStudent', 'taId')) taName = extFile.getYamlParms(('GStudent', 'taName')) mobile = BeforeParamCom().getPhone() idCard = BeforeParamCom().getCard() self.log.info('学员手机号:' + mobile) self.log.info('学员身份证号:' + str(idCard)) BeforeParamCom().setLearn((('GStudent', 'mobile'), ), mobile) BeforeParamCom().setLearn((('GStudent', 'idCard'), ), idCard) pfsnLevel = intFile.getYamlParms(('GK', 'pfsnLevel')) '''将参数组合到接口文件''' values = (str(grade), str(recruitType), str(scholarship), str(city), str(unvsId), str(feeList), str(pfsnCode), str(pfsnId), str(pfsnName), str(taId), str(taName), mobile, idCard, str(pfsnLevel), str(feeId)) keys = (('data', 'grade'), ('data', 'recruitType'), ('data', 'scholarship'), ('data', 'city'), ('data', 'unvsId'), ('data', 'feeList'), ('data', 'pfsnCode'), ('data', 'pfsnId'), ('data', 'pfsnName'), ('data', 'taId'), ('data', 'taName'), ('data', 'mobile'), ('data', 'idCard'), ('data', 'pfsnLevel'), ('data', 'feeId')) case = TestCaseAssembly().setAipParam('GrecruitAdd', values, keys, 'regiester') data = MultipartEncoder(fields=case[3]) DataSource().setHearder(data.content_type) response = YzApi().lapi(method=case[0], headers=DataSource().getHearder("regiester"), urls=case[2], data=data) def testing(self): self.test_0_getGkOpenEnrollCityInfo() self.test_1_sUnvs() self.test_2_getOpenTestAreaByCity() self.test_3_getOpenPfsnByTaId() self.test_4_showFeeList() self.test_5_gk_normal_register() def testing1(self): self.test_5_gk_normal_register() def testing2(self): self.test_0_getGkOpenEnrollCityInfo() self.test_2_getOpenTestAreaByCity() self.test_4_showFeeList() self.test_5_gk_normal_register()
" failed") return res["acknowledged"] else: raise Exception(res) except Exception, e: raise e else: if es.indices.create(index=index, body=settings): if doc_type is not None and mappings is not None: res = es.indices.put_mapping(index=index, doc_type=doc_type, body=mappings) LOG.debug("create mappings response: " + str(res)) if "acknowledged" in res: if res["acknowledged"]: LOG.info("[Mapping] create " + index + "/" + doc_type + " success") else: LOG.info("[Mapping] create " + index + "/" + doc_type + " failed") return res["acknowledged"] else: raise Exception(res) else: LOG.info("[Index] create index=" + index + " success") return True else: LOG.error("create " + index + "/" + doc_type + " Failed") return False def writer_data():
import argparse import os from common.Log import Log log = Log() log.info("--测试开始--") parser = argparse.ArgumentParser() parser.add_argument("package") parser.add_argument("totalEvent") args = parser.parse_args() param = vars(args) v = {} for key, value in param.items(): v[key] = value print(v) log.info(v)
report_dirc = os.path.join(curent_dirc, "report") print("#######" + report_dirc) # 指定测试用例为当前文件夹下的 testcase 目录 # test_dir = './testcase' test_dir = os.path.join(curent_dirc, "testcase") # discover = unittest.defaultTestLoader.discover(test_dir, pattern='*load*.py') discover = unittest.defaultTestLoader.discover(test_dir, pattern='*test*.py') # 获取jenkins参数 parser = argparse.ArgumentParser() parser.add_argument("env") args = parser.parse_args() param = vars(args) log.info(param) log.info(param['env']) if __name__ == "__main__": del_file(report_dirc) # 执行测试用例 now = time.strftime("%Y%m%d%H%M%S") # filename = report_dirc + now + '.html' filename = report_dirc + '/index.html' log.info(filename) print('*********' + filename) fp = open(filename, 'wb') runner = HTMLTestRunner(stream=fp, title='Interface Test Report', description='') runner.run(discover)