Page Object设计模式实践
2017-07-02 00:20
459 查看
Page Object是Selenium自动化测试项目开发实践的最佳设计模式之一,通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例的可维护性。
本项目以163邮箱登录为例,163登录脚本(非PO模式)请查看博客中的随笔信息。
1、项目目录结构及相关介绍
6、HTML测试报告:
7、截图信息:
本项目以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)
6、HTML测试报告:
7、截图信息:
相关文章推荐
- Page Object设计模式实践
- selenium Object Page 设计模式理解及实现!
- QTP - PageObject设计模式
- Python3-Selenium3使用PO设计模式(Page Object)实现简单的页面登录操作
- Selenium Page Object(PO)设计模式
- Selenium+Python :WebDriver设计模式( Page Object )
- selenium设计模式之PageObject
- Page Object设计模式
- Page Object 设计模式
- Webdriver的设计模式:Page Object(页面模型)
- 如何掌握并在实践中自如运用设计模式
- 设计模式学习-MVC实践
- 设计模式之观察者模式(Observer) C++ 实践
- 白话设计模式--实践应用--template method,factory和facade模式
- 设计模式学习实践---策略模式(Strategy Pattern)
- 设计模式- 主动对象(Active Object)
- 我对设计模式的学习和实践的思考...
- GOF设计模式---------Design Patterns: Elements of Reusable Object-Oriented Software
- 设计模式实践
- 白话设计模式--实践应用--Chain of Responsibility(职责链)和factory模式