您的位置:首页 > 移动开发 > Objective-C

Page Object设计模式实践

2017-02-06 15:38 85 查看
  Page Object是Selenium自动化测试项目开发实践的最佳设计模式之一,通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例的可维护性。

  本项目以163邮箱登录为例,163登录脚本(非PO模式)请查看博客中的随笔信息。

1、项目目录结构及相关介绍

1 import unittest, time
2 from HTMLTestRunner import HTMLTestRunner
3 from email.mime.text import MIMEText
4 from email.header import Header
5 import smtplib, os
6
7 #发送测试报告,需要配置你的邮箱账号
8 def send_mail(file_new):
9     f = open(file_new, 'rb')
10     mail_body = f.read()
11     f.close()
12     msg = MIMEText(mail_body, 'html', 'utf-8')
13     msg['Subject'] = Header("自动化测试报告", 'utf-8')
14     msg['From']= 'ldq791918813@163.com'
15     msg['To']= '791918813@qq.com'
16     smtp = smtplib.SMTP()
17     smtp.connect("smtp.163.com")
18     smtp.login("ldq791918813@163.com", "密码")
19     smtp.sendmail("ldq791918813@163.com","791918813@qq.com",msg.as_string())
20     smtp.quit()
21     print('email has send out!')
22
23 #查找测试报告目录,找到最新生成的测试报告文件
24 def new_report(testreport):
25     lists = os.listdir(testreport)
26     lists.sort(key=lambda fn: os.path.getmtime(testreport + '\\' + fn))
27     file_new = os.path.join(testreport, lists[-1])
28     print(file_new)
29     return file_new
30
31 #指定测试用例为当前文件夹下的test_case目录
32 test_dir = './mail/test_case'
33 test_report = 'D:\\sublimePython\\test_programe\\mail\\report'
34 discover = unittest.defaultTestLoader.discover(test_dir, pattern = '*_case.py')
35
36 if __name__ == "__main__":
37
38     now = time.strftime("%Y-%m-%d %H_%M_%S")
39     filename = test_report + '/' + now + 'result.html'
40     fp = open(filename, 'wb')
41     #runner = unittest.TextTestRunner()
42     runner = HTMLTestRunner(stream=fp,
43                             title='测试报告',
44                             description="运行环境:windows 7, Chrome")
45     runner.run(discover)
46     fp.close()
47
48     new_report = new_report(test_report)
49     send_mail(new_report)


run_all_test.py
6、HTML测试报告:



7、截图信息:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: