def enviarEmail(self, mensagem): clas = ReadConfig() config = clas.getConfig('../config/gmail.private') smtp = smtplib.SMTP(config.get('smtp'), config.get('port')) smtp.starttls() smtp.login(config.get('user'), config.get('password')) de = config.get('from') para = [config.get('to')] msg = """From: %s To: %s Subject: %s %s """ % (config.get('alias'), ', '.join(para), config.get('subject'), mensagem) print "[Mensagem] Enviando e-mail..." print msg smtp.sendmail(de, para, msg) print "[Mensagem] E-mail enviado." smtp.quit()
def main(): # case_path = '%s/%s'%(_log.proDir,'test_case/%s'%(config.getConfig().get_case_path("path"))) # log.info("case_path:%s"%case_path) # discover = unittest.defaultTestLoader.discover(case_path,'papi_hao_xin_qing.py') # discover.debug() # discover = unittest.TestLoader. # suite = unittest.TestSuite() # suite.addTest(unittest.TestLoader().loadTestsFromTestCase(config.get_cases())) # from importlib.util import find_spec # d = find_spec('Users.liweichao.workspace.interface_test.interface.test_case.dapi_hao_xin_qing.settings.py') for case_path_p, case_path_c, report_path, report_name in config.getConfig( ).get_cases(): discover = unittest.defaultTestLoader.discover(case_path_p, case_path_c) # discover.debug() now = time.strftime("%Y-%m-%d %H_%M_%S") report_name = now + report_name + '测试报告.html' log.info("report_name:%s" % (report_name)) report_path_exists = os.path.exists(report_path) if not report_path_exists: os.makedirs(report_path) log.info("report_path:%s" % (report_path)) desription = '自动化测试报告' log.info("desription:%s" % (desription)) br.BeautifulReport(discover).report(filename=report_name, description=desription, log_path=report_path)
def live_login(self): config = ReadConfig() # 从配置文件获取账户和密码 username = config.getConfig("username") password = config.getConfig("password") self.send_keys("live_login", "账号输入框", username) self.send_keys("live_login", "密码输入框", password) self.click("live_login", "登录")
def detail_login(self): """课程详情登录""" self.click("cms_login", "登录右") config = ReadConfig() username = config.getConfig("username") password = config.getConfig("password") self.send_keys("cms_login", "账号输入框", username) self.send_keys("cms_login", "密码输入框", password) self.click("cms_login", "登录按钮") self.wait_time(1) self.click("course_page", "进入课程")
def wrapper(self, *args, **kwargs): try: kwargs = args[0].to_dict() m = kwargs.get(config.getConfig().request_method, config.getConfig().get_http_method(self.model)) req = HttpUtils(self.model) req.url = kwargs.get('api') self.log.info("api:%s" % (req.url)) req.headers.update(kwargs.get('header', {})) req.params.update(kwargs.get('param', {})) req = getattr(req, str.lower(m)) res = req() status_code = res.status_code res = res.json() except Exception as e: logger.exception(e, exc_info=True) res = None return func(self, status_code, res, *args, **kwargs)
def cms_login_test(self): """登录是否成功方法""" self.click("cms_login", "登录右") config = ReadConfig() # 从配置文件获取账户和密码 username = config.getConfig("username") # print(username) password = config.getConfig("password") # print(password) self.send_keys("cms_login", "账号输入框", username) self.send_keys("cms_login", "密码输入框", password) self.click("cms_login", "登录按钮") self.wait_time(1) #判断url检查是否登录成功 g_url = self.get_url() print("获取的地址:%s" % g_url) t_url = 'https://course.beta.e-ducation.cn/home/' print("实际的地址:%s" % t_url) self.check_url(g_url, t_url, '登录') return self.check_url(g_url, t_url, '登录')
def course_login(self): """创建课程的登录方法""" self.click("cms_login", "登录右") config = ReadConfig() # 从配置文件获取账户和密码 username = config.getConfig("username") password = config.getConfig("password") self.send_keys("cms_login", "账号输入框", username) self.send_keys("cms_login", "密码输入框", password) self.click("cms_login", "登录按钮") self.wait_time(0.8) while self.is_displayed("course_create", "创建课程标题") == False: self.click("course_create", "创建课程按钮") print(self.is_displayed("course_create", "创建课程标题"))
class Testwork(unittest.TestCase): @classmethod def setUpClass(cls): cls.log = Log.MyLog.get_log().logger @file_data(ReadConfig.getConfig().get_case('test_demo')) @request() @my_assert() def test(self, status_code, res, *args, assert_res=None, **kwargs): self.log.info(res) # self.log.info(kwargs) if assert_res is not None: for ar in assert_res: if isinstance(ar, types.GeneratorType): for a in ar: self.log.info(a.assert_res) self.log.info(a.assert_msg) self.assertEqual(True, a.assert_res, a.assert_msg)
class PapiHaoXinQing(unittest.TestCase): @classmethod def setUpClass(cls): cls.log = Log.MyLog.get_log().logger cls.model = model # param = import_module('settings') # print(param) @file_data(ReadConfig.getConfig().get_case(model)) @request() @my_assert() def test(self, status_code, res, *args, assert_res=None, **kwargs): self.log.info(res) self.log.info(kwargs) if assert_res is not None: for ar in assert_res: if isinstance(ar, types.GeneratorType): for a in ar: self.log.info(a.assert_res) self.log.info(a.assert_msg) self.assertEqual(True, a.assert_res, a.assert_msg)
import unittest, os import common.log as Log import types from common.common import get_xls, my_assert from ddt import ddt, data, unpack, file_data from readConfig import ReadConfig from common.common import request @ddt(model=ReadConfig.getConfig().get_model("model")) class Testwork(unittest.TestCase): @classmethod def setUpClass(cls): cls.log = Log.MyLog.get_log().logger @file_data(ReadConfig.getConfig().get_case('test_demo')) @request() @my_assert() def test(self, status_code, res, *args, assert_res=None, **kwargs): self.log.info(res) # self.log.info(kwargs) if assert_res is not None: for ar in assert_res: if isinstance(ar, types.GeneratorType): for a in ar: self.log.info(a.assert_res) self.log.info(a.assert_msg) self.assertEqual(True, a.assert_res, a.assert_msg) # self.failIf(http_status in (404,400,500),"%s 服务请求失败"%(http_status)) # assert_dic:dict = kwargs.get('assert')