标签:任务 ftime 子线程 避免 sel join 对象 自动化测试 使用
python selenium T3
既然要做自动,就得对得起自动化的这个名字。这一章我们将进一步的增加自动化测试的实用,增加
自动发邮件功能、多线程 和定时任务,让我们的自动化工作真正变得高效而又强大起来。
EG1 :
with open(‘report.html‘ , ‘r‘) as f: msg = MIMEText(f.read() , _subtype=‘html‘ , _charset=‘utf-8‘) msg[‘Subject‘] = Header(subject, ‘utf-8‘) msg[‘date‘] = datetime.now().strftime(‘%Y-%m-%d %H-%M-%S‘) smtp = smtplib.SMTP() smtp.connect(smtpserver) smtp.login(username, password) smtp.sendmail(sender,receiver , msg.as_string()) smtp.quit()
EG2:
每个进程都有自己的地址空间,内存,数据栈以及其它记录其运行轨迹的辅助数据。操作系统管理在其上运行的所有进程,并为这些进程公平地分配时间。
线程(有时被称为轻量级进程)跟进程有些相似,不同的是,所有的线程运行在同一个进程中,共享
相同的运行环境。我们可以想像成是在主进程或“主线程”中并行运行的“迷你进程”。
在单线程中顺序执行两个循环。一定要一个循环结束后,另一个才能开始。总时间是各个循环
运行时间之和
thread 提供了低级别的、原始的
线程以及一个简单的锁。threading 基于 Java 的线程模型设计。锁(Lock)和条件变量(Condition)
在 Java 中是对象的基本行为(每一个对象都自带了锁和条件变量),而在 Python 中则是独立的对象。
我们应该避免使用 thread 模块,原因是它不支持守护线程。当主线程退出时,所有的子线程不论它
们是否还在工作,都会被强行退出。有时我们并不期望这种行为,这时就引入了守护线程的概念。 threading
模块则支持守护线程。
join()会等到线程结束,或者在给了 timeout 参数的时候,等到超时为止。join()的另一个比较重
要的方面是它可以完全不用调用。一旦线程启动后,就会一直运行,直到线程的函数结束,退出为止。
标签:任务 ftime 子线程 避免 sel join 对象 自动化测试 使用
原文地址:http://www.cnblogs.com/zsr0401/p/6489860.html