自动化测试教程(23)使用PO设计模式3

简介: 学到这里自动化测试已全部学习完毕,接下来的课程我们学习一下接口测试,大家在下面多多练习,PO设计模式有点难理解。接着我们上一小结没学完的PO设计模式,我们继续学习一下PO设计模式,并熟练运用。在里面方法新建好的csv文件。在里面放置测试报告文件。再这面面放置截图的图片。

文章目录

1.任务目标

接着我们上一小结没学完的PO设计模式,我们继续学习一下PO设计模式,并熟练运用

2.任务实操

2.1任务目录

2.2任务代码

2.2.1 Webdriver包下面的test_add执行程序

from Webdriver.test_case.model import funcation, myutil
import unittest
from Webdriver.test_case.page_object.Login_page import *
from Webdriver.test_case.page_object.Add_page import *
import ddt
@ddt.ddt
class LoginTest(myutil.strEnd):
    def test_susses(self):
        print("开始执行")
        test_data = funcation.get_csv_file(2)
        test_user_login(self.driver, "liufengning", "123456")
        test_user_add(self.driver, test_data[0])
        funcation.instr_img(self.driver, "test_susses.png")
        ds = UserAdd(self.driver)
        self.assertEqual(test_data[1], ds.type_cf())
if __name__ == '__main__':
    unittest.main()
    #这里面运用了unittest并且执行我们之前在封装的方法,相当于总方法

2.2.2Webdriver包下面的test_data放置csv文件

在里面方法新建好的csv文件

2.2.3Webdriver包下面的test_report放置测试报告

在里面放置测试报告文件

2.2.4Webdriver包下面的test_report里面的sucsses

再这面面放置截图的图片

2.2.4写个中程序发测试报告生成测试文件run_test.py

代码如下

from Webdriver.test_case.model.funcation import send_mail, listed
import unittest
from HTMLTestRunner import HTMLTestRunner
import time
if __name__ == '__main__':
    test_dir = "./Webdriver/test_case"
    report_dir = "./Webdriver/test_report"
    ds = unittest.defaultTestLoader.discover(test_dir, pattern="test_add.py")
    now = time.strftime("%Y-%m-%d-%H-%M-%S")
    report_name = report_dir + "/" + now + "report.html"
    with open(report_name, "wb") as f:
        ruun = HTMLTestRunner(stream=f, title="测试报告", description='Hr')
        ruun.run(ds)
    f.close()
    te = listed(report_dir)
    send_mail(te)
#这里面用了discover方法执行掐面的代码
#里面还调用了封装的发送邮件方法

3.执行结果

4.小结

学到这里自动化测试已全部学习完毕,接下来的课程我们学习一下接口测试,大家在下面多多练习,PO设计模式有点难理解。

相关文章
|
2月前
|
设计模式 Java Kotlin
Kotlin教程笔记(56) - 改良设计模式 - 装饰者模式
Kotlin教程笔记(56) - 改良设计模式 - 装饰者模式
47 2
|
2月前
|
设计模式 安全 Java
Kotlin教程笔记(57) - 改良设计模式 - 单例模式
Kotlin教程笔记(57) - 改良设计模式 - 单例模式
40 2
|
3月前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
3月前
|
设计模式 Java Kotlin
Kotlin教程笔记(54) - 改良设计模式 - 迭代器模式
Kotlin教程笔记(54) - 改良设计模式 - 迭代器模式
58 2
|
3月前
|
设计模式 Java API
Kotlin教程笔记(50) - 改良设计模式 - 工厂模式
Kotlin教程笔记(50) - 改良设计模式 - 工厂模式
54 2
|
3月前
|
设计模式 算法 Kotlin
Kotlin教程笔记(53) - 改良设计模式 - 策略模式
Kotlin教程笔记(53) - 改良设计模式 - 策略模式
59 1
|
3月前
|
设计模式 监控 Java
Kotlin教程笔记(52) - 改良设计模式 - 观察者模式
Kotlin教程笔记(52) - 改良设计模式 - 观察者模式
56 1
|
3月前
|
设计模式 安全 Java
Kotlin教程笔记(57) - 改良设计模式 - 单例模式
Kotlin教程笔记(57) - 改良设计模式 - 单例模式
|
3月前
|
设计模式 Java Kotlin
Kotlin教程笔记(56) - 改良设计模式 - 装饰者模式
Kotlin教程笔记(56) - 改良设计模式 - 装饰者模式
|
3月前
|
设计模式 JavaScript Scala
Kotlin教程笔记(55) - 改良设计模式 - 责任链模式
Kotlin教程笔记(55) - 改良设计模式 - 责任链模式
39 0