
100天软件测试升级打怪路
文章平均质量分 90
从实际工作角度出发,归纳总结必备知识,再举例扩展学习软件测试技术和艺术,抛砖引玉启发测试思维。
会从最基础干货开始初步深入,标注面试重点内容。
君子善假于物也,帮助你开卷通过面试~
老板来片烤面包
一个五百强企业,软件测试人er,分享技术干货、工作经验、测试领域专业知识。帮助和曾经的我一样迷茫的人少走弯路~~
展开
-
目录导航《100天软件测试升级打怪路》
[《100天软件测试升级路》专栏](https://blog.youkuaiyun.com/gregcsdn/category_12321586.html?spm=1001.2014.3001.5482),是由优快云内容合伙人|软件测试领域优秀创作者的硬核博主 [老板来片烤面包](https://blog.youkuaiyun.com/gregcsdn) 倾力打造,分软件基础及艺术入门、软件测试工具篇、实战篇、web自动化篇等。原创 2023-06-30 10:37:14 · 565 阅读 · 0 评论 -
Day 1 认识软件测试——(软件测试定义、目的、原则)
软件测试就是证明软件不存在错误的过程。“软件测试的目的在于证明软件能够正确完成其预定的功能。“软件测试就是建立一个‘软件做了其应该做的’信心的过程。这些定义都是本末倒置的。每当测试一个程序时,总是想为程序增加一些价值。通过测试来增加程序的价值,是指测试提高了程序的可靠性或质量。提高了程序的可靠性,是指找出并最终修改了程序的错误。因此不要只是为了证明程序能够正确运行而去测试程序;相反,应该一开始就假设程序中隐藏着错误(这种假设对于几乎所有的程序都成立),然后测试程序,发现尽可能多的错误。原创 2023-05-16 15:07:46 · 1453 阅读 · 0 评论 -
Day 2 学习软件测试的必备知识——(开发模型、测试模型、软件测试分类、阶段划分)
1、常见软件开发过程模型瀑布模型快速原型模型增量模型螺旋模型迭代模型敏捷开发模型2、常见软件测试过程模型V模型: 强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应;忽略了测试的对象不应该仅仅包括程序,没有明确指出对需求、设计的测试W模型: 补充了V模型中忽略的内容,强调了测试计划等工作的先行和对系统需求和系统设计的测试;与V模型相同,没有对软件测试的流程进行说明H模型: 强调测试是独立的,只要测试准备完成,就可以执行测试3、软件测试分类这些面试都可能会问到哦!原创 2023-05-17 10:34:36 · 475 阅读 · 0 评论 -
Day 3 软件测试核心知识——(基本流程和测试用例及测试用例设计方法)
测试用例又叫做test case,是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。边界值分析法就是对输入或输出边界值进行测试的,也是一种黑盒测试.边界值分析法通常作为等价类划分法的补充,其测试用例来自等价类的边界;长期的经验得知,大量的错误是发现在输入或输出范围的边界上,而不是发生再输入输出范围的内部,因此针对各种边界情况设计测试用例,可以查出更多错误.是等价类划分法的补充。原创 2023-05-18 14:20:18 · 672 阅读 · 2 评论 -
Day 4 软件测试核心知识——(什么是Bug、禅道、Jira)
软件缺陷, 通常又被叫做bug或者defect, 即为软件或程序中存在的某种破坏正常运行能力的问题、错误、或者隐藏的功能缺陷。其存在会导致软件产品在某种程度上不能满足用户的需求.软件缺陷是指存在于软件(程序、数据、文档中的)那些不符合用户需求的问题.禅道由国内公司开发,国产开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整覆盖了研发项目管理的核心流程。原创 2023-05-19 10:15:57 · 637 阅读 · 0 评论 -
Day5 模块(单元)测试——单元测试、自顶向上测试、自下向上测试
模块测试是对系统赋有明显功能的最小粒度的测试,是对一个模块进行测试,根据模块的功能说明,检验模块是否有错误。这种测试在各模块编程后进行。模块测试一般由编程人员自己进行。模块测试很多人员认为是单元测试,其实还是有区别的,单元测试主要为,代码块,单元接口,类,方法,函数等,而模块测试更强调的是一个或者一块功能是完整的,可以独立的功能区域进行测试,这可能有几个单元代码组成。模块测试的目的是保证每个模块作为一个单元能正确运行,所以模块测试通常又被称为单元测试。在。原创 2023-05-23 16:21:41 · 466 阅读 · 0 评论 -
Day6 高级别测试——功能测试、系统测试、能力测试、容量测试、强度测试、易用性测试、安全性测试、性能测试、存储测试
一个软件产品开发周期的模型过程的流程可归结为以下7 个步骤:将软件最终用户的要求转换为一系列书面的需求。这些需求就是该软件产品要实现的目标。通过评估可行性与成本、消除相抵触的用户需求、建立优先级和平衡关系,将用户需求转换为具体的目标。将上述目标转换为一个准确的产品规格说明,将产品视为一个黑盒,仅考虑其接口以及与最终用户的交互。该规格说明被称为“外部规格说明”。如果该产品是一个系统,如操作系统、飞行控制系统、数据库管理系统或雇员人事系统等,而不仅是一个程序(编译器、工资程序、字处理程序等),那么下一步骤就是系原创 2023-05-26 15:08:03 · 1076 阅读 · 4 评论 -
Day 7 调试(错误分析)详解–什么是调试?、暴力法调试、归纳法调试、演绎法调试、回溯法调试、测试法调试、调试的原则、错误分析总结
简单地讲,调试是执行一次成功的测试之后所要进行的工作。记住,所谓成功的测试,是指它可以证明程序没有实现预期的功能。调试是一个包含两个步骤的过程,从执行了一个成功的测试用例、发现了一个问题之后开始。第一步,确定程序中可疑错误的准确性质和位置;第二步,修改错误。虽然调试对于程序测试来说非常必要、不可或缺,但它似乎是软件开发过程中最不受程序员欢迎的部分之一。其主要原因可能包括以下几点:• 个人自尊会从中阻挠。不管我们是否喜欢,调试都说明了程序员并不完美,要么在软件的设计,要么在程序编码时会犯错。原创 2023-05-30 10:27:24 · 645 阅读 · 1 评论 -
Day8 接口测试详解–接口概述、什么是接口测试、常用的接口测试工具、RESTFUL架构
1.1 什么是接口呢?接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口;或者一种是软件接口,一种是硬件接口.我们常说的接口是应用程序编程接口,也就是Application Programming Interface,简称API.1.2 常见接口webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等;原创 2023-05-30 10:04:57 · 568 阅读 · 5 评论 -
Day9 敏捷测试——敏捷开发的特征、什么是敏捷测试?、极限编程、极限测试
敏捷开发的最大特点是高度迭代,有周期性,并且能够及时、持续地响应客户的频繁反馈。敏捷测试即是不断修正质量指标,正确建立测试策略,确认客户的有效需求能得以圆满实现和确保整个生产的过程安全的、及时的发布最终产品。首先敏捷测试(Agile testing)是测试的一种,原有测试定义中通过执行被测系统发现问题,通过测试这种活动能够提供对被测系统提供度量等概念还是适用的。敏捷测试是遵循敏捷宣言的一种测试实践:1、强调从客户的角度,即从使用系统的用户角度,来测试系统。原创 2023-05-31 14:48:35 · 723 阅读 · 0 评论 -
Day10 互联网应用测试——电商架构、电子商务框架、测试的挑战、测试的策略、表示层测试、业务层测试、数据层测试
如果是走电商测试方向需要对本篇着重了解个人学习推荐主要学习web服务的基本结构及后面的内容。原创 2023-06-06 09:26:51 · 349 阅读 · 1 评论 -
Day11 移动应用测试——什么是移动端测试?、移动端测试分类、如何开展移动(app)测试?
移动端测试是指对移动应用进行的测试, 即实体的特性满足需求的程度对于手机项目(应用软件),主要是进行系统测试。功能模块测试;交叉事件测试;性能测试;安全测试;容量测试;兼容性测试;接口测试;易用性/用户体验测试;硬件环境测试安装/卸载测试;升级/更新测试;如果工作中涉及到移动应用测试,本篇尤为重要需要仔细阅读,总结部分11个测试方向最好。原创 2023-06-06 10:06:54 · 623 阅读 · 0 评论 -
Day12 性能测试详解——什么是性能测试?、性能测试分类及常用指标、性能测试流程、总结
了解为什么学习性能测试掌握什么是性能测试概念:性能测试是模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行的测试。说明:1). 峰值:客户指定指标数值或场景需求数值,如:CPU使用率80%以内、登录3秒、内存空间40%等等2). 负载:用户(一个或多个)向服务器发送请求,负载测试我们1.2节会讲解1). 性能测试需求覆盖情况,性能测试过程中出现的问题,如何去分析、调优、解决的;2). 测试人员、进度控制与实际执行偏差和性能测试过程中遇到各类风险是如何控制的;原创 2023-06-06 14:26:59 · 407 阅读 · 2 评论 -
Day13 接口性能压测–接口介绍、接口测试测什么?、Fiddler抓包工具简单使用、总结
接口测试(复习一下~)接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。简单理解接口测试就是验证入参和对应出参信息是否满足或符合要求。接口测试主要检查接口返回的接口数据是否正确、是否和接口文档中定义的一致。接口测试步骤获取接口地址(根据接口文档/根据抓包工具抓取)分析接口请求数据(入参、处理、出参)构造接口数据编写测试用例。原创 2023-06-06 15:14:35 · 437 阅读 · 0 评论 -
Day14 工具篇–C站最全fiddler讲解(Fiddler基础、安装、界面讲解、Fiddler捕获请求、Fiddler实现接口测试)
Fiddler是强大且好用的Web调试工具之一,它能记录客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据。Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了。Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求。原创 2023-06-11 19:20:14 · 332 阅读 · 2 评论 -
Day15 工具篇——C站最全postman讲解、简介、请求、响应、运行Collections、Postman(深入学习+GitHubAPI练习)、附录–HTTP 状态码详解
*创建 + 测试:**创建和发送任何的HTTP请求,请求可以保存到历史中再次执行**Organize:**使用为更有效的测试及集成工作流管理和组织APIs**document:**依据你创建的自动生成API文档,并将其发布成规范的格式**collarorate:**通过同步连接你的team和你的api,以及权限控制,API库在开始这个教程之前,先聊一下为什么接口测试在现软件行业如此重要?为什么我们要学习 Postman?原创 2023-06-12 23:38:46 · 226 阅读 · 2 评论 -
Day16 工具篇——C站最全jmeter讲解(1)-Jmeter简介、Jmeter工具安装、Jmeter 基本使用流程、Jmeter 八大元件及执行顺序
JMeter最初是由Apache软件基金会的Stefano Mazzocchi编写和开发的, 所以Jmeter也称为“Apache JMeter”,它是一个开源的,100%基于Java的应用程序,带有图形界面。Apache JMeter 是 100%纯 java 桌面应用程序,被设计用来测试客户端/服务器结 构的软件(例如 web 应用程序)。它可以用来测试包括基于静态和动态资源程序 的性能,例如静态文件,Java Servlets,Java 对象,数据库,FTP 服务器等等。原创 2023-06-12 23:42:35 · 124 阅读 · 0 评论 -
Day17 工具篇——C站最全jmeter讲解(2)–Jmeter实现参数化、Jmeter 从数据库中获取数据、Jmeter 关联、Jmeter断言、Jmeter 集合点、Jmeter函数
当使用JMeter进行测试时,测试数据的准备是一项重要的工作。若要求每次迭代的数据不一样时,则需进行参数化,然后从参数化的文件中来读取测试数据.参数化就是动态的获取或设置数据.参数化:是自动化测试脚本的一种常用技巧,可将脚本中的某些输入使用参数来代替,在脚本运行时指定参数的取值范围和规则。例如登录时利用GET/POST请求方式传递参数的场景.脚本在运行时,根据需要选取不同的参数值作为输入,该方式称为数据驱动测试(Data Driven Test),而参数的取值范围被称为数据池。原创 2023-06-13 21:50:32 · 202 阅读 · 0 评论 -
Day18 工具篇——C站最全jmeter讲解(3)——meter分布式、 Jmeter 逻辑控制器、Jmeter 图形监视器扩展插件下载及使用
1. 分布式概念2. 分布式原理3. 执行机配置文件设置4. 控制机配置文件设置5. 控制机线程数设置概念:Jmeter逻辑控制器是可以控制采样器(Sampler)的执行顺序,它由多个逻辑控制语句封装成不同功能的组件组成1. 作用2. 作用域3. 条件格式1. 作用2. 使用ForEach读取用户定义的变量时,变量格式3. ForEach参数设置1. 作用2. 使用方法1. 作用1. 作用1. 作用1. 作用2. 随机顺序控制器与随机控制器的区别1. 作用2. 取值为空和LAST区别。原创 2023-06-16 08:30:00 · 129 阅读 · 0 评论 -
Day19 工具篇——C站最全jmeter讲解(4)–学会看懂API文档、接口功能脚本设计、接口用例设计、测试用例中测试数据-参数化
学会看项目API文档学会根据API文档整理出接口清单学会对API文档中有不清楚的业务该如何在API接口清单内体现会针对API文档设计接口用例结合前几期Jmeter内容写出jmeter测试脚本接口用例设计原则1. 覆盖所有的必选参数2. 组合可选参数3. 参数边界值4. 如果参数的取值范围是枚举变量,需要覆盖所有枚举值5. 空数据6. 包含特殊的字符7. 越界的数据。原创 2023-06-19 21:55:41 · 604 阅读 · 0 评论 -
Day20 工具篇——C站最全jmeter讲解(5)——项目接口自动化脚本设计、性能测试脚本设计、生成HTML报告、性能知识点-科普、 Jmeter Test Fragment(测试片段)、非测试元件
1. 使用数据库连接池2. 使用setUp Thread Group线程组3. 使用tearDown Thread Group线程组4. 使用线程组5. 使用函数(setProperty、Property、counter)6. 使用关联7. 添加断言8. 使用循环9. 使用sampler中(HTTP请求、BeanShell Sampler、JDBC Request、Debug Sampler)请求10. 去除单接口察看结果树11. 添加聚合报告12. 将测试计划中独立运行每线程组勾选。原创 2023-06-19 22:04:27 · 148 阅读 · 0 评论 -
Day21 实战篇——Jmeter接口测试之案例实战——添加线程组、添加HTTP请求、获取所有学生接口
Jmeter是apacheg公司基于Java开发的一款开源的压力测试工具,安装Jmeter之前先安装Jdk,这里默认已经阅读完前面的基础文章。原创 2023-06-19 22:09:00 · 459 阅读 · 0 评论 -
Day22 实战篇 ——Jmeter性能测试实战——JMeter执行原理、Jmeter性能测试实战、下载使用PerfMon插件、 Grafana可视化展示
*2.Ramp-Up Period(in seconds):**建立所有线程的周期,就是告诉jmeter要在多久没启动所有线程,保证在最后一个线程启动时,第一个线程还在运行中,已达到压测的目的。具体如: 如设置的线程数为50,Ramp-up的时间为10,那么也就是说开启执行后,每秒会启动5个线程,如果Ramp-Up设置为 0,那么开始执行后,50个线程会⽴刻启动。**5.调度器->启动延迟:**意味着在多久后模拟用户并发开始,也就是脚本启动延迟的时间,点击启动后,还是默认等到延迟时间到达后才启动。原创 2023-06-19 22:11:36 · 535 阅读 · 0 评论 -
Day23 实战篇 ——Jmeter压力测试实战
项目中使用Jmeter进行大并发压测时,单机受限内存、CPU、网络IO,会出现服务器压力还没有上去,但压测服务器由于模拟的压力太大死机的情况。JMeter的集群模式可以让我们将多台机器联合起来一起产生负载,从而弥补单台机器负载生成能力不足的问题。原创 2023-06-19 22:12:09 · 411 阅读 · 0 评论 -
Day25 实战篇 ——Jmeter实现Java测试实战
1、性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能测试,但是需要自己开发、打包好要测试的代码,就能在Java请求中对该java方法进行性能测试2、本文举的例子是Java实现通过传入两个参数,将值写入到文件中Java_Sample完整项目下载方法见文章末尾介绍。原创 2023-06-20 22:49:26 · 455 阅读 · 0 评论 -
Day24 实战篇 ——Jmeter通过JDBC测试实战
JMS:Java Message Service,即Java消息服务应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行一步通信。这时,需要为新的构建任务指定一个名称。5、添加一个查看结果数,然后运行JMeter,查看结果请求成功后,返回到对应的ActiveMQ控制台,就可以看到我们发送的消息已经进入了队列。1、找到ActiveMQ官网,下载对应操作系统的ZIP包,解压后进入bin目录,找到activemq.bat,运行即可。原创 2023-06-20 22:50:18 · 534 阅读 · 0 评论 -
Day26 实战篇 ——Jmeter实现web自动化测试实战
jmeter是做服务端性能测试的工具,但jmeter还可以进行Web端自动化测试。参考了网上一些文章,本文就尝试体验下如何使用。基于jmeter的扩展插件WebDriver并且结合js编写测试用例,可以实现WEB端自动化测试。jmeter是可以提供继承Samlper采样器开发扩展的采样器的,WebDriver插件开发原理也是基于这个特性来开发的。不过使用jmeter做WEB端自动化测试是能做但是不适合。所以如果有开发能力的话,还是写自动化脚本实现吧。原创 2023-06-30 09:28:45 · 237 阅读 · 0 评论 -
Day27 Web自动化详解(1)——什么是Web自动化测试?、为什么要学习Web自动化测试?、Selenium IDE安装与运行
1. 了解什么是自动化2. 理解什么是自动化测试3. 为什么要使用自动化测试概念:由机器设备代替人为自动完成指定目标的过程概念:让程序代替人为去验证程序功能的过程概念:让程序代替人为自动验证Web项目功能的过程概念: Selenium是一个用于Web应用程序测试的工具;中文的意思(硒)selenium是ThoughtWorks公司的一款强大的开源web界面自动化功能测试工具套件,用来实现整个测试过程的管理,包括读入测试套件、执行测试和记录测试结果。原创 2023-06-30 09:29:25 · 224 阅读 · 0 评论 -
Day28 Web自动化详解(2)——WebDriver概述
1. Webdriver (Selenium2)是一种用于Web应用程序的自动测试工具;2. 它提供了一套友好的API;3. Webdriver完全就是一套类库,不依赖于任何测试框架,除了必要的浏览器驱动;说明:API:应用编程接口说明(WebDriver类库内封装非常多的方法,要使用这些方法,就需要友好的调用命名规则)各个驱动下载地址: http://www.seleniumhq.org/download/1. 浏览器的版本和驱动版本要一致!原创 2023-06-30 09:32:12 · 107 阅读 · 0 评论 -
Day29 Web自动化详解(3)——WebDriver(Selenium)元素定位
1. 导包2. url中\\转义3. id定位方法3. 发送内容方法4. 暂停方法5. 关闭浏览器。原创 2023-06-30 09:33:40 · 139 阅读 · 0 评论 -
Day31 Web自动化详解(5)——WebDriver(Selenium)——元素操作方法、及控制浏览器
最大化浏览器# 刷新# 后退# 前进# 设置浏览器大小# 设置浏览器位置# 关闭浏览器单个窗口# 关闭浏览器所有窗口....# 获取用户名文本框大小# 获取a标签内容print('a标签text:',text)# 获取title# 获取当前页面url# 获取a标签href属性值print('href属性值为:',href)# 判断span是否显示print('span标签是否显示:',display)# 判断取消按钮是否可用。原创 2023-06-30 09:35:38 · 137 阅读 · 0 评论 -
Day30 Web自动化详解(4)——WebDriver(Selenium)——XPath、CSS定位
1. XPath即为XML Path 的简称,它是一种用来确定XML/HTML文档中某部分位置的语言。2. HTML可以看做是XML的一种实现,所以Selenium用户可以使用这种强大的语言在Web应用中定位元素。Xpath用途:基于HTML文档结构使用XPath进行元素定位提示:Xpath为强大的语言,那是因为它有非常灵活定位策略;1. 如何通过Friebug快速生成绝对路径2. 如果通过Friebug快速生成相对路径3. Xpath策略有那些。原创 2023-06-30 09:37:12 · 163 阅读 · 0 评论 -
Day32 Web自动化详解(6)——WebDriver(Selenium)——WebDriver鼠标、键盘操作
1. 以上鼠标操作方法作为了解知识;2. 建议掌握悬停方法1. ActionChains作用和位置2. 鼠标悬停方法3. Keys类 位置4. 键盘操作调用方法。原创 2023-11-16 14:11:19 · 129 阅读 · 0 评论 -
Day33 Web自动化详解(7)——WebDriver(Selenium)——设置元素等待
概念:WebDriver定位页面元素时如果未找到,会在指定时间内一直等待的过程;1. 为什么要设置元素等待2. 显式等待与隐式等待区别3. 掌握隐式等待。原创 2023-11-16 14:12:34 · 106 阅读 · 0 评论 -
Day34 Web自动化详解(8)——WebDriver(Selenium)——下拉选择框、警告框、滚动条操作
说明:下拉框就是HTML中元素;#导包...# 1. 根据索引实现# 2. 根据文本值实现select.select_by_visible_text("A上海")select.select_by_visible_text("A重庆")select.select_by_visible_text("A广州")# 3. 根据value属性实现......# 定位alerta按钮# 获取警告框# 打印警告框文本# 接受警告框# 取消警告框...原创 2023-11-16 14:13:56 · 128 阅读 · 0 评论 -
Day35 Web自动化详解(9)——WebDriver(Selenium)——frame表单切换、多窗口切换
1. HTML中常用的表单框架2. 切换表单方法3. 为什么要恢复默认页面?4. 恢复默认页面方法1. 什么是句柄?2. 获取当前窗口句柄方法3. 获取所有窗口句柄方法4. 切换指定句柄窗口方法。原创 2023-11-16 14:15:26 · 116 阅读 · 0 评论 -
Day36 Web自动化详解(10)——WebDriver(Selenium)窗口截图、验证码处理
1. 截屏方法2. 验证码常用的处理方式3. Cookie的作用。原创 2023-11-16 14:16:26 · 192 阅读 · 0 评论 -
Day37 Web自动化详解(11)——高级篇——UnitTest框架
说明:1. 框架英文单词FrameWork;2. 为解决一类事情的功能集合;概念:UnitTest框架是专门用来进行执行代码测试的框架;driver.find_element_by_link_text("登录").click()driver.find_element_by_css_selector("input[alt*='邮箱']").send_keys("admin")原创 2023-11-16 14:17:43 · 85 阅读 · 0 评论 -
Day38 Web自动化详解(12)——高级篇——UnitTest断言
概念:让程序代替人为判断测试程序执行结果是否符合预期结果的过程1. 什么是断言?2. 需要掌握哪个断言?3. 断言异常类4. 如何获取断言错误信息5. 时间格式(年_月_日 时_分_秒)原创 2023-11-16 14:18:39 · 77 阅读 · 0 评论 -
Day39 Web自动化详解(13)——高级篇——测试结果HTML测试报告
说明:HTML测试报告就是执行完测试用例后以HTML(网页)方式将执行结果生成报告1. HTMLTestRunner作用2. 使用HTMLTestRunner生成报告操作步骤# 加载当前目录# 加载当前目录下test开头的.py文件# 定义报告目录# 定义报告名称格式# 报告完整路径和名称# 实例化HTMLTestRunenr对象,传入报告文件流f。原创 2023-11-16 14:22:16 · 80 阅读 · 0 评论