Selenium-Unittest单元测试框架

这篇具有很好参考价值的文章主要介绍了Selenium-Unittest单元测试框架。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、Unittest介绍

为什么要学习单元测试框架
测试用例的组织与运行需要单元测试框架的参与,从而满足不同测试场景的需要,单元测试框架提供了丰富的比较方法:实际结果与预期结果的对比==测试结果
单元测试框架提供了丰富的日志:给出测试用例失败与通过的数目及执行失败的原因
常见的单元测试框架有哪些
Doctest、unittest、pytest、nose等等
Java--》junit(testng)、C++--》 googleTest、c#--》nunit

2、Unittest核心组件

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

3、Unittest工作原理

Testcase:一个 testcase 就是一个测试用例。Setup(测试环境的准备)、run(测试执行)、teardown(测试环境的还原)。
Testsuite(集合或套件):多个测试用例的集合就是 suite,一个suite可以包含多个测试用例,也可以嵌套 suite。
TestLoader:用来加载 testcase到testsuite 中的。
TestTestRunner:用例执行测试用例(run 方法),测试结果会保存在 TestTestresult 中。
fixture:一个测试用例环境的搭建和销毁。

 Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

4、Unittest单元测试用例的组织

构建单元测试用例
场景:以字符串替换举例

 Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试 

5、构建测试套件(优化测试用例)

单元测试用例的增多,在各个测试代码中会有很多相似的操作,考虑setUp(测试环境的准备)、tearDown(测试环境的还原)

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试 

6、组织多个测试用例(深度优化测试用例)

测试用例的继续优化:所有的测试用例不需要都用单独的类进行存放,该方式比较耗时,通过test开头的函数来存放测试用例。

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试 

7、构建测试套件

多个测试用例的集合就是suite,一个suite可以包含多个测试用例,也可以嵌套suite。

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

 

8、测试套件优化

执行部分测试用例

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试 

执行某测试类下的全部测试用例,unittest模块中提供一个makesuite

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

9、多个测试类的控制

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试 

10、执行测试

首先将StringReplaceTestCase放在单独的一个py文件中StringReplace.py
将注释放在方法内,作为方法的说明。
执行部分测试用例,创建一个test_suite.py,用户控制措施用例的执行
运行全部测试用例。

11、测试用例的跳过

修改StringReplace文件,理解skip、skipif、skipunless

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

12、Unittest框架总结

unittest.TestCase:TestCase类,所有测试用例类继承的基本类。class Test(unittest.TestCase):
unittest.main():使用可以方便的将一个单元测试模块变为可直接运 行的测试脚本
unittest.TestSuite():unittest框架的TestSuite()类是用来创建 测试套件的。
unittest.TextTestRunner():unittest框架的TextTestRunner()类, 通过该类下面的run()方法来运行suite所组装的测试用例,入参为 suite测试套件。
unittest.skip():装饰器,当运行用例时,有些用例可能不想执行,可用装饰器 暂时屏蔽该条测试用例。常见的用法如想调试某一测试用例,可先屏蔽其他用例
@unittest.skip(reason): skip(reason)装饰器:无条件跳过装饰的测试,并说 明跳过测试的原因。 
@unittest.skipIf(reason): skipIf(condition,reason)装饰器:条件为真时, 跳过装饰的测试,并说明跳过测试的原因。
@unittest.skipUnless(reason): skipUnless(condition,reason)装饰器:条件 为假时,跳过装饰的测试,并说明跳过测试的原因

setUp()方法用于测试用例执行前的初始化工作。如测试用 例中需要访问浏览器,可以在setUp中实例化浏览器驱动。 
tearDown():tearDown()方法用于测试用例执行之后的善后工作、关 闭浏览器。
断言方法:在执行测试用例的过程中,最终用例是否执行通过,是通 过判断测试得到的实际结果和预期结果是否相等决定的。
assertEqual(a,b,[msg='测试失败时打印的信息']):断言a和b是否相等,相等则测试用例通 过。
assertNotEqual(a,b,[msg='测试失败时打印的信息']):断言a和b是否相等,不相等则测试 用例通过。
assertTrue(x,[msg='测试失败时打印的信息']):断言x是否True,是True则测试用例通过。
addTest(): 方法是将测试用例添加到测试套件中。

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

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

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

13、HTML报告介绍

HTMLTestRunner是Python的标准库unittest单元测试框架的一个扩 展,用于生成HTML测试报告
下载地址: http://tungwaiyip.info/software/HTMLTestRunner.html

 Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

14、HTML测试结果

