Web自动化测试实战(四)

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!

接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/100054467

目录

四丶unittest模块

1.unittest基本概念

2.unittest基本用法

3.unittest断言

4.unittest命令行接口

5.unittest与selenium

6.Web自动化测试知识点


四丶unittest模块

 Web自动化测试实战(三)知识点回顾

1.unittest基本概念

1.什么是是unittest框架?         

Unittest单元测试框架是专门用来进行测试的框架     

2.主要概念:         

test fixture:代表了用例执行前的准备工作和用例执行之后的清理工作。         

test case:测试用例,这个相信大家都不陌生。是测试的最小单位,一般检查一组输入的响应(输出)是否符合预期。unittest模块提供了TestCase类来帮助我们创建测试用例;         

test suite:经常被翻译成”测试套件”,也有人称为”测试套”,是测试用例或测试套件的集合,一般用来把需要一起执行的用例组合到一起;         

test runner:用来执行测试用例并输出测试结果的组件。可以是图形界面或命令行界面;

2.unittest基本用法

1.通过继承unittest.TestCase进行编写,继承unittest.TestCase的类会被框架识别为测试用例。     

2.setUpTearDown是用于事前和事后做相关处理动作的,就是前面说的Test Fixture,会在每个测试用例运行前后被框架自动调用     

3.所有以test开头的方法会被框架自动识别为测试用例,并自动调用执行,不是以test开头的不会被调用     

4.unittest.main()是最简单的测试执行方式     

5.调用unittest.main()方法后,继承自unittest.TestCase类的类会被自动识别为测试用例并且被调用。

示例演示

  • 定义一个类继承unittest模块下的TestCase类,并在类中定义测试方法,运行代码执行测试用例

  • 在测试类中定义setUP和tearDown方法,setUP方法则是在执行用例之前执行而tearDown方法则是执行用例结束后执行

  • 创建测试套件,将需要执行的测试用例添加到测试套件中,运行测试用例输出测试报告信息

3.unittest断言

断言是测试用例的核心。我们使用assertEqual()来判断预期结果,用assertTrue()assertFalse来做是非判断。

示例演示

  • 通过assertEqual方法判断两个值(预期值和实际值)是否相等

  • 通过assertTrue方法判断变量是否为True

  • 同理assertFlase方法也是一样

4.unittest命令行接口

unittest支持命令行接口,我们可以在命令行里指定运行具体的测试用例

示例演示

  • 在Terminal终端中输入如下命令执行demo_02模块下的Test类中的测试用例

5.unittest与selenium

前面我们简单学习了unittest的用法,接下来我们将unittest与selenium融合在一起进行web自动化测试     

1. Commonlib目录存放通用模块(我们封装的selenium模块)     

2.创建Business目录,根据业务创建测试功能模块     

3.创建Testcase目录存放测试用例

示例演示

  • unittest与selenium结合实现1号店网站自动化测试登录模块并将测试用例测试结果生成html格式的测试报告,首先需要创建项目目录

  • 将生成测试报告的HTMLTestRunner.py模块以及前面封装的selenium模块拷贝到Commonlib目录下

  • 在Business目录下创建Login.py文件,完成1号店页面的登录操作

  • 接下里则是在Testcase目录下创建testcase.py文件,在文件中编写4个测试用例,通过创建Business目录的Login模块中的Login对象来调用类中方法完成登录功能的自动化测试用例,(这个封装调用太简单就不细说了,直接看代码即可)

  • 第一个test_001测试用例为正确的登录操作,test_002则是不输入用户名和密码进行登录,并根据提示信息元素获取text文本数据进行比较,test_003输入用户名密码不输入,同样是根据提示信息元素获取文本数据进行比较,最后一个test_004也是一样的,只是这个比较的预期值与实际值是不一致的,即所以前面三个测试用例均为预期结果与实际结果一致,最后一个为不一致,最终测试结果为三个pass1个failed

  • 最后在Testcase目录下创建testsuite.py文件,将如上的测试结果通过HTMLTestRunner模块生成html格式的测试报告

  • 运行测试用例,在Testcase目录下成功生成了report.html测试报告

  • 打开report.html查看测试报告

6.Web自动化测试知识点

  • 整个Web自动化测试知识体系如下

课程介绍 你是否在寻找机会进入自动化测试领域? 你是否渴望学习selenium webdriver + Java以及最新的框架和技术进行web自动化测试? 你是否感兴趣学习Selenium如何用在你现有的项目里的? 这门课带你从Selenium搭建环境开始讲起,然后学习selenium,TestNG, logback, maven, jenkins。 我们假设学员没有任何自动化经验,来设计的这套课程。每个课题都从最基础的开始讲起。Selenium相关的该覆盖的课题都覆盖了。 例子都是来自于真实的web应用项目,帮助你理解不同的组件怎么用上自动化,这将展示给你一个行业层面的框架,增加自信心。 全网没有其他课程像这门课涵盖到如此之深的细节。 您将会学到什么 学完课程以后,你将拥有完整的Selenium Webdriver知识 你将具备从头开始设计Page Object、Page Factory、DATADRIVEN等搭建自动化框架的能力 用100多个实例对Selenium现实场景应用进行深入理解 全面了解TestNG, Maven, Jenkins, HTML报告,多浏览器并行测试 了解数据库测试和使用Selenium进行性能测试 你将彻底了解testNG框架 你从网上随便选择一个网站,都可以实现自动化,用所有可能的测试用例进行自动化测试 将提高你的编码技能,以编写最优化的自动化测试用例代码 你基本可以搞定任何Selenium面试,并能从设计阶段开始领导整个Selenium自动化项目 你应该能够使用应用程序的GUI来验证数据完整性 你将能够创建漂亮的报告来打动客户或领导 更深入地理解自动化指南和代码质量标准 会附带一个练习网站,可以用上所有可用的WebDriver功能,实现自动化 【适合人群】 软件手动测试人员想转为自动化测试的人员 自动化软件测试人员想加强专业技能的 刚毕业学生想从事软件行业 QA 组长或项目经理 【课程优势】 学完课程以后,你将拥有完整的Selenium Webdriver知识 【讲师介绍】 资质介绍: 12年以上软件测试工作经验,其中7年以上自动化测试开发经验 新书“Python3+Selenium3自动化测试项目实战”作者
©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师:上身试试 返回首页