关于selenium自动化测试数据的管理---测试用例管理---jxl,POI

简介:         selenium 多数被应用于功能测试(冒烟测试)、流程测试、回归测试,这里要说的就是在执行这些测试的时候,测试用例的管理问题。         常见的黑盒测试方法分为:边界值分析、等价类划分、因果图、错误推测。。。这里不都一一举例,作者有一篇文章里画了一张图,是专门详解常用的测试方法的。总之,为了完成测试效果和目的,会有很多很多的测试用例产生,面对我们的业务进行测试
        selenium 多数被应用于功能测试(冒烟测试)、流程测试、回归测试,这里要说的就是在执行这些测试的时候,测试用例的管理问题。

        常见的黑盒测试方法分为:边界值分析、等价类划分、因果图、错误推测。。。这里不都一一举例,作者有一篇文章里画了一张图,是专门详解常用的测试方法的。总之,为了完成测试效果和目的,会有很多很多的测试用例产生,面对我们的业务进行测试的时候,为了不断的增加测试用例的覆盖率,这个时候,对于测试用例的管理就成为一个比较重要的问题。如何让自动化测试平台智能读取测试用例的相关数据,然后进行相应的自动化测试,并且测试用例的数据来源可以方便的修改和增加,这个时候如果没有一个完整的自动化测试管理系统平台,这个时候作者的这个小方法就可以试用。因为要考虑到一些手动测人员不懂自动化代码,所以,这时候将测试用例与自动化测试代码完全分离的形式进行,此时采用了Excel文件来保存测试用例的数据。目前Excel文件包含了两种文件格式:一种是.xls,另一种是.xlsx。所以这里也封装的两种不同的方法去解决这一问题。

       针对于97版本之前的.xls格式的Excel文件,这里提供了2种常用的操作方法:1.使用JXL(JavaExcelAPI) 2.使用POI的HSSF之所以提供了2种方式,是因为就作者目前整理的代码来看,各有一些优势,然后代码不足另当别论。JXL只能针对97版本之前的Excel文件进行操作,在其API中提供findcell的方法极为方便查找和定位。POI则是一个对Office操作的完整封装,这里说的HSSF就是POI的一种实现,它也是操作.xls文件的一套成熟API。HSSF提供两种类型的操作,一种是eventmodel,另一种是usermodel,eventmodel是采用sax方式解析,属于Streaming类型的加载,在CPU和memory上占用都比较低,算是比较节省资源的,但是其只支持读操作。usermodel则是采用dom方式加载文件,也就是说它是把整个文件都加载到内存(in memory tree)中,然后进行操作,这样做的优势是效率比较高,但是也相对耗费资源,这种方法对读写操作都支持。其特色是:create sheet/row/cell操作、styling cells操作、delete sheets/cells/rows、shift rows、cloning sheets、formula evaluation、cell comments、pictures操作。


      对于.xlsx文件的操作,POI也给予了XSSF SXSSF两种方式的实现,XSSF的eventmodel也是和HSSF的eventmodel相同的,都是采用了sax方式读取,并且也是只能进行读操作,不能进行其它操作,它对CPU&Memory的占用也是相对比较低的,XSSF的usermodel也是in memory tree的方式,同样支持读写操作和features。在XSSF中,POI又提供了一种扩展,即SXSSF:它是采用buffer streaming的方式,但是这种方法不提供读的操作,其只能进行create sheet/row/cell操作、styling cells操作、pictures操作。它对CPU和memory的开销还是比较低的。


          说了这么上述的这么多方法,现在转回来,为什么要用Excel?因为Excel比较方便,对于不懂自动化测试代码的人员,可以直接在Excel中编写测试用例,修改测试数据,然后由程序去自动的执行测试,对于测试的维护成本还是相对比较低的,还有一个选择Excel的原因就是作者在生成测试用例数据的时候,常会依赖于一些测试工具,这些测试工具对于生成的数据导出时,多数支持Excel格式,这样更方便于测试,节省时间。Junit和testng都提供了注解的方式进行参数测试自动化,所以这也是比较方便的一点。


            这里就不共享代码了,如果有朋友想要的话,可以直接加我QQ,还是保留一点,其实文章写的只是简单的一点点思路,具体的逻辑和想法,没有完全的写出来,只有把这些想法灵活的运用起来才是最关键的,不结合实际情况,这些简单的Excel读写封装是没有特别大的意义的。具体的细节思路暂时保留!如果哪位同事有不同或者更好的见解请直接指出和批评。


标 准

选择朋友是结交之前要办的第一件事.选择朋友的标准是什么?当然是与志向远大的人交友,与兴趣相投的人交友,与见识广博的人交友,与正直的人交友,与诚信的人交友.近朱者赤,近墨者黑.交上益友,一生幸福;交上损友,一生祸害.


