def setUpClass(self): self.logger = Logger('OA').get_logger() yang = YamlReader(USERINFO).get('OA')[0] for i, v in yang.items(): self.username = i self.password = v desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '9.1' desired_caps['deviceName'] = '7XBNW18C10005211' desired_caps['appPackage'] = 'com.seeyon.cmp' desired_caps['appActivity'] = '.ui.LoadActivity' self.dr = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
def __init__(self, project, receusers=None): self.m = YamlReader(PROJECTINFO).get(project).get('mail') if not os.path.exists(REPORT_PATH): os.mkdir(REPORT_PATH) self.senduser = self.m['senduser'] # 发送邮箱 self.sendpswd = self.m['sendpswd'] # 授权码 self.receusers = receusers if receusers else self.m['receusers'] # 收信邮箱
def send_mail(self): self.remove_log() body_main = self.new_log() report = self.new_report() msg = MIMEMultipart() msg['Subject'] = Header('今日情况' + NOW, 'utf-8') # 邮件标题 text = MIMEText(body_main, 'html', 'utf-8') # 邮件内容 msg.attach(text) att = MIMEText(open(report, 'rb').read(), 'base64', 'utf-8') # 发送附件 att['Content-Type'] = 'application/octet-stream' att.add_header('Content-Disposition', 'attachment', filename=('utf-8', '', DAY + "_report.html")) msg.attach(att) smtp = smtplib.SMTP() smtp.connect('smtp.qq.com') smtp.login(self.senduser, self.sendpswd) msg['From'] = self.senduser for receuser in self.receusers: msg['To'] = receuser smtp.sendmail(self.senduser, receuser, msg.as_string()) if __name__ == '__main__': l = [] receusers = YamlReader(PROJECTINFO).get('OA').get('mail')['receusers'][0] l.append(receusers) print(l) eml = Mail('OA') eml.send_mail()
def test1_login(self): username = YamlReader(USERINFO).get('OAUSER') password = YamlReader(USERINFO).get('OAPSWD') login(self.dr, username, password) time.sleep(random.randint(1, 120))
def setUpClass(self): self.driver = browser() self.dr = Basic(self.driver) url = YamlReader(URLINFO).get('OAHomeUrl') self.dr.open(url)
def __init__(self, progect): self.progect = progect self.logger_name = '%stest' % self.progect self.logger = logging.getLogger(self.logger_name) logging.root.setLevel(logging.NOTSET) c = YamlReader(PROJECTINFO).get(progect).get('log') if not os.path.exists(LOG_PATH): os.mkdir(LOG_PATH) self.log_file_name = c.get('file_name') if c and c.get( 'file_name') else NOW + 'test.log' # 日志文件 self.backup_count = c.get( 'backup') if c and c.get('backup') else 5 # 保留的日志数量 self.console_output_level = c.get('console_level') if c and c.get( 'console_level') else 'WARNING' # 日志输出级别 self.file_output_level = c.get( 'file_level') if c and c.get('file_level') else 'DEBUG' pattern = c.get('pattern') if c and c.get( 'pattern' ) else '%(asctime)s - %(name)s - %(levelname)s - %(message)s' # 日志输出格式 self.ft = logging.Formatter(pattern)
from config.pathes import USERINFO, URLINFO from utils.BasicPage import Basic, browser from utils.FileReader import YamlReader from utils.verifyCode import verifyCode def login(driver,username,password): '''在登录页循环提交登录信息,知道登录成功''' old_url = driver.current_url() while True: driver.clear('id','login_username') driver.input('id','login_username',username) driver.clear('id','login_password') driver.input('id','login_password',password) code = verifyCode(driver,'id', 'VerifyCodeImg') driver.input('id', 'VerifyCode', code) time.sleep(2) driver.click('id','login_button') new_url = driver.current_url() if new_url != old_url: break else: driver.refresh() if __name__ == '__main__': driver = browser() dr = Basic(driver) url = YamlReader(URLINFO).get('OAHomeUrl') dr.open(url) username = YamlReader(USERINFO).get('OAUSER') password = YamlReader(USERINFO).get('OAPSWD') login(dr,username,password)