HTMLTestRunner.py下载地址http://tungwaiyip.info/software/HTMLTestRunner.html
HTMLTestRunner.py的存放路径,是放在C:\Users\Administrator\AppData\Local\Programs\Python37\Lib
HTMLTestRunner.py是基于python2*开发的,要想能够在python3上使用,需要修改该文件。
修改汇总: 
第94行,将import StringIO修改成import io
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()
第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:
第766行,将uo = o.decode('latin-1')修改成uo = e
第772行,将ue = e.decode('latin-1')修改成ue = e
第631行,将print >> sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))

基于test_suite文件进行HTML报告生成,存放到D盘名为result.html

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

Selenium-Unittest单元测试框架,selenium,单元测试,测试工具,软件测试,接口测试,测试工程师,自动化测试文章来源地址https://www.toymoban.com/news/detail-765575.html

到了这里,关于Selenium-Unittest单元测试框架的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium Web自动化测试——基于unittest框架的PO设计模式

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 前面一直在讲接口自动化测试框架与案例分享,很少讲Selenium这个We

    2024年03月21日
    浏览(36)
  • selenium——unittest框架

    在进行selenium IDE脚本录制导出的脚本中,我们发现其中多了很多代码,这些代码正是unittest测试框架。unittest 是web界面的功能测试框架,白盒测试测试框架是Junit。unittest 单元测试提供了创建测试用例、测试套件以及批量执行的方案。unittest 在安装python 以后就直接自带了,调

    2024年02月03日
    浏览(26)
  • ​基于多种语言,使用Selenium实现自动化的常用单元测试框架

    Selenium是自动化网络应用程序的首选工具。Selenium支持基于Java、C#、PHP、Ruby、Perl、JavaScript和Python等多种编程语言的各种单元测试框架。这些框架用于在 Windows、MacOS 和 Linux 等不同平台的网络应用程序上执行测试脚本。任何成功的自动化流程都有赖于强大的测试框架,这些框架

    2024年01月21日
    浏览(41)
  • selenium系列--改进脚本为unittest框架--框架设计

    POM能让我们的测试代码变得可读性更好,高可维护性,高复用性, 可多人共同维护开发脚本,利于团队协作 如何设计 POM可以使代码看起来更整洁,那么我们先另外创建一个py文件。这里面主要放一些方法之类的东西,比如:定位、输入内容,点击等 from time import sleep from se

    2024年04月28日
    浏览(33)
  • 单元测试框架:unittest入门

    1、TestCase(测试用例): 一个testcase的实例就是一个测试用例 ;unittest 中执行测试的最小单元,通过验证 unittest 提供的 assert 方法来验证一组特定的操作和输入以后得到的响应;unittest 提供了一个名为 TestCase 的基础类,可以用来创建测试用例; 2、TestSuite(测试套件): 多

    2024年02月09日
    浏览(27)
  • 自动化测试——unittest框架(单元测试)

    目录 一、unittest框架解析 1.1unittest的5个重要概念 1.1测试用例的编写及代码 1.2断言 1.3用例的执行顺序 1.4测试用例综合管理框架 1.5HTML报告生成 参考博文 unittest 单元测试提供了创建测试用例,测试套件以及批量执行的方案, unittest 在安装pyhton 以后就直接自带了,直接import

    2024年01月17日
    浏览(41)
  • 单元测试框架之unittest详解

    1.unittest简介 unittest是python自带的单元测试框架,不仅仅适用于单元测试,还可用于web端、appium、接口自动化测试用例的开发与执行。   2.unittest四大核心组件 1)TestCase: 测试用例类,用来定义用例函数 2)TestSuite: 测试套件,用于收集测试用例 3)TestRunner:测试用例运行类,用

    2024年02月15日
    浏览(33)
  • 单元测试与unittest框架详解

    🍅 视频学习: 文末有免费的配套视频可观看 🍅  点击文末小卡片  ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨 1. 什么是单元测试? 单元测试是指,对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,这里的最小可测试单元通常

    2024年02月19日
    浏览(27)
  • Python中的单元测试框架:使用unittest进行有效测试

    在软件开发中,单元测试是一种测试方法,它用于检查单个软件组件(例如函数或方法)的正确性。Python 提供了一个内置的单元测试库,名为 unittest ,可以用来编写测试代码,然后运行测试,并报告测试结果。 本文将向你介绍如何使用 unittest 来编写和运行单元测试。通过阅

    2024年03月09日
    浏览(33)
  • Unittest+Selenium模块驱动自动化测试实战

     Unittest+Selenium自动化测试框架使用 模块驱动测试模型 将冗余的代码封装成类,且基于 PageObject的自动化设计模式 ,通过分层的方式将页面对象、操作、业务分开处理。 1、首先创建自动化测试框架的文件模块架构,创建common、base、testcase、reports、logs文件夹分别用于存放公共

    2024年02月19日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包