自动化测试流程

匿名 (未验证) 提交于 2019-12-03 00:28:02

Ŀ¼

一、编写测试用例

二、执行测试用例,查找最新测试用例,自动发送测试报告

三、定时执行测试用例

四、成果验收

环境准备:

操作系统:Windows7

集成开发环境:eclipse+pydev

一、编写测试用例

点击返回目录

使用unittest框架编写测试用例实例

二、执行测试用例,查找最新测试用例,自动发送测试报告

点击返回目录

HTMLTestRunner模块下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html

将下载的文件保存在C:\Python27\Lib目录下即可。

Python自动发邮件总结及实例说明

注释中包括实现的过程说明以及一些在测试过程中遇到的问题。


# coding=utf-8
”’
Created on 2016-7-26
@author: Jennifer
Project:整合自动发邮件功能,执行测试用例生成最新测试报告,取最新的测试报告,发送最新测试报告
问题,邮件始终不能显示html:将电脑时间改为北京时间即可
”’
import unittestfrom HTMLTestRunner import HTMLTestRunnerimport timeimport osimport smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.header import Header#2.定义:取最新测试报告
def new_file(test_dir):
#列举test_dir目录下的所有文件,结果以列表形式返回。
lists=os.listdir(test_dir)
#sort按key的关键字进行排序,lambda的入参fn为lists列表的元素,获取文件的最后修改时间
#最后对lists元素,按文件修改时间大小从小到大排序。
lists.sort(key=lambda fn:os.path.getmtime(test_dir+\\+fn))
#获取最新文件的绝对路径
file_path=os.path.join(test_dir,lists[-1])# L=file_path.split(‘\\’)
# file_path=’\\\\’.join(L)
return file_path#3.定义:发送邮件,发送最新测试报告html
def send_email(newfile):
#打开文件
f=open(newfile,rb)
#读取文件内容
mail_body=f.read()#调试使用
# print u’打印’
# print mail_body
#关闭文件
f.close()

#发送邮箱服务器
smtpserver = smtp.163.com
#发送邮箱用户名/密码
user = XXX@163.com
password=XXX
#发送邮箱
sender=XXX@163.com
#多个接收邮箱,单个收件人的话,直接是receiver=’XXX@126.com’
receiver=[XXX@126.com,XXX@126.com,XXX@doov.com.cn]
#发送邮件主题
subject = 自动定时发送测试报告20160808

#编写 HTML类型的邮件正文
#MIMEText这个效果和下方用MIMEMultipart效果是一致的,已通过。
# msg = MIMEText(mail_body,’html’,’utf-8’)

msg=MIMEMultipart(mixed)

#注意:由于msg_html在msg_plain后面,所以msg_html以附件的形式出现
# text = “Dear all!\nThe attachment is new testreport.\nPlease check it.”
#中文测试ok
# text = “Dear all!\n附件是最新的测试报告。\n麻烦下载下来看,用火狐浏览器打开查看。\n请知悉,谢谢。”
# msg_plain = MIMEText(text,’plain’, ‘utf-8’)
# msg.attach(msg_plain)

msg_html1 = MIMEText(mail_body,html,utf-8) msg.attach(msg_html1) msg_html
msg.attach(msg_html1)

