精华内容
下载资源
问答
  • Selenium3 Java自动化测试实战 第三版.pdf
    2020-12-06 06:18:17

    《Selenium2Java 自动化测试实战(修正版)》

    Selenium3 Java

    自动化测试项目实战 第三版( )

    作者:虫师

    1

    《Selenium2Java 自动化测试实战(修正版)》

    前言

    在刚做测试的一年多时间里,笔者对各种测试技术和工具有着强烈的兴趣和学习欲望,再加上工作较为空

    闲,所以有幸接触到QTP、Selenium 等自动化测试工具,由于当时水平有限,学习也只停留在录制与回放的水

    平上。再次学习Selenium 是时隔一年之后,笔者有幸跳槽到一家互联网公司继续做web 软件测试,发现项目适

    合做自动化测试,于是再次捡起Selenium。随着能力和眼界的开阔,发现单纯的使用工具的录制与回放并不能

    解决实际的问题。Selenium 本身支持多种语言编写脚本,这给我提供了丰富的选择余地。在之前有计划要学习

    一门脚本语言,在Python 与Ruby 之间犹豫不定。刚好项目组用Python 开发项目,所以很自然的选择了Python

    和Selenium 的组合。

    从2013 年开始用Python 和Selenium 进行自动化测试的实践,其间的过程颇为艰辛,除了官方文档,相关

    的资料并不算太多,尤其是中文资料;相比较而言Java 和Selenium 网上的资料要更多一些,这其中主要的原因

    是Java语言更为流行。

    后来认识了乙醇和MarkRabbit,前者的自动化测试文档给了我很大帮助,后者有丰富的Python Selenium 自

    动化测试项目经验,而且耐心的帮助后来者。在些对这两次前辈表示深深的敬意。

    起初只是将WebDriverAPI (Python 版)对页面一些操作作为博客进行发表。后来积累了十几篇博客,为了

    方便阅读,将其整理了成了一个文档供读者免费下载。再后来就是不断的扩充文档的内容,文档命名为《Selenium

    WebDriver (python)》 (其间更新了三个版本)。2013 年的下半年有了出书的念想,当时以为写书并不算困难。

    于是,每天都活在兴奋之间,构思书的结构与内容。到2013 年年底整理出了一个较为完整的自动化测试的知识

    体系,内容不再局限于Selenium 上,加入了大量的Python 技术的应用。所以重新命名为 《Selenium2 Python 自

    动化测试实战》,我带着心虚在传播这份文档,因为有文档中有不少技术我并没真正 “吃透”,自然讲解的不

    够透彻。

    与此同时作者和乙醇的合讲的Python 与Selenium 网络课程也在同步进行中。 《Selenium2 Python 自动化测

    试实战》很自然的成为了我上课的教材。其间收到了大量读者的和学生的反馈,笔者不断对这份文档进行更新,

    直到2015年春节期间,我才对第二版整理完成。

    为什么介绍这么多关于《Selenium2 Python 自动化测试实战》这本电子书的产生过程。是因为《Selenium2 Java

    自动化测试实战》是在此基础上整理完成的。因为常常会被问到有没有Java版的Selenium 教程,在我看来如果

    你已经会使用Python + Selenium 编写自动化脚本,那么切换到Java+ Selenium2 编写自动化脚本是非常轻松的,

    反之也一样。但对于不少人来讲,可能他们所测试的项目就是用Java 开发的,他们由于这个原因已经接触了一

    些Java语言,所以,他们更想在此基础上学习使用Java+ Selenium 开展自动化测试,而不是重新再学习一门其

    它语言 (虽然,在我看来Python 的学习成本要比Java低);另一方面更希望通过学习自动化测试的过程加强对

    Java 语言的实践经验,以便于后续进行更偏向于编程的接口测试或单元测试。

    所以,再经过了两个月的左右时间,《Selenium2 Java 自动化测试实战》这本电书初步完成,它是在《Selenium2

    Python 自动化测试实战》的基础上,替换掉了里面的Python 代码改为Java代码,但部分章节有所调整。

    当然,由于时间仓促,没细心考究书中的一些例子是否优雅,只是为实现需求编写。从刚开始测试工作前

    后学习过一段时间Java 语言,后面由换

    更多相关内容
  • 最全面的Java接口自动化测试实战.zip
  • 基于java开发工具包的接口自动化测试.pdf
  • 一个自动化测试框架,可性能也可接口;maven负责项目管理,jenkins服务器就不需要安 装jmeter运行环境(错误的,maven项目配置pom文件),只需要注册脚本所需要的jar包 到本地仓库即可;git源码管理,maven构建; 1...
  • 1.3 手工测试与自动化测试的比较 1.4 手工测试的局限性与自动化测试的优势 1.5 自动化测试介入的场景 1.6 自动化测试的流程 1.7 适合自动化测试的工具 2 - 常用的自动化测试工具 2.1 QTP 2.2 Selenium(Webdriver) ...

    基于JAVA实现的WEB端UI自动化 -自动化测试简单介绍

    基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - 实现简单的浏览器操作

    基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - 元素定位

    基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 -常见的页面元素操作

    基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - iframe元素定位

    基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 元素定位场景分析

    基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 获取测试对象属性

    基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 获取测试对象状态

    基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 第三方控件类操作

    基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 执行JS操作

    基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - WebDriver的三种等待方式

    基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 模拟键盘操作

    基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 代码检查点[验证点/断言]与图像检查点

    基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 验证码处理

    基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - cookie操作

    基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 关联

    基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - exe文件执行

    基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - grid [跨浏览器远程测试-可分布式]

    基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - 框架设计小结

    基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - testng使用

    基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - ant使用 - 关于如何手动下载JAR包

    基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - ant使用 - ant安装、环境变量配置、ant实例及运行Ant Build 出现问题的解决方法

    基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - ant使用 - ant调用testng文件及ant 调用testng遇到的问题

    基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - ant使用 - ant调用email 自动发送邮件

    基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - ant使用 - ant发送邮件显示源码的解决方法

    基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - XSLT (报告、模板框架)

    基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - Jenkins[定时计划执行任务]

    基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - 内部框架及UI自动化测试框架思维导图

    完结!撒花!✿✿ヽ(°▽°)ノ✿

    1 - Web自动化测试简介

    • 软件测试领域技术不断创新
    • 手工测试重复性工作量较大
    • 技术革新,通过使用工具或者脚本代码让计算机帮助测试人员完成一些简单操作

    1.1 自动化测试的本质

    • 其本质是把手工测试转化成使用计算机、软件、程序来测试产品的过程。在设计
      测试用例并通过评审之后,由测试人员根据测试用例中描述的步骤来一步一步执 行测试代码,得到的实际结果与期望结果进行比较。

    • 重复姓的测试工作在时间紧迫的情况下会有范围遗漏,为了节省人力、时间、资 源、提高测试效率,保证测试范围,引入了自动化测试概念。

    1.2 自动化真的具有绝对的高效性?

    • 自动化并不是绝对的完全高效率。
    • 在产品需求变更频繁,项目周期较短,开发人员代码不够规范的情况下,给自动化脚本的编写也带来大量的修改。甚至因为开发人员编写的代码的问题从而提升 了自动化脚本编写的难度,需要花费大量的时间去解决一些脚本编写过程中遇到 的一些未知的问题,那么这种情况下,手工测试往往要比自动化测试要更有效率。

    1.3 手工测试与自动化测试的比较

    • 通常情况下,测试的工作量会占据整个项目的的40%-60%的开发时间,甚至有的
      时候开发工作还没有开始,测试人员就已经介入了项目。
      测试过程中,许多的过程是重复性、非智力性、非创造性、并要求做准确细致的工作,这个时候计算机就是最适合代替人工去完成这样任务的角色。
    • 自动化测试是相对手工测试而存在的,主要是通过软件测试工具、脚本等来实现的,自动化测试脚本具有良好的可操作性、可重复利用性和效率高等特点。

    1.4 手工测试的局限性与自动化测试的优势

    手工测试的局限性:

    • 手工测试无法覆盖所有的代码路径
    • 简单的功能性测试用例在每一轮的测试中都不能少,而且具有一定的机械性、重 复性,工作量较大,影响效率。
    • 举例:如果有大量(几千)的用例,短时间内,手工测试往往是做不到的。

    自动化测试的优势:

    • 缩短软件开发测试周期,可以让产品更快的投放市场。
    • 测试效率高,可以充分利用硬件测试资源
    • 节省人力资源,降低测试成本
    • 增强测试的稳定性和可靠性
    • 提高软件测试的的准确度和精确度,从而增加软件的信任度
    • 使测试工作相对比较容易,但能产生更高质量的测试结果

    附:自动化测试绝不是因为厌倦了重复的测试工作,想要取代掉手工测试。相反的 是因为测试工作的需要,更准确的说是为了回归测试和系统测试的需要。

    1.5 自动化测试介入的场景

    那么问题来了,自动化能否取代手工测试?

    首先,我们要考虑的是,什么样的项目适合自动化?

    • 决定项目能否采用自动化测试,通常从以下几个方面考虑:
      • 需求的变更有计划性,且变更的频率不高
      • 项目的周期较长,硬件软件人工资源配置丰富。
      • 自动化脚本的重复使用率高
      • 开发人员代码编写的规范性

    在确定了什么样的项目可以使用自动化之后,身为测试人员还要考虑在项目中, 那些部分适合自动化。

    • 普遍的观点是:很多人认为自动化更适合回归测试和API测试,手工测试更 适合做验收测试和GUI测试。

    • 其实正确的观点:区分手工测试和自动化测试的,实际上与API还是GUI,回归测试还是功能测试都没有关系。应该从代码是业务逻辑相关还是基础性代码这两个方面出发考虑。

      • 业务逻辑代码:对应终端用户使用的哪些功能,是实际完成工作的。

      • 基础性代码:确保业务逻辑代码运行在合适的环境中。起支撑作用而彼此之间又相对独立,并不存在业务关系。

      • 两种代码都要测试,手工测试更适合测试业务逻辑。

    • 手工测试适合成为领域专家,他们可以把想当复杂的业务逻辑存在最强力的测试工具—大脑里。而且手工测试速度比较慢,测试人员就有时间可以观察分析细微的逻辑问题。速度虽然慢,但是比较容易。

    • 自动化测试胜在测试底层的细节。自动化可以测试错误返回值、返回码、异常和内存使用等等。速度快但是也困难些。相对业务逻辑进行自动化测试比较困难, 风险也略大。

    1.6 自动化测试的流程

    需求分析>>>自动化测试规划>>>自动化测试脚本编写>>>测试执行>>>测试总结

    自动化测试规划:功能>>>自动化>>>安全(渗透)>>>性能

    关于"安全(渗透)"这一块的"自动化"16年在写这一份文档的时候仅仅停留在字面的概念上,随着近两年学习从事安全领域以及所做的一些漏洞挖掘之后对这一块有了很深刻的印象。比如圈内一些很厉害的白帽子师傅通过自己编写的自动化脚本以及POC、EXP然后进行全网的扫描[此时已经不仅仅是局限于某个产品端了],可以挖掘大量的高危漏洞甚至可以直接getshell。

    需要说明的是 “安全(渗透)测试” 虽然也是"测试",但与传统意义上的软件测试还是有很大区别的。就我个人的理解 “安全(渗透)测试” 是一门领域性的技能和应用场景,虽然在某些方面有些许的重叠,比如安全领域的"逻辑漏洞" 与测试人员测出的功能上的BUG 。但是其还是有本质上的区别的。

    1.7 适合自动化测试的工具

    • 支持脚本化语言(Scripting Language)
    • 对程序界面中对象的识别能力
    • 支持函数的可重用性
    • 支持外部函数库
    • 抽象层—将程序界面中的对象实体映射成逻辑对象
    • 支持数据驱动测试(Data-Driven Test)
    • 错误处理
    • 调试器(Debugger)
    • 源代码管理
    • 支持脚本的命令行(Command Line)方式

    2 - 常用的自动化测试工具

    2.1 QTP

    • QTP是由HP提供的侧重于功能的回归自动化测试工具;提供了好很多插件,如.NET的,Java的,SAP的,Terminal Emulator的等等,分别用于格子类型 的产品测试。默认提供Web,ActiveX和VB。【讲道理,目前我所接触的项目还没有使用该工具的前几年从朋友那里了解到 交行与东航貌似还在使用该工具,不过该工具的最新版本已经叫 “UTF” 了,下文有介绍】

    • QTP 的脚本语言是VBScript,这对于测试人员来说,感觉要“舒服”的多。VBscript毕竟是一种松散的、被阉割的、普及面很广的语言。【其实就是弱类型语言】

    • QTP支持录制和回放的功能。
      录制产生的脚本,可以用来作为自己编写的template。
      录制时还支持lower lever功能,该功能用于QTP不易识别的对象使用,不 过它是使用坐标来标识的,对于坐标位置频繁变动的对象,此种方法不可取。
      QTP编辑器:Keyword模式与Expert模式。
      Keyword模式:类似RobotFrameWork的表格视图。
      Expert模式:代码视图。

    2.2 Selenium(Webdriver)

    • 价格:开源、免费
      相较于QTP而言(商业版、收费的、一个lessons大概价格100万美金左右)
      绝大多数的公司在商业版软件上更愿意选择使用Selenium完成同样工作的高级自动化测试人才,毕竟大多数的公司的最终目的还是以营利为主。【插句题外话,商业版的软件往往在报告输出上做的非常完善。】

    • 应用领域:基于浏览器的Web端自动化测试,Selenium仅支持Web页面的测试工作;
      QTP不仅支持Web界面的测试工作,还支持Client方面的测试,这一点上是 Selenium的不足之处。

    • 功能方面:
      录制功能方面,QTP要强于Selenium。
      QTP录制回放成功率很高,但是Selenium的录制回放功能成功率就非常的低, 所以我们在测试过程中也不会使用录制功能。
      脚本的编辑方面,不好判断。
      熟悉Java、Python等的人,会比较喜欢Selenium,
      熟悉VBScript就比较喜欢QTP。

    • 框架处理能力:
      在数据驱动方面,QTP支持很灵活,可以通过简单的设置就可以完成数据驱动的自动化脚本。
      Selenium需要编程来实现才可以。但是这点并不能说明Selenium在框架的处 理能力上就比QTP差。Selenium提供了更加开阔的框架处理能力给客户看, 用户可以根据自己的实际情况开发出更适合自己的自动化测试脚本。
      举例:在进行Web端页面测试的过程中,我们不能保证页面就是恒定不变的, 所以这个时候,在自动化测试平台中就可以有一个页面层,页面变化了,只 需要通过修改页面层的代码(元素定位)来适应,而不需要去修改在页面之 后的测试用例代码。这样就可以简化我们的代码的工作量。

    • 用户仿真:
      Selenium在浏览器后台执行,它通过修改HTML的DOM(文档对象模型)来 执行操作,实际上是通过JavaScript来控制的。执行时窗口可以最小化,可以 在同一个机器执行多个测试Case。
      QTP是完全模拟终端用户,独占屏幕,同一时间只能开启一个独占的实例。
      在并发性上来讲,Selenium更好一些。

    • UI组件支持:
      Selenium支持主要的组件,但是某些特殊事件、方法和对象属性支持不够
      QTP提供了良好的支持,通过收费的插件,提供了对各种组件的支持。

    • 对象识别:
      QTP所见即所得,用SPY插件、对象库的方式获取
      Selenium提供的是各种对象识别接口来识别

    • 支持的平台:
      Selenium支持多种语言,可以跨平台。
      QTP只使用于windows。

    • 脚本创建:
      QTP视乎更容易一些
      Selenium略难,需要一定的代码知识能力

    2.3 UFT(Unified Functionnal Testing)

    UFT是QTP的新名字,叫统一功能测试框架,较QTP而言增加了一些新的功能。

    • Insight智能图像识别
      图像识别一直是自动化测试的阻碍之一。包含游戏自动化、flash动态的一些 自动化。
      附:这个图像识别比较类似sikuli的方式,以图像方式进行识别,所以对验证 码等的识别没有太大的作用。(白兴奋了 o(╯□╰)o)【不知道几年过去了,UFT这方面有没有长进】

    • 多脚本调试(个人观点,鸡肋。类似于开多个窗口进行调试)

    • PDF文本验证点
      现在UFT可以识别PDF文件并对他们直接进行比较,甚至可以插入文本验证点。

    • 支持开源CI(鸡肋,现在大多数自动化测试工具都支持CI)

    • 支持移动设备(仍然鸡肋,移动端自动化的工具也很多)

    2.4 RFT(IBM Rational Functionnal Tester)

    IBM的一款适合功能测试、回归测试的自动化测试工具。
    它的基础是针对于Java、.NET的对象技术和基于Web应用程序的录制与回放,
    我们可以利用它以Eclipse为核心的特点用Java脚本自行编写更具有灵活性的自动化测试脚本用于日场和回归测试。这款自动化测试框架是在Selenium出现之前大家认为最容易进行扩展的一个框架。
    TIP:尽管RFT提供了录制和回放的功能来开发自动化脚本,但这并不是一个很好的方法,很多测试团队也并没有采用,因为录制与回放功能对于程序运行的环境运行依赖性太大,包括了程序的位置、窗口的分辨率,每个变化都将会导致脚本无法正确的运行,因此更多使用该工具的测试团队采用了自己手动写脚本的方式来提高脚本的易读性以及可维护性。

    • 框架结构:
      RFT的脚本可以分别被归类为AppObjects、Tasks和Testcases
      AppObjects:定义页面上的元素。在测试过程中,所有用到的页面元素都定
      义并储存在这一层中,这一层还包含了所有页面上显示的字符串。
      Tasks:定义可以单元化,可重用的任务,调用在AppObjects中定义的元素。
      Testcases:一个case写成一个脚本,每个测试场景,可以写成一个或多个脚 本,每个脚本只调用Tasks中定义的可重用的任务。
      附:这个架构的分层架构思路基本与WebDriver的分层架构思路一致。

    • 传播与使用范围

      • 帮助文档和教程很少,很不系统。而提供额API接口只有说明文档,未 提供如何使用该文档;提供的例子很少。
      • 环境要求较高,至少得1G内存才能比较顺畅使用,512内存比较卡, 速度慢
      • 参数化只支持使用XML格式文件来存储测试数据
      • 回放速度超级慢
        附:所以才有了Selenium开发以后的强势和很多之前RFT使用者可以快速上手。

    2.5 Monkeyrunner(手机自动化工具)

    目前Android SDK里自带的现成的测试工具

    Monkey和MonkeyRunner

    Monkey:主要用于压力和性能测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自定义发送的次数,以此观察被测应用程序的稳定性和可靠性,应用比较简单,记住那几个命令就可以了。

    MonkeRunner:相比较之下更强大一些,主要用于功能测试,回归测试。并且可以自定义测试扩展,灵活性较强,测试人员可以完全控制。

    2.6 Robotium(手机自动化工具)

    Robotium是一款测试Abdroid Application的测试框架,它使得编写黑盒测试代码更 加容易和稳定。通过使用Robotium,测试用例开发人员能够跨越多个Activity,开 发出功能、系统以及验收测试用例。
    Robotium是基于Android测试框架InstrumentTestCase2进行的2次封装,把一些基 本操作又简化了一遍。

    也是最近比较流行和正在上升势头的手机自动化测试工具。

    优势如下:

    • 针对黑盒测试
    • 在测试过程中,不必需要测试程序的源代码,只要apk文件(前提是需要知 道测试程序的package和activity)
    • 可以直接运行在手机上,并通过adb端获得运行结果。

    附:在使用该工具的时候有一必须点:当编辑完测试脚本后,会生成一个apk文件, 将该apk安装到手机端,并通过adb输入一系列命令后直接运行测试脚本。但 该apk的签名必须要与测试程序的apk签名保持一致。

    2.7 Sikuli(新型思路的自动化测试工具)

    创新的图形化编程技术

    Sikuli是由MIT的研究团队发布的新型图形化编程技术。它以图像检索技术为基础, 提供了一套基于Jython(Python语言在java中的完整实现)的脚本语言以及集成开发 环境。使用者可利用屏幕截图直接引用GUI元素进行编程,完成交互操作。Sikuli 一词取自墨西哥Huichol Indian 土著语,意为“上帝之眼”,正如其开发者所说–Sikuli 让电脑能像人一样“看”这个“真实世界”。

    • Sikuli脚本
      Sikuli的脚本编写遵循Python语法规范,其本身提供了多种自定义类及其自 定义方法,其详细介绍可参见其官方网站文档。由于Sikuli基于Jython,其核 心代码由Java编写,可在用户自定义的Java工程中将其作为Java标准类库 进行引用,其官方网站亦提供了JavaDoc供参考。

    • 下图为自动打开FireFox浏览器,并登陆Gmail的简单实例,快速一览Sikuli 脚本的独特之处。


    在这里插入图片描述


    2.8为什么选择Selenium(Webdriver)

    · 开源免费
    · 使用灵活简单
    · 后期用例易于维护
    · 支持多种语言
    · 容易与单元测试框架结合
    · 可支持多浏览器同时,支持远程启动其他服务器
    · 高度复用性
    · 代码自主掌控,对于搭建框架、平台等有不可替代的优势
    

    3 - 测试自动化和自动化测试

    3.1 什么是测试自动化?

    这是一种让测试过程脱离人工的一次变革。对于控制成本,控制质量,回溯 质量和减少周期都有积极影响的一种研发过程。

    3.2 什么是自动化测试?

    • 通过将测试执行部分或者全部交由机器执行的一种测试,叫做自动化测 试。这种测试不需要人的实时参与。同时这种测试在小规模应用时会比手工测试昂贵许多。

    • 所以自动化测试可以看做测试自动化的一部分。

    3.3 不同的工程师,工作不同

    • 一个自动化工程师,会比较专注于测试工具的研发。最主要的是这个工程师 会从成本的角度去考虑问题。这一点比较像PM。他所做的一切是为了减少 自己或者团队的工作量,尽可能的将重复的,有规律可循的工作代码化,自 动化。

    • 一个自动化测试工程师,会比较专注于测试代码的开发,以及测试结果的分 析。对于被测设备本身非常感兴趣。他们比较倾向于一种完美主义者,追求 的是高质量而经常忽略成本。这一点更像是开发人员

    • 现在绝大多数公司都会执着于自动化测试,而忽略测试自动化。这一点会让 整个AT(automation test)成本变得非常高。

    3.4 自动化测试的几个准则:

    • 并不是将测试用例代码化了,就可以称之为自动化测试了。这是现在很多公司宣称自己做AT的一个噱头。
    • AT的代码是有很多的要求。
    • 首先就是你的覆盖面要广。个位数case的自动化完全没有意义。
    • 第二就是你的case必须要能够复用:软件每天都在变,如果你的case要天天跟着软件变,那你的case是完全不合格的
    • 第三就是测试规模要够大:要么时间长(case多),要么测试产品多。这样 才能体现出来自动化测试的优势。

    3.5 测试自动化的几个准则:

    • 一就是要减少除工具研发部门外,其他所有测试部门的人力成本。这就是测 试自动化追求的终极目标之一。

    • 二就是提高测试质量,不仅仅包括测试执行的质量,还包括测试的统计质量, 数据回溯质量等等等等。这些质量的提高可以帮助测试团队修正他们的测试 方法,而不是每天将精力扑在无止境的数据收集和分析中。

    • 三则是要抢出时间。某一项工作自动化后的时间,要么比人手做时间短,要 么可以在非工作的16个小时中进行。通过让电脑OT的方法来解放工程师和项目经理。

    4 - 自动化测试三个阶段

    4.1 基本脚本设计阶段

    自动化测试:用例代码化
    将要进行测试的功能代码化,能够将线性流程通过自动化脚本完成测试
    举例:注册>>>登录>>>购物>>>支付>>>确认收货>>>退出

    4.2 框架脚本设计阶段

    测试自动化:繁杂的工作简要化,使用框架设计的手段。(数据驱动、关键字驱动、分层架构的思想)[测试自动化第一步]

    4.3 平台设计阶段

    如何开发一个自动化测试平台?讲道理,你都能搞定自动化测试平台了还干啥测试啊,产品经理、研发、架构师它不香么?等有时间了看看能不能把 "87test团队、雷子师傅"他们的自动化平台白嫖一个,到时候放出一个思维导图

    5 - 自动化环境搭建准备与相关工具

    这里以前写过一篇关于自动化环境搭建的文档,找到了再放出来把。

    暂时没找到,先放一个大概通用的吧。

    关于浏览器

    浏览器(开发者工具使用【F12】)
    Chrome(版本不要太高),同时注意驱动对应的浏览前版本
    Firefox (版本不要太高),同时注意驱动对应的浏览前版本
    IE9、IE10
    详见:浏览器版本与DriverServer对应表与资源 http://www.cnblogs.com/alisapan/p/6428695.html

    Selenium IDE(火狐浏览器上的插件)

    • 在进行元素定位操作时,可通过Selenium IDE进行捕捉元素的定位

    Java环境

    安装JDK,并配置环境变量。推荐1.8

    同时还需要注意JDK在Selenium 兼容上存在一定的问题。

    Eclipse/IDEA

    WebDriver Jar包

    单元测试框架 Testng

    tetsng安装方法:https://www.cnblogs.com/xusweeter/p/6559196.html

    展开全文
  • postman——使用postman完成接口自动化测试一、系统环境搭建:1、安装JDK8 以上的版本,并配置java环境变量2、安装mysql数据库,且新建edumgr数据库,参考语句如下:二、使用postman工具开始测试:1、使用java命令...

    一、系统环境搭建:

    1、安装JDK8 以上的版本,并配置java环境变量

    安装过程及配置环境变量见【https://blog.csdn.net/weixin_56039103/article/details/116642893】
    在这里插入图片描述
    在这里插入图片描述

    2、安装mysql数据库,且新建edumgr数据库,参考语句如下:

    【create database edumgr default charset utf8mb4 collate utf8mb4_general_ci;】
    在这里插入图片描述
    在这里插入图片描述

    二、使用postman工具常规项目测试流程:

    1、使用java命令启动项目相关微服务

    【java -jar h-exams-0.1.0.jar】
    在这里插入图片描述

    2、启动服务后,即可进入postman,导入json文件

    在这里插入图片描述
    在这里插入图片描述

    3、开始根据提测说明文档逐项进行测试

    在这里插入图片描述

    在这里插入图片描述

    三、以【悟空crm客户关系管理系统】项目的【登录】模块为例,使用postman工具编写脚本进行自动化测试:

    1、首先新建项目及待测试的功能模块

    (1)填写待测模块URL地址

    在这里插入图片描述

    (或1)或者定义一个环境变量参数,代替具体的URL地址

    • 定义一个环境变量参数crmip
      在这里插入图片描述

    在这里插入图片描述

    • 调用环境变量参数crmip

    在这里插入图片描述

    2、编写自动化测试脚本

     var josnData = pm.response.json();
    if (josnData.code === 0) {                                    # 当状态码=0的时候
    
         tests["判断code"] = josnData.code === data.exp_result     # 判断状态码是否等于预期结果
     } else {                                                     # 当状态码不等于0的时候
         tests["msg"] = josnData.msg === data.exp_result          # 判断状态码是否等于预期结果
     }
    

    3、 新建一个CSV文件,用于存放用例及预期结果

    (1)新建一个Excel表,表头为之前定义好的参数,把具体用例填进去,另存为CSV文件
    在这里插入图片描述

    (2)注意CSV文件要设置编码格式为utf-8,否则内容可能变成乱码
    在这里插入图片描述

    4、运行自动化测试脚本

    在这里插入图片描述
    在这里插入图片描述

    5、运行结果

    4个测试用例均通过
    在这里插入图片描述

    6、生成报告

    (1)postman生成测试报告需要下载安装【Node.js】

    下载地址: https://nodejs.org/en/download/package-manager/
    在这里插入图片描述

    (2)安装好【Node.js】后,win+R,输入【cmd】打开DOS命令窗口,下载安装生成html报告的newman组件

    在DOS命令窗口输入【npm install -g newman】,回车
    在这里插入图片描述

    在DOS命令窗口输入【npm install -g newman-reporter-html】,回车
    在这里插入图片描述
    安装完成后可以输入【npm -v】,出现对应版本即安装成功
    在这里插入图片描述

    (3)导出生成报告所需文件

    (3-1)导出测试项目

    在这里插入图片描述

    (3-2)导出环境变量

    在这里插入图片描述

    (3-3)将以上两个导出文件和之前用于存放测试用例的CSV文件放到一个文件夹下,如图所示

    在这里插入图片描述

    (4)生成报告

    (4-1)进入路径

    在DOS窗口中,进入步骤(3-3)文件夹所在路径
    在这里插入图片描述

    在这里插入图片描述

    (4-1)输入命令

    输入命令【newman run 客户关系管理系统.postman_collection.json -e url环境变量.postman_environment.json -d denglu.csv -r html --reporter-html-export denglu.html】,回车,就会发现文件夹中已经生成测试报告HTML文件
    在这里插入图片描述

    • 注:以上命令各部分的含义见下面注释
    newman run 【客户关系管理系统.postman_collection.json】   # (3-1)中导出的测试项目文件名
     -e 【url环境变量.postman_environment.json】             # (3-2)中导出的环境变量文件名
     -d 【denglu.csv】                                     #  参数数据
     -r  【html】                                          #  报告模板 推荐html
     -reporter-html-export denglu.html                    #  报告保存路径及文件名
     -n <run_times>                                       # 运行次数,可不填,不填默认为1
    
    展开全文
  • jmeter接口自动化测试环境部署 注意:以下内容适应用于公司测试团队小,同时技术不足以开发或者不愿意投入时间精力开发接口自动化测试平台的测试团队。同时本文章内容是使用docker技术实现搭建,当然如果公司没有...

    jmeter接口自动化测试环境部署

    注意:以下内容适应用于公司测试团队小,同时技术不足以开发或者不愿意投入时间精力开发接口自动化测试平台的测试团队。同时本文章内容是使用docker技术实现搭建,当然如果公司没有使用docker技术的也适用。将docker镜像看作是一台服务器即可。但是docker并不是虚拟机。他只是服务器中的一个进程。请读者不要混淆。

    另外需要该文章pdf版本的读者可在百度网盘下载
    链接:https://pan.baidu.com/s/1N7lkkh29YZgPB4RJF8Ywvg 密码:rked

    一、概述
             jmeter是做API和性能测试的一把利器。也是接口自动化测试的一种非常棒的一款开源的测试软件。本次接口自动化的环境搭建主要围绕着jmeter展开。主要用到的工具/应用程序有:jmeter+ant+apache/tomcat+jenkins+DingDing+SVN。搭建自动化测试环境的时候注意,无论是任何的框架或者说是架构都是围绕着简单、易用、功能强大三个特点来开展的。所以我们要做的就是尽可能能的减少重复性的操作。让使用者能够节省时间的同时尽可能的保证该架构的稳定性。
    结构图如下:
    在这里插入图片描述
    注意:该内容讲解的所有内容均在docker镜像中操作、如果有自己服务器的同学可以直接使用服务器进行操作

    二、环境准备环境搭建
    (一)Linux docker环境搭建
    1、centos安装docker
             如果linux环境中安装了yum工具包那么直接使用yum install docker便可以直接安装了,在安装过程中如果询问直接‘y’就好
    在这里插入图片描述
    使用docker --version可以查看当前的docker版本
    在这里插入图片描述
    2、ubuntu安装docker
             前提条件:Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。
    通过 uname -r 命令查看你当前的内核版本
    在这里插入图片描述
    检查完版本后在命令行中输入wget -qO- https://get.docker.com/ | sh
    在这里插入图片描述
    输入当前用户的密码后,就会下载脚本并且安装Docker及依赖包。
    在这里插入图片描述
    在这里插入图片描述
    安装完成后有个提示:

        If you would like to use Docker as a non-root user, you should now consider
        adding your user to the "docker" group with something like:
        sudo usermod -aG docker runoob
       Remember that you will have to log out and back in for this to take effect!  
    

    使用docker --version可以查看当前的docker版本
    在这里插入图片描述
    3、启动docker

    service docker start
    

    4、下载linux镜像文件
    5、搜索镜像
             搜索ssh镜像文件docker search ssh
    在这里插入图片描述
    6、下载镜像
             下载镜像文件到本地 docker pull jdeathe/centos-ssh
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190730113231759.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDAxOTQwNg==,size_16,color_FFFFFF,t_70
    7、检查与查看
             查看镜像文件是否下载成功 docker images
    在这里插入图片描述
    8、运行docker镜像并开启所需端口
             1)运行镜像 “docker run -it --name jmeterTest -d -p 7890:8080 -p 7891:22 -p 7892:80 jdeathe/centos-ssh”此命令会运行docker仓库中的jdeathe/centos-ssh镜像并重新命名为jmeterTest 并且会将镜像中的8080、22、80端口映射到docker宿主机的7890、7891、7892上。
    在这里插入图片描述
             2)查看正在运行的docker镜像 “docker ps”
    在这里插入图片描述

             3)进入docker镜像内执行sh命令 “docker exec -it jmeterTest bash”,如果此时发现主机名称变成了12位的字符便成功了,不过你会发现字符是你启动docker镜像的时候返回给你的前12位字符
    在这里插入图片描述
    (二)、安装JDK
    1、下载
             下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,
    在这里插入图片描述
    2、上传
             将jmeter压缩包上传到服务器,由于docker下载的镜像是比较干净的镜像所以有很多我们常见的命令不能执行,需要我们手动的去下载。所以先使用rz或者scp命令将压缩包上传到宿主机,退到宿主机只要执行exit命令就可以了
    在这里插入图片描述
             复制jmeter压缩文件到运行的镜像中
    在这里插入图片描述
             将镜像文件中的jmeter压缩包解压到镜像的usr/local目录下
    在这里插入图片描述
             新增jmeter“JAVA_HOME”环境变量,并修改完后让配置立即生效
    在这里插入图片描述
    在这里插入图片描述
             查看java版本 java -version
    在这里插入图片描述
    (三)、安装jmeter
    1、下载jmeter
             地址:http://jmeter.apache.org/download_jmeter.cgi。在jmeter官网中有两处下载:Binaries为jmeter应用程序下载。Source为源码下载。下载的时候可以在Binaries处自己选择想要下载的格式,.tgz和.zip。这里我选择第一个.tgz。(两个是一样的,下载后只是解压格式不一样)
    在这里插入图片描述

    2、将jmeter压缩包上传到服务器。
    在这里插入图片描述
             复制jmeter压缩文件到运行的镜像中
    在这里插入图片描述
             将镜像文件中的jmeter压缩包解压到镜像的usr/local目录下
    在这里插入图片描述
             新增jmeter“JMTER_HOME”环境变量,并修改完后让配置立即生效
    在这里插入图片描述
    在这里插入图片描述

    (四)、安装ANT
    1、下载ANT
             地址:https://ant.apache.org/bindownload.cgi
    在这里插入图片描述
    2、将jmeter压缩包上传到服务器。
    在这里插入图片描述
             复制jmeter压缩文件到运行的镜像中
    在这里插入图片描述
             将镜像文件中的jmeter压缩包解压到镜像的usr/local目录下
    在这里插入图片描述
             新增jmeter“ANT_HOME”环境变量,并修改完后让配置立即生效
    在这里插入图片描述
    3、配置ANT
             将jmeter目录下的ant-jmeter-1.1.1.jar文件复制到ANT文件夹的lib目录下
    在这里插入图片描述

    (五)、安装svn
             执行命令:yum install subversion安装完成后svn --version查看当前svn版本
    在这里插入图片描述
    (六)、安装apache
    1、安装
             执行命令:yum install -y httpd 暗转完成后输入httpd -v查看当前版本
    在这里插入图片描述
             查看完当前版本后访问该镜像,【http://ip地址:端口】
    在这里插入图片描述
    (七)、安装jenkins
    1、下载
             下载地址 :https://jenkins.io/download/ 选择一个与自己docker镜像相匹配的jenkins包,或者下载java的版本。这里为了教学方便所以选择下载java版本
    在这里插入图片描述
    2、将jenkins包上传到服务器。
    在这里插入图片描述
             复制jenkins包文件到运行的镜像中
    在这里插入图片描述
             运行jenkins
    在这里插入图片描述
    3、jenkins基础配置
             启动后访问地址:http://ip地址:7890/
    在这里插入图片描述
             根据jenkins提示在docker镜像中找到对应路径文件,并打开复制内容,黏贴。黏贴后安装推介的插件
    在这里插入图片描述
    在这里插入图片描述
             创建初始化帐号(最高权限)

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190730113700501.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDAxOTQwNg==,size_16,color_FFFFFF,t_70
    三、文件环境准备
    (一)、文件目录准备
    1、svn新建jmeterCase
             新建jmeterCase文件夹用于存放jmeter自动化测试脚本
    在这里插入图片描述
    (二)、jmeter脚本数据准备
    在这里插入图片描述
    (三)、ANT数据文件准备
             新建一个.xml的ANT编译文件内容格式如下

    <?xml version="1.0" encoding="utf-8"?>
    <!--Project为整个量的根目录;name随便写,可自行更改;default默认执行什么任务,下面有个target name = "all";basedir为.代表当前目录-->
    <project name="jmeter_test" default="all" basedir="/var/www/jmeterCase/case/">
        <tstamp>
            <!-- 这里是加入了年月日时分秒,用来加在报告的后缀上-->
            <format property="time" pattern="yyyyMMddhhmmss" />
        </tstamp>
        <!-- 需要改成自己本地的 Jmeter 目录,写到bin目录的上一步就可以-->
        <property name="jmeter.home" value="/home/ubuntu/softWare/qjclouds/apache-jmeter-5.0" />
        <!-- jmeter生成jtl格式的结果报告的路径-->
        <property name="jmeter.result.jtl.dir" value="/var/www/jmeterCase/report/jtl" />
        <!-- jmeter生成html格式的结果报告的路径-->
        <property name="jmeter.result.html.dir" value="/var/www/html/report" />
    
        <!-- 生成的报告的前缀ReportName的value可以自定义值,下面的jtl和html的名字是用变量来的也不需要改 -->
        <property name="ReportName" value="${caseName}" />
        <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
        <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
        <!-- 接收测试报告的邮箱,不用这个发邮件,可以删除 -->
        <property name="mail_to" value="xxxx@xxxxx.com" />
        <!-- 电脑地址,也不用,可以删除 -->
        <property name="ComputerName" value="Admin" />
        <!-- 对应到上面的,default为all,下面调用了两个:test和report-->
        <target name="all">
            <antcall target="test" />
            <antcall target="report" />
        </target>
        <!-- 对应到上面的target为test -->
        <target name="test">
            <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
            <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
                <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本,脚本要执行某一个就写死哪个 -->
                <testplans dir="/var/www/jmeterCase/case" includes="${caseName}.jmx" />
                <property name="jmeter.save.saveservice.output_format" value="xml"/>
            </jmeter>
        </target>
        <path id="xslt.classpath">
            <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
            <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
        </path>
        <!-- 对应到上面的target为report -->
        <target name="report">
            <tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp>
            <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl" 
            >
             <param name="dateReport" expression="${report.datestamp}"/>
             </xslt>
            <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
            <copy todir="${jmeter.result.html.dir}">
                <fileset dir="${jmeter.home}/extras">
                    <include name="collapse.png" />
                    <include name="expand.png" />
                </fileset>
            </copy>
        </target>
        <!-- 发送邮件 -->
    </project>
    

    注意:这里个modle的脚本文件名称用${caseName}代替了
    (四)DINGDING文件
             因为整个自动化结构都是由钉钉通知的所以首先要对钉钉消息进行模版化。在新建模版化json文件之前,我们需要先在DingDing上创建一个群,并在群内开启一个钉钉机器人,新建一个json文件内容如下:
    在这里插入图片描述

    {
        "msgtype": "link",
        "link": {
            "text": "jmeter编译成功",
            "title": "接口自动化环境通知!!!",
            "picUrl": "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1547116083262&di=a123ecc9c1ae1b57809a51e83a81369a&imgtype=0&src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20180623%2Fa55f0483026a41bf861e3c82afb7b9b4.jpeg",
            "messageUrl": "http://xxx.xxx.xxx.xxx/report/${html}"
        }
    }
    

    注意:这里个modle的脚本文件名称用${caseName}代替了

    (五)、文件上传
             将jmeter脚本名称与ANT编译文件名称改为一致的文件名称例如:demo.xml、demo.jmx。改完名称后将jmeter脚本上传到jmeterCase文件夹下case文件夹。
    在这里插入图片描述
    (六)、服务器文件目录准备
    1、新建文件夹bin、DingDing
             命令:mkdir 目录名称
    在这里插入图片描述
    2、模版文件上传
             将demo.xml、demo.json文件上传到bin目录
    在这里插入图片描述

    3、检出jmeterCase目录

    在这里插入图片描述
    在这里插入图片描述四、sh命令准备
    (一)、创建新的ANT启动.xml文件sh
    内容如下:

    home=/var/www
    cp ${home}/bin/demo.xml ${home}/bin/$1.xml
    sed -i -e 's/${caseName}/'$1'/g' ${home}/bin/$1.xml
    mv ${home}/bin/$1.xml ${home}/jmeterCase/case/$1.xml
    svn add ${home}/jmeterCase/case/$1.xml
    svn commit  -m 新增$1.xml文件 ${home}/jmeterCase/case/$1.xml
    

    (二)、发送钉钉消息sh

    内容如下:
    #定义jmeter自动化home文件夹

    home=/var/www
    if [ ! -f ${home}/jmeterCase/case/"$1".xml ]; then
    sh -x ${home}/bin/createAntXML.sh $1
    fi
    #更新html报告文件夹
    svn up ${home}/html/
    #更新用例文件夹
    svn up ${home}/jmeterCase/
    #调用ant执行jmeter脚本并生成报告
    ant -f ${home}/jmeterCase/case/$1.xml
    #创建随机变量文件名
    random=${RANDOM}
    #遍历report目录下以参数$1开头的文件并排序,将内容吧写入到随机文件
    ls -t ${home}/html/report | grep $1 >>${home}/html/report/${random}.txt
    #读取随机文件的第一行文本
    file=$(head -1 $home/html/report/${random}.txt)
    #删除随机文件
    rm -rf ${home}/html/report/${random}.txt
    #删除钉钉消息文件
    rm -rf ${home}/DingDing/$1.json
    #复制消息文件
    cp ${home}/DingDing/msg.json ${home}/DingDing/$1.json
    #替换url
    sed -i -e 's/${html}/'${file}'/g' ${home}/DingDing/$1.json
    #替换消息标题
    sed -i -e 's/jmeter编译成功/【'$1'】jmeter脚本编译成功,点击查阅:http:\/\/111.230.223.145\/report\/'$file'/g' ${home}/DingDing/$1.json
    #读取json文件
    json=$(head -n 100 ${home}/DingDing/$1.json)
    #发送钉钉消息
    if [ $(grep -c "class=\"failure\"" ${home}/html/report/${file}) -eq  1 ]; then
    	curl https://oapi.dingtalk.com/robot/send?access_token=992debb70f5fe66037383d5e7635e99cdc1608957affc6c4256127b500526c5a -H  'Content-Type: application/json'  -H "Data_Type:msg" -X POST -d  "${json}"
    fi
    

    注意:最后发送钉钉消息时将之前创建的DingDing机器人的token换成自己的“access_token”

    五、jenkins配置

             新建一个job
    在这里插入图片描述
             配置参数化构建
    在这里插入图片描述
             添加需要执行的命令
    在这里插入图片描述

    展开全文
  • 5、多语言驱动:支持JAVA以及Python语言编写测试驱动,自动化测试手段更加灵活多变。 6、定时任务调度:支持自定义配置调度任务,包括指定线程数,指定执行客户端,远程执行shell重启tomcat,对jenkins中的项目进行...
  • 4、再次搭建接口自动化平台,总会遇到的之前没遇到过的问题: a> eclipse创建maven项目后,从原来本地调试的github拉取配置代码,再调试出现执行xml格式问题 问题:SXXP0003: Error reported by XML parser 解决:...
  • 谈谈我在自动化测试中遇到的坑

    千次阅读 2020-12-24 10:36:19
    我不是一位专职的自动化测试工程师,没有开发过自动化的工具或者框架,用的自动化的工具也不多,也没有做过开发,所以我讲不出那些现在很多人很看重的“很深”的东西。我也不想去讲某个流行的自动化的工具要怎么使用...
  • 自动化测试工程师是不是自动化工程师都是使用代码来实现自动化的? 对于这一点我要说明一点,自动化工程师并不是这样的。 自动化分为工具的自动化和代码的自动化。自动化测试有很多工具,例如postman,soapUI等等...
  • 如题,本文附有仓库地址以及代码,目录如下: 1.下载安装appium 2.配置并使用appium 3.配置工程 一、下载安装appium 下载appium-desktop的...UI Automator,google提供的自动化测试框架,appium集成了它。详细了解
  • 自动化测试,你一定要知道的知识

    千次阅读 热门讨论 2022-03-28 13:40:58
     自动化测试框架一般可以分为两个层次,上层是管理整个自动化测试的开发,执行以及维护,在比较庞大的项目中,它体现重要的作用,它可以管理整个自动测试,包括自动化测试用例执行的次序、测试脚本的维护、以及集中...
  • Robot Framework自动化测试框架核心指南-如何使用Java编写自定义的RobotFramework Lib 1、Robot Frdamwork中如何调用java Lib库 我们在前面介绍了,Robot Framework可以支持跨语言,那么对jav...
  • 最近在做公司项目的自动化接口测试,在现有几个小框架的基础上,反复研究和实践,搭建了新的测试框架。利用业余时间,把框架总结了下来。 AIM框架介绍 AIM,是Automatic Interface Monitoring的简称,即自动化接口...
  • 零基础如何学习自动化测试

    千次阅读 2020-09-04 17:23:11
    今天我就在这里讲下如何学习自动化
  • eoLinker是国内最大的在线API接口管理平台,提供自动生成API文档、API自动化测试、Mock测试、团队协作等功能,旨在解决由于前后端分离导致的开发效率低下问题。 目前eoLinker为来自全球的超过2万家企业提供快速、...
  • 初识Robot Framework1.1如何创建一个自动化测试项目1.1.2 创建测试套件1.1.3 创建测试用例 ①Robot Framework基于Python编程语言设计的、可扩展的、关键字驱动模式的测试自动化框架,具备良好的可扩展性,可以通过...
  • 一、了解什么是DevOps DevOps的目标是实现软件系统的快速交付、并且提升系统稳定性和获得用户良好的反馈。...包含:基础设施即代码、CI/CD、自动化测试、容器化、服务编排、自动化部署和软件度量等。 CI/CD流水线是决
  • 自动化测试概述/自动化工具自动化测试常见的WEB自动化测试工具:自动化测试工具选择要求 自动化测试自动化测试就是把手工测试转化成用机器、软件、程序来测试产品的过程。 很多时候自动化测试的用例是从功能测试...
  • 2022 年全球十大最佳自动化测试工具

    千次阅读 2022-03-07 17:33:47
    自动化测试是指运行软件程序后,自动执行测试用例并在没有任何人为干预的情况下产生测试结果。它比手动测试更优越的地方在于,很大程度上节省了人力和时间,并且在测试中没有或者少有错误。此外,还可以多次测试相同...
  • Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。...
  • 如何开始学习web ui自动化测试?如何选择一门脚本语言?选择什么自动化测试工具?  本人已经做测试快5年,很惭愧,感觉积累不够,很多测试都不会,三年多功能测试,最近两年才开始接触和学习自动化测试。打算写一个...
  • Java2核心技术第7版全两卷.pdf中文高清

    千次下载 热门讨论 2012-09-14 14:22:28
    本资源内有两本书《Java2核心技术卷I:基础知识(第7版)》和《JAVA2核心技术,卷II:高级特性(第7版)》,大小分别为 88MB 和 112 BM,均为 PDF 格式,高清影印版。两本书分别介绍如下: 《Java2核心技术卷I:基础知识...
  • 《软件自动化测试开发》认真看过的读者应该都知道,介绍的主要是自动化测试基础以自动化测试框架为主线,同时附带提到了自动化平台的功能。 第一本书是偏向于Java语言开发。   然后   第二本书,第一本...
  • 点击获取《jmeter接口自动化与性能实战-飞天小子.pdf》 微信公众号搜索测试驿栈,回复mock,会下发mock接口让各位练习 性能测试系列 性能测试之动态负载 负载测试实战 jvm堆内存分析 常用性能指标分析 ...
  • 原文:...两天的研究测试java导出PDF,终于成功了,期间走了不少弯路,今分享出来,欢迎大家有问题在此交流,与君共勉!一、需求根据业务需要,需要在服务器端生成可动态配置的P...
  • 内容介绍 《Java项目开发实战入门》以...《Java项目开发实战入门》应用的主要技术及知识点有:Java AWT、Java Swing、MySQL数据库、Hibernate、BeautyEye外观样式、多线程、Socket编程、人机对战实现、Derby、JSP、Jav
  • jmeter接口测试及详细步骤

    千次阅读 2021-08-19 20:04:06
    Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试。 Jmeter具备高移植性,可以实现跨平台运行。 Jmeter可以实现分布式负载。 Jmeter采用多线程,允许通过多个线程并发...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,194
精华内容 6,877
热门标签
关键字:

java接口自动化测试pdf

java 订阅