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

       
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读写封装是没有特别大的意义的。具体的细节思路暂时保留!如果哪位同事有不同或者更好的见解请直接指出和批评。

标 准

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

时间: 2024-09-17 12:33:25

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

去粗取精,云效平台打造独特测试用例管理工具

 测试用例是软件测试的核心,有了测试用例,无论谁来测试,参照测试用例实施,都能保障测试的质量.目前市面上常见的测试用例管理工具有很多,如TestManager,Quality Center,Bugfree,Wiki,还有Excel和word.但这些管理工具各有优点和不足.提供一站式研发效能提升的云效平台,在了解各大工具的优缺点后,融入自己的思想,强化优点,完善不足,打造出一个独特的测试用例管理工具.        1.用例系统按照分支开发模式来实践        主干用例库以及项目的分支用例,新

jira与什么工具集成进行测试用例管理和测试执行

问题描述 jira与什么工具集成进行测试用例管理和测试执行操作. 解决方案 解决方案二:ZephyrforJIRA-TestManagement

浅析软件测试用例管理

2.2 测试用例执行结果分析 测试用例执行结果可以从覆盖率.执行率.通过率等几个方面进行分析和考察.测试用例覆盖率是指测试用例覆盖的功能与测试需求功能的比值:测试用例执行率是指已执行的测试用例数与测试用例总数的比值:测试用例通过率是指成功执行的测试用例数与测试用例总数的比值. 测试用例的覆盖率需要达到100%,也就是说,测试用例必须覆盖全部的测试需求,否则测试用例的设计则是不全面的,无法保证测试质量,需要补充或者重新设计相应测试用例.测试用例执行率是衡量测试效率的因素,一般说来,在测试完成时测试

思科CEO罗卓克:将继续致力于将自动化、安全与云管理引入产品组合

思科周三向投资者表示,在全球范围"具有挑战性的商业环境"里思科不会改变其计划,将专注于自动化.安全与分析,并逐渐淡出思科的传统硬件路由器和控制器领域. 思科CEO罗卓克 思科首席执行官罗卓克表示,"我对今天的结果及我们在聚焦软件及订阅的业务过渡进展感到满意,我们将继续在全线产品组合上实施计划." 截至10月29日为止思科2017财年的第一季度业绩表现如下: 收入124亿美元,与去年同期的127亿美元比下降3%.思科称,如果将投资多元化的SP视频和CPE企业方面从去年

时间管理自我管理的演讲稿

                                                                           时间管理           时间管理是指通过事先规划并运用一定的技巧.方法与工具实现对时间的灵活以及有效运用,从而实现个人或组织的既定目标,EMBA.MBA等主流商业管理教育均将时间管理能力作为一项对企业管理者的基本要求涵括在内. 1. 如何理解时间管理?         时间是一种资源         时间是一种有限资源         时间是

楼宇市场管理+摊位管理中的编号命名规则

问题描述 楼宇市场管理+摊位管理中的编号命名规则 40C 我需要做一个场地管理的,但是想把场地的ID命名的规范一些 ,问一下有什么标准可以参考. 解决方案 上网上搜一下好像有我以前看到过的. 解决方案二: 问题是没有啊 就是摊位的编号规则 还有楼宇的房间编号规则

selenium 自动化 获取这个网页的标签及其内容

问题描述 selenium 自动化 获取这个网页的标签及其内容 browser.find_element_by_id("").text 是获取这个内容的,但是我想获取这个网站包括div li什么的 应该怎么做? 解决方案 selenium 获取网页所有链接---------------------- 解决方案二: 怎么保存html就行

进销存 库存-正在做进销存管理,库存管理模块中,货架信息除了增删改查之外还需要什么方法?

问题描述 正在做进销存管理,库存管理模块中,货架信息除了增删改查之外还需要什么方法? 正在做进销存管理,库存管理模块中,货架信息除了增删改查之外还需要什么方法? 解决方案 库存盘点,对库存进行人工审计之后与系统中的数量进行比对,可以发现是否存在不一致,或者发现库存中有货品损坏则,应该进行一个损益,进行金额的损益计算.同时将数据库中的库存数量进行更新.大概就这些吧,我自己之前也做过.如果还想做得更加详细的话,需要到超市进行实际的需求采集 解决方案二: 增删改查 这就已经包扩了所有,任何项目的模块也

selenium 自动化 插件安装弹出框怎么解决

问题描述 selenium 自动化 插件安装弹出框怎么解决 最近有个项目,页面上有重量需要输入,重量是通过前端开发在chrome上开发了一个插件,连接到称上,会将重要返回给页面上. UI自动化过程中,打开这个页面,就会弹出插件不是最新的提示,自动化执行就会报org.openqa.selenium.UnhandledAlertException: unexpected alert open错误. 目前我是把这个异常catch处,然后接着继续自动化内容. 不知道是否合理? 有这方面经验的,能帮忙解答