msg_html = MIMEText(mail_body,html,utf-8) msg_html[
msg_html[Content-Disposition] = attachment; filename=”TestReport.html”
msg.attach(msg_html)

#
# msg_html = MIMEText(mail_body,’base64’,’utf-8’)
# msg_html[“Content-Type”] = ‘application/octet-stream’
# msg_html.add_header(‘Content-Disposition’, ‘attachment’, filename=’testreport.html’)
# msg.attach(msg_html)

#要加上msg[‘From’]这句话,否则会报554的错误。
#要在163有限设置授权码(即客户端的密码),否则会报535
msg[From] = XXX@163.com <XXX@163.com>
# msg[‘To’] = ‘XXX@doov.com.cn’
#多个收件人
msg[To] = ;.join(receiver) msg[
msg[Subject]=Header(subject,utf-8) #连接发送邮件
smtp=smtplib.SMTP() smtp.connect(smtpserver,
smtp.connect(smtpserver,25) smtp.login(user, password) smtp.sendmail(sender, receiver, msg.as_string()) smtp.quit() smtp.login(user, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()if __name__==__main__:
print =====AutoTest Start======
#1.执行测试用例,生成最新的测试用例
#指定测试用例为当前文件夹下的test_case目录
#如果用/可以不用r
# test_dir=’./test_case’
#Windows的cmd执行:python “D:\system files\workspace\selenium\test_project\runtest_htmltestrunner_autosendemail.py”
#不用绝对路径会报:ImportError: Start directory is not importable: ‘./test_case’
test_dir = D:\\system files\\workspace\\selenium\\test_project\\test_case
#知道测试报告的路径
test_report_dir=D:\\pythontest\\testresult

discover=unittest.defaultTestLoader.discover(test_dir, pattern=test_*.py) now
now=time.strftime(%Y-%m-%d_%H_%M_%S_) filename
filename = test_report_dir+\\+ now + result.html
fp=open(filename ,wb)#需屏蔽fp中的中文文字说明。否则在windows下执行会报:UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe7 in position 553: ordinal not in range(128)
runner = HTMLTestRunner(stream=fp,title=u测试报告,description=u用例执行情况:) runner.run(discover) runner.run(discover)
#注意:调用函数一定要加括号,一个括号害死个人,哎,查了几天的问题,才发现导致html文件始终显示空白,就是因为close函数调用不正确,漏了括号。
fp.close()

#2.取最新测试报告
new_report=new_file(test_report_dir)#调试用的
# print new_report

#3.发送邮件,发送最新测试报告html
send_email(new_report)
print =====AutoTest Over======



第一种启动方法,切换到jenkins.war存放的目录(随便哪个目录),输入如下命令:

若要指定端口,则:

然后在浏览器中(推荐用火狐)输入localhost:8080,localhost可以是本机的ip,也可以是计算机名。就可以打开jenkins.

我就是用第一种方法安装Jenkins。

第二种方法是用tomcat打开
tomcat下载地址:http://tomcat.apache.org/
解压tomcat到某个目录,如D:\tomcat9,进入tomcat下的/bin目录,启动tomcat:即双击startup.bat文件

将jenkins.war文件放入tomcat下的webapps目录下,启动jenkins时,会自动在webapps目录下建立jenkins目录,所以在地址栏上需要输入的地址于上一种方法有点不一样。

项目配置
点击左方的“新建”。


三、定时执行测试用例

点击返回目录

方案一:直接使用Windows任务计划执行Python测试脚本。

1.创建runner.bat

2.创建任务计划

2.1右键计算机,点击管理,点击任务计划程序,再点击右方的创建任务。

2.2常规中,填写名称,如:定时执行Python脚本

3.查看

方案二:使用Jenkins定时执行脚本

环境准备:jdk1.7及以上+Jenkins[+tomcat(可选)]

下方为配置说明:

说明:日程表依次是 分钟 小时 日 月 星期

*:表示每,每分钟,每小时,每天,每月,每星期等

, :表示指定列表范围。

说明:执行脚本的命令。

上面配置完成后点击保存即可。

立即构建

可先手动构建项目,查看项目是否能够执行通过。

点击左方的“立即构建”

点击这条历史记录进去

再点击Console Output,可查看到日志,Finished: SUCCESS,说明已成功。

四、成果验收

点击返回目录

在此需要感谢虫师编著的“selenium2 自动化测试实战 基于Python语言”。

同时也要感谢原创博主http://www.cnblogs.com/yufeihlf/p/5752146.html

        </div>             </div> 

Ŀ¼

一、编写测试用例

二、执行测试用例,查找最新测试用例,自动发送测试报告

三、定时执行测试用例

四、成果验收

环境准备:

操作系统:Windows7

集成开发环境:eclipse+pydev

一、编写测试用例

点击返回目录

使用unittest框架编写测试用例实例

二、执行测试用例,查找最新测试用例,自动发送测试报告

点击返回目录

HTMLTestRunner模块下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html

将下载的文件保存在C:\Python27\Lib目录下即可。

Python自动发邮件总结及实例说明

注释中包括实现的过程说明以及一些在测试过程中遇到的问题。


# coding=utf-8
”’
Created on 2016-7-26
@author: Jennifer
Project:整合自动发邮件功能,执行测试用例生成最新测试报告,取最新的测试报告,发送最新测试报告
问题,邮件始终不能显示html:将电脑时间改为北京时间即可
”’
import unittestfrom HTMLTestRunner import HTMLTestRunnerimport timeimport osimport smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.header import Header#2.定义:取最新测试报告
def new_file(test_dir):
#列举test_dir目录下的所有文件,结果以列表形式返回。
lists=os.listdir(test_dir)
#sort按key的关键字进行排序,lambda的入参fn为lists列表的元素,获取文件的最后修改时间
#最后对lists元素,按文件修改时间大小从小到大排序。
lists.sort(key=lambda fn:os.path.getmtime(test_dir+\\+fn))
#获取最新文件的绝对路径
file_path=os.path.join(test_dir,lists[-1])# L=file_path.split(‘\\’)
# file_path=’\\\\’.join(L)
return file_path#3.定义:发送邮件,发送最新测试报告html
def send_email(newfile):
#打开文件
f=open(newfile,rb)
#读取文件内容
mail_body=f.read()#调试使用
# print u’打印’
# print mail_body
#关闭文件
f.close()

#发送邮箱服务器
smtpserver = smtp.163.com
#发送邮箱用户名/密码
user = XXX@163.com
password=XXX
#发送邮箱
sender=XXX@163.com
#多个接收邮箱,单个收件人的话,直接是receiver=’XXX@126.com’
receiver=[XXX@126.com,XXX@126.com,XXX@doov.com.cn]
#发送邮件主题
subject = 自动定时发送测试报告20160808

#编写 HTML类型的邮件正文
#MIMEText这个效果和下方用MIMEMultipart效果是一致的,已通过。
# msg = MIMEText(mail_body,’html’,’utf-8’)

msg=MIMEMultipart(mixed)

#注意:由于msg_html在msg_plain后面,所以msg_html以附件的形式出现
# text = “Dear all!\nThe attachment is new testreport.\nPlease check it.”
#中文测试ok
# text = “Dear all!\n附件是最新的测试报告。\n麻烦下载下来看,用火狐浏览器打开查看。\n请知悉,谢谢。”
# msg_plain = MIMEText(text,’plain’, ‘utf-8’)
# msg.attach(msg_plain)

msg_html1 = MIMEText(mail_body,html,utf-8) msg.attach(msg_html1) msg_html
msg.attach(msg_html1)

msg_html = MIMEText(mail_body,html,utf-8) msg_html[
msg_html[Content-Disposition] = attachment; filename=”TestReport.html”
msg.attach(msg_html)

#
# msg_html = MIMEText(mail_body,’base64’,’utf-8’)
# msg_html[“Content-Type”] = ‘application/octet-stream’
# msg_html.add_header(‘Content-Disposition’, ‘attachment’, filename=’testreport.html’)
# msg.attach(msg_html)

#要加上msg[‘From’]这句话,否则会报554的错误。
#要在163有限设置授权码(即客户端的密码),否则会报535
msg[From] = XXX@163.com <XXX@163.com>
# msg[‘To’] = ‘XXX@doov.com.cn’
#多个收件人
msg[To] = ;.join(receiver) msg[
msg[Subject]=Header(subject,utf-8) #连接发送邮件
smtp=smtplib.SMTP() smtp.connect(smtpserver,
smtp.connect(smtpserver,25) smtp.login(user, password) smtp.sendmail(sender, receiver, msg.as_string()) smtp.quit() smtp.login(user, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()if __name__==__main__:
print =====AutoTest Start======
#1.执行测试用例,生成最新的测试用例
#指定测试用例为当前文件夹下的test_case目录
#如果用/可以不用r
# test_dir=’./test_case’
#Windows的cmd执行:python “D:\system files\workspace\selenium\test_project\runtest_htmltestrunner_autosendemail.py”
#不用绝对路径会报:ImportError: Start directory is not importable: ‘./test_case’
test_dir = D:\\system files\\workspace\\selenium\\test_project\\test_case
#知道测试报告的路径
test_report_dir=D:\\pythontest\\testresult

discover=unittest.defaultTestLoader.discover(test_dir, pattern=test_*.py) now
now=time.strftime(%Y-%m-%d_%H_%M_%S_) filename
filename = test_report_dir+\\+ now + result.html
fp=open(filename ,wb)#需屏蔽fp中的中文文字说明。否则在windows下执行会报:UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe7 in position 553: ordinal not in range(128)
runner = HTMLTestRunner(stream=fp,title=u测试报告,description=u用例执行情况:) runner.run(discover) runner.run(discover)
#注意:调用函数一定要加括号,一个括号害死个人,哎,查了几天的问题,才发现导致html文件始终显示空白,就是因为close函数调用不正确,漏了括号。
fp.close()

#2.取最新测试报告
new_report=new_file(test_report_dir)#调试用的
# print new_report

#3.发送邮件,发送最新测试报告html
send_email(new_report)
print =====AutoTest Over======



第一种启动方法,切换到jenkins.war存放的目录(随便哪个目录),输入如下命令:

若要指定端口,则:

然后在浏览器中(推荐用火狐)输入localhost:8080,localhost可以是本机的ip,也可以是计算机名。就可以打开jenkins.

我就是用第一种方法安装Jenkins。

第二种方法是用tomcat打开
tomcat下载地址:http://tomcat.apache.org/
解压tomcat到某个目录,如D:\tomcat9,进入tomcat下的/bin目录,启动tomcat:即双击startup.bat文件

将jenkins.war文件放入tomcat下的webapps目录下,启动jenkins时,会自动在webapps目录下建立jenkins目录,所以在地址栏上需要输入的地址于上一种方法有点不一样。

项目配置
点击左方的“新建”。


三、定时执行测试用例

点击返回目录

方案一:直接使用Windows任务计划执行Python测试脚本。

1.创建runner.bat

2.创建任务计划

2.1右键计算机,点击管理,点击任务计划程序,再点击右方的创建任务。

2.2常规中,填写名称,如:定时执行Python脚本

3.查看

方案二:使用Jenkins定时执行脚本

环境准备:jdk1.7及以上+Jenkins[+tomcat(可选)]

下方为配置说明:

说明:日程表依次是 分钟 小时 日 月 星期

*:表示每,每分钟,每小时,每天,每月,每星期等

, :表示指定列表范围。

说明:执行脚本的命令。

上面配置完成后点击保存即可。

立即构建

可先手动构建项目,查看项目是否能够执行通过。

点击左方的“立即构建”

点击这条历史记录进去

再点击Console Output,可查看到日志,Finished: SUCCESS,说明已成功。

四、成果验收

点击返回目录

在此需要感谢虫师编著的“selenium2 自动化测试实战 基于Python语言”。

同时也要感谢原创博主http://www.cnblogs.com/yufeihlf/p/5752146.html

        </div>             </div> 
文章来源: 自动化测试流程
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!