目录
相关文章
|
1天前
|
前端开发 测试技术 C++
Python自动化测试面试:unittest、pytest与Selenium详解
【4月更文挑战第19天】本文聚焦Python自动化测试面试,重点讨论unittest、pytest和Selenium三大框架。unittest涉及断言、TestSuite和覆盖率报告;易错点包括测试代码冗余和异常处理。pytest涵盖fixtures、参数化测试和插件系统,要注意避免过度依赖unittest特性。Selenium的核心是WebDriver操作、等待策略和测试报告生成,强调智能等待和元素定位策略。掌握这些关键点将有助于提升面试表现。
7 0
|
4天前
|
Web App开发 JavaScript 前端开发
深入理解自动化测试框架Selenium的设计与实现
【4月更文挑战第20天】 在软件测试领域,自动化测试已成为提升测试效率和确保产品质量的关键手段。Selenium作为一款广泛使用的开源自动化测试框架,其设计精巧且功能强大,为Web应用提供了一种灵活、高效的测试解决方案。本文将深入探讨Selenium的核心架构与实现细节,解析其如何通过模拟用户操作来执行测试用例,以及它如何适应不断变化的Web技术标准。通过对Selenium内部机制的剖析,旨在帮助测试工程师更好地掌握该工具,并在测试实践中发挥其最大效能。
|
4天前
|
前端开发 JavaScript Java
《手把手教你》系列技巧篇(二十五)-java+ selenium自动化测试-FluentWait(详细教程)
【4月更文挑战第17天】其实今天介绍也讲解的也是一种等待的方法,有些童鞋或者小伙伴们会问宏哥,这也是一种等待方法,为什么不在上一篇文章中竹筒倒豆子一股脑的全部说完,反而又在这里单独写了一篇。那是因为这个比较重要,所以宏哥专门为她量身定制了一篇。FluentWait是Selenium中功能强大的一种等待方式,翻译成中文是流畅等待的意思。在介绍FluentWait之前,我们来讨论下为什么需要设置等待,我们前面介绍了隐式等待和显式等待。
27 3
|
7天前
|
Java 测试技术 定位技术
《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
【4月更文挑战第15天】本文介绍了如何使用Selenium进行浏览器窗口切换以操作不同页面元素。首先,获取浏览器窗口句柄有两种方法:获取所有窗口句柄的集合和获取当前窗口句柄。然后,通过`switchTo().window()`方法切换到目标窗口句柄。在项目实战部分,给出了一个示例,展示了在百度首页、新闻页面和地图页面之间切换并输入文字的操作。最后,文章还探讨了在某些情况下可能出现的问题,并提供了一个简单的本地HTML页面示例来演示窗口切换的正确操作。
28 0
|
7天前
|
敏捷开发 监控 前端开发
深入理解自动化测试框架Selenium的架构与实践
【4月更文挑战第16天】 在现代软件开发过程中,自动化测试已成为确保产品质量和加快迭代速度的关键手段。Selenium作为一种广泛使用的自动化测试工具,其开源、跨平台的特性使得它成为业界的首选之一。本文旨在剖析Selenium的核心架构,并结合实际案例探讨其在复杂Web应用测试中的高效实践方法。通过详细解读Selenium组件间的交互机制以及如何优化测试脚本,我们希望为读者提供深入理解Selenium并有效运用于日常测试工作的参考。
14 1
|
8天前
|
自然语言处理 测试技术 API
深入理解自动化测试框架Selenium的设计理念与实践
【4月更文挑战第15天】 在现代软件开发过程中,自动化测试已成为确保产品质量和加速迭代的关键手段。Selenium作为一种广泛使用的自动化测试框架,提供了对多种浏览器和平台的支持,极大地促进了Web应用的功能测试。本文旨在剖析Selenium的核心设计理念,探讨其在实际项目中的应用,并指出常见的误区及最佳实践,以期帮助测试工程师更高效地利用Selenium进行测试工作。
|
9天前
|
监控 测试技术 API
深入理解自动化测试框架Selenium的设计与实现
【4月更文挑战第14天】在软件开发过程中,自动化测试是确保代码质量、减少人工重复劳动的关键步骤。Selenium作为一款广泛使用的自动化测试工具,提供了对多种浏览器和操作系统的支持。本文将探讨Selenium的核心组件及其架构设计,分析其如何通过WebDriver与浏览器交互,以及它如何支持多种编程语言进行脚本编写。同时,我们还将讨论Selenium Grid的作用以及它如何实现并行测试,以缩短测试周期并提高测试效率。
174 59
|
10天前
|
前端开发 JavaScript Java
《手把手教你》系列技巧篇(十九)-java+ selenium自动化测试-元素定位大法之By css下卷(详细教程)
【4月更文挑战第11天】按计划今天宏哥继续讲解css的定位元素的方法。但是今天最后一种宏哥介绍给大家,了解就可以了,因为实际中很少用。
35 2
|
10天前
|
Web App开发 测试技术 网络安全
|
14天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
21 0