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


标 准

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


目录
相关文章
|
14天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
1月前
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
21 1
|
24天前
|
Web App开发 前端开发 Java
《手把手教你》系列技巧篇(九)-java+ selenium自动化测试-元素定位大法之By name(详细教程)
【4月更文挑战第1天】 这篇教程介绍了如何使用Selenium Webdriver通过name属性来定位网页元素,作为系列教程的一部分,之前讲解了id定位,后续还会有其他六种定位方法。文中以百度搜索为例,详细说明了定位搜索框(name="wd")并输入关键词“北京宏哥”的步骤,包括手动操作流程、编写自动化脚本以及代码实现。此外,还提供了查看和理解Selenium源码的方法,强调了`open implementation`选项用于查看方法的具体实现。整个过程旨在帮助读者学习Selenium的元素定位,并实践自动化测试。
42 0
|
20天前
|
前端开发 Java 测试技术
《手把手教你》系列技巧篇(十二)-java+ selenium自动化测试-元素定位大法之By link text(详细教程)
【4月更文挑战第4天】本文介绍了link text在自动化测试中的应用。Link text是指网页中链接的文字描述,点击可跳转至其他页面。文章列举了8种常用的定位方法,其中着重讲解了link text定位,并通过实例展示了如何使用Java代码实现点击百度首页的“奥运奖牌榜 最新排名”链接,进入相应页面。如果link text不准确,则无法定位到元素,这说明linkText是精准匹配,而非模糊匹配。文章还提到了partial link text作为link text的模糊匹配版本,将在后续内容中介绍。
37 4
|
18天前
|
XML 前端开发 Java
《手把手教你》系列技巧篇(十四)-java+ selenium自动化测试-元素定位大法之By xpath上卷(详细教程)
【4月更文挑战第6天】按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath。xpath 的定位方法, 非常强大。使用这种方法几乎可以定位到页面上的任意元素。xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素。XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点。基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的节点。
44 0
|
1天前
|
数据采集 前端开发 测试技术
《手把手教你》系列技巧篇(三十一)-java+ selenium自动化测试- Actions的相关操作-番外篇(详解教程)
【4月更文挑战第23天】本文介绍了网页中的滑动验证码的实现原理和自动化测试方法。作者首先提到了网站的反爬虫机制,并表示在本地创建一个没有该机制的网页,然后使用谷歌浏览器进行验证。接着,文章详细讲解了如何使用WebElement的click()方法以及Action类提供的API来模拟鼠标的各种操作,如右击、双击、悬停和拖动。
6 2
|
1天前
|
Java 测试技术 持续交付
深入理解与应用Selenium WebDriver进行自动化测试
【4月更文挑战第25天】 在现代软件开发过程中,自动化测试已成为确保产品质量和加速市场发布的关键步骤。Selenium WebDriver作为业界广泛采用的自动化测试工具之一,提供了一种灵活且高效的方式来模拟用户与Web应用程序交互。本文将探讨Selenium WebDriver的核心概念、架构以及实际应用中的技巧和最佳实践。通过深入分析其工作原理及常见问题解决方案,旨在帮助测试工程师提升测试效率,确保测试结果的准确性和可靠性。
|
2天前
|
Web App开发 数据采集 Java
《手把手教你》系列技巧篇(三十)-java+ selenium自动化测试- Actions的相关操作下篇(详解教程)
【4月更文挑战第22天】本文介绍了在测试过程中可能会用到的两个功能:Actions类中的拖拽操作和划取字段操作。拖拽操作包括基本讲解、项目实战、代码设计和参考代码,涉及到鼠标按住元素并将其拖动到另一个元素上或指定位置。划取字段操作则介绍了如何在一段文字中随机选取一部分,包括项目实战、代码设计和参考代码。此外,文章还提到了滑动验证的实现,并提供了相关的代码示例。
31 2
|
2天前
|
测试技术 API 网络架构
Python的api自动化测试 编写测试用例
【4月更文挑战第18天】使用Python进行API自动化测试,可以结合`requests`库发送HTTP请求和`unittest`(或`pytest`)编写测试用例。以下示例: 1. 安装必要库:`pip install requests unittest` 2. 创建`test_api.py`,导入库,定义基础URL。 3. 创建继承自`unittest.TestCase`的测试类,包含`setUp`和`tearDown`方法。 4. 编写测试用例,如`test_get_users`,检查响应状态码和内容。 5. 运行测试:`python -m unittest test_api.py`
12 2
|
7天前
|
前端开发 JavaScript Java
《手把手教你》系列技巧篇(二十五)-java+ selenium自动化测试-FluentWait(详细教程)
【4月更文挑战第17天】其实今天介绍也讲解的也是一种等待的方法,有些童鞋或者小伙伴们会问宏哥,这也是一种等待方法,为什么不在上一篇文章中竹筒倒豆子一股脑的全部说完,反而又在这里单独写了一篇。那是因为这个比较重要,所以宏哥专门为她量身定制了一篇。FluentWait是Selenium中功能强大的一种等待方式,翻译成中文是流畅等待的意思。在介绍FluentWait之前,我们来讨论下为什么需要设置等待,我们前面介绍了隐式等待和显式等待。
31 3

热门文章

最新文章