18年selenium3+python3+unittest自动化测试教程(下)

第六章 自动化测试进阶实战篇幅

1、自动化测试实战进阶之网页单选性别资料实战

简介:讲解使用selenium修改input输入框和单选框


2、自动化测试之页面常见弹窗处理

简介:讲解使用selenium处理页面弹窗,alert和comfirm

弹窗常用方法(需要先切换窗口  switch_to_alert() )

accept() 表示接受

dismiss() 表示取消


3、高级知识点自动化测试之验证码常见解决方案

扫描二维码关注公众号,回复: 3884977 查看本文章

简介:自动化测试之常见验证码解决方案

1、破解验证码

OCR识别: tesseract-ocr

AI机器学习: 

2、绕过

1、让开发人员临时关闭验证码 安全性需要保密,一般在开发测试环境使用)

2、提供一个万能的验证码(安全性需要保密,一般在开发测试环境使用)

3、使用cookie(登录主要是为了拿cookie,获取登录凭证)


4、自动化测试实战进阶之cookie操作

简介:讲解自动化测试实战进阶操作cookie和使用场景


5、实战系列之自动化测试错误截图

简介:讲解使用webdriver自动截图

driver.get_screenshot_as_file("./error_png.png")


第七章 自动化测试必备框架 unittest 单元测试框架实战

1、什么是单元测试unittest

简介:讲解什么是单元测试,使用场景和unittest介绍

1、单元测试:

是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,

如C语言中单元指一个函数,

function add(int a, int b){

return a + b

}

Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。

总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试

2、unittest 框架是 python的单元测试框架, java -> junit

官网:https://docs.python.org/2/library/unittest.html

3、unnitest = TestCase + TestResult  执行用例 + 结果


2、单元测试框架unittest入门

简介:讲解单元测试框架 unittest的使用

1、用import语句引入unittest模块

2、测试的类都继承于TestCase类

3、setUp() 测试前的初始化工作;tearDown()测试后的清除工作  (在每个测试方法运行时被调用)

注意:

1、所有类中方法的入参为self,定义方法的变量也要“self.变量

2、定义测试用例,以“test”开头命名的方法,方法的入参为self

3、unittest.main()方法会搜索该模块下所有以test开头的测试用例方法,并自动执行它们

4、自己写的py文件不能,用 unittest.py 命名,不然会找不到TestCase

成功是输出 . 失败是 F

py开发工具 pycharm

# -*- coding: UTF-8 -*-

import unittest

class UserTestCase(unittest.TestCase):

    def setUp(self):

    def tearDown(self):

    def test_name(self):        

if __name__ == '__main__':

    unittest.main()


3、测试套件TestSuite介绍

简介:讲解测试套件TestSuite的基本介绍和使用场景

需求: 

1、利用unnitest执行流程测试而非单元测试

2、控制unnitest的执行顺序

1、unittest.TestSuite() 类来表示一个测试用例集

1)用来确定测试用例的顺序,哪个先执行哪个后执行

2)如果一个class中有四个test开头的方法,则加载到suite中时则有四个测试用例

3)由TestLoder加载TestCase到TestSuite

4)verbosity参数可以控制执行结果的输出,0 是简单报告、1 是一般报告、2 是详细报告

默认1 会在每个成功的用例前面有个“.” 每个失败的用例前面有个 “F”

2、TextTestRunner()  文本测试用例运行器

3、run()方法是运行测试套件的测试用例,入参为suite测试套件


4、高级实战系列之测试套件TestSuite生成测试报告 上集

简介:HTMLTestRunner介绍

1、HTMLTestRunner介绍

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告,无法通过pip安装。 

首先要下 HTMLTestRunner.py 文件,将下载的文件放入…\python\Lib目录下 (或者同个路径)

注意点:

python2和python3,语法不一样,导致HTMLTestRunner在python3不兼容

解决办法:导入课程资料里面修改好的HTMLTestRunner.py (该版本是网上的小伙伴修改好的)


5、高级实战系列之测试套件TestSuite生成测试报告 下集

简介:讲解使用测试套件TestSuite解决多个用例生成测试报告


6、Unitest中HTML测试报告优化 

简介:为每一个测试用例添加说明,那么将会使报告更加易读懂,工作中汇报数据的技巧

u"test_one方法"


第八章、自动化测试selenium和unittest整合项目实战

1、小D课堂官网项目实战需求说明

   简介:讲解小D课堂官方自动化测试需求场景,和项目基础框架搭建

   1.自动化测试里面的测试用例设计的一些方法 

   解耦、可以独立运行、需要灵活切换

设计思路: 脚本功能分析(分步骤)和模块化分层(拆分为多模块)

   project

   login_order.py #登录下单测试用例

   category.py #菜单分类测试用例

   all_test.py #主入口


2、自动化测试实战之下单自动化测试

简介:使用unittest + selenium 下单测试用例编写

1、使用原先的资料 第5章第3集  第6章第4集


3、分类列表整合unittest自动化测试

简介:使用unittest + selenium 菜单弹窗测试用例编写

1、使用资料 第5章第2集


4、必备技能之发送测试报告邮件

简介:讲解发送邮件的基础知识

1、邮件发送的基本过程与概念

邮件服务器 :类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中

电子邮箱 :用户在邮件服务器上申请的一个账户

from:<[email protected]>  ----发件人

        to:<[email protected]>    ----收件人

        subject:hello     ----主题

body: 欢迎来到小D课堂   -----内容体

2、邮件传输协议

SMTP协议:全称为 Simple Mail Transfer Protocol,简单邮件传输协议。它定义了邮件客户端软件和SMTP邮件服务器之间,以及两台SMTP邮件服务器之间的通信规则

POP3协议:全称为 Post Office Protocol,邮局协议。它定义了邮件客户端软件和POP3邮件服务器的通信规则

IMAP协议:全称为 Internet Message Access Protocol,Internet消息访问协议,它是对POP3协议的一种扩展,也是定义了邮件客户端软件和IMAP邮件服务器的通信规则

参考资料:https://www.cnblogs.com/ysocean/p/7652934.html


5、使用python发送邮件实战

简介:讲解使用python发送邮件

导入依赖

1、使用 126邮箱 https://mail.126.com/

A: [email protected]

B: [email protected]

smtp地址:smtp.126.com

#coding=utf-8

import smtplib

from email.mime.text import MIMEText 

from email.header import Header


6、实战系列使用python发送测试报告邮件和附件

简介:使用python发送测试报告邮件和附件


7、自动化测试项目实战整合发送测试报告邮件

简介:抽取发送邮件的代码,整合自动化测试


第九章 课程总结

1、课程总结和常见问题处理

简介:课程总结和讲解常见的问题处理

必备

初级:html/css/js/http   

中级:linux、mysql、jmeter(压力测试用的最多的软件之一)、lr(现在用的比较少)

python + request 网络库去开发接口自动化测试

高级:jenkins CI、git (管理项目质量、搭建所有基础组件、bug管理工具(bugfree/jira))

可选

python/java/node

通过百度去解决错误和问题,学会用搜索引擎


猜你喜欢

转载自blog.51cto.com/13672582/2311764