精华内容
下载资源
问答
  • 自动化 测试 框架 开源 测试自动化框架是一组最佳实践,通用工具和库,可帮助质量保证测试人员评估多个Web和移动应用程序的功能,安全性,可用性和可访问性。 在“快速点击”的数字世界中,我们习惯于轻而易举地满足...

    自动化 测试 框架 开源

    测试自动化框架是一组最佳实践,通用工具和库,可帮助质量保证测试人员评估多个Web和移动应用程序的功能,安全性,可用性和可访问性。 在“快速点击”的数字世界中,我们习惯于轻而易举地满足我们的需求。 这就是为什么软件市场充斥着数百个测试自动化框架的原因之一。

    尽管团队可以构建复杂的自动化测试框架,但是当他们可以使用现有的开源工具,库和测试框架获得相同甚至更好的结果时,通常没有理由花费金钱,资源和工时。 使用现有开源测试自动化框架的其他原因是:

    • 可重用
    • 易于维护
    • 需要最少的人工干预
    • 在动荡的环境中稳定
    • 可扩展

    如何选择测试自动化框架

    由于不同的业务有不同的需求,因此很难在测试自动化框架中确定您想要的所有内容。 但是,大多数组织会在测试自动化框架中寻找一些关键标准:

    1. 易于脚本开发:测试框架必须支持敏捷过程和短迭代。
    2. 跨团队兼容性:由于软件测试不限于单个部门,因此测试框架必须在各个角色之间兼容,并要求开发人员和质量检查人员提供输入。
    3. 支持多种语言:框架应包括对不同应用程序平台的语言支持。 换句话说,测试框架必须支持iOS的Objective-C / Swift,Android的Java和对工作必不可少的任何其他编码语言。
    4. 对最新平台功​​能的支持:开源测试框架应定​​期更新,并应与最新的操作系统功能兼容,以避免围绕测试的框架空白。

    为您的组织选择最佳的测试自动化框架可能很困难。 为了帮助您根据需要评估功能并缩小选择范围,下面概述了我的九大开源业务自动化工具和框架。

    Appium

    Appium是一个基于WebDriver协议的开源测试自动化框架,用于测试移动应用程序。 基于统一性的思想,它允许您使用相同的API为不同的平台编写测试。

    主要特点:

    • 无需重新编译应用程序
    • 提供选择不同编码语言和框架来运行测试的选项
    • 允许测试人员创建元素存储库并进行相应的管理
    • 支持iOS,Android和Windows测试套件之间的可重用代码和测试(用Node.js编写)

    卡里纳

    Carina是基于Selenium的流行的基于Java的测试自动化框架。 由于它不依赖于特定的技术堆栈,因此软件开发人员,质量保证和测试人员最多可以在70%的时间内在iOS和Android之间重用测试自动化代码。

    主要特点:

    • 将所有测试层(包括移动(本机和混合),Web应用程序,REST服务甚至数据库)组合到一个应用程序中
    • 支持理性和非理性数据库(MySQL,Oracle和SQL Server)
    • 利用FreeMarker模板引擎为测试人员提供极大的灵活性来生成REST请求

    盖伦

    Galen是可以运行的测试自动化框架。 Galen专门针对UX测试,提供了用于测试和验证移动或Web应用程序布局的特定语法。

    主要特点:

    • 使您可以指定浏览器窗口的大小以对布局规范进行测试
    • 用Galen语法,JavaScript或Java编写测试文件
    • 通过详尽的热图分析生成详细HTML报告

    测量

    Gauge是一种相对较新的测试自动化工具,具有轻巧和跨平台的特点。 它的优点在于它基于插件体系结构,因此可以与任何语言,IDE和生态系统一起使用。

    主要特点:

    • 提供简单的设置; 您可以使用单个命令启动并运行框架
    • 以简单的语言语法执行自动化文本
    • 通过多种扩展插件支持模块化架构
    • 用简单的Markdown创建文本文档,即没有任何特定的结构

    卡塔隆

    如果您正在寻找一个简单但面向细节的测试自动化框架,请考虑使用Katalon 它是一个开源测试框架,支持Web,移动和API自动化测试。

    主要特点:

    • 提供对多种脚本语言(包括Groovy和Java)的扩展支持
    • 支持Jira实施
    • 通过分析和记录Web操作并捕获关联的对象来自动生成测试脚本(类似于机器人流程自动化 (RPA))

    机器人框架

    如果您需要基于Python的测试自动化框架,那么Robot Framework不会出错。 尽管就接受测试驱动开发(ATDD)而言是通用的,但是Robot Framework被认为是软件开发人员和QA测试人员的成熟解决方案。 这个测试自动化框架的主要功能是其关键字驱动的方法来创建易于阅读和编写的测试。

    主要特点:

    • 提供API,通用文本库和工具的丰富集成
    • 测试多种内容,包括网站,FTP,MongoDB,Android,Apium等
    • 与Jython(Java)和IronPython(.NET)集成,即使它基于Python
    • 支持表格数据语法

    Selenium

    Selenium无疑是最流行的Web应用程序开源测试自动化框架。 因为它在多个操作系统之间具有交叉兼容性,所以您可以用多种语言编写测试脚本,这就是Selenium是众多测试工具和自动化框架的基础的原因之一。

    主要特点:

    • 由于集成了多种API和编码语言(包括Java,Python,.NET,C#,Ruby等),因此高度可定制
    • 与播放工具Selenium IDE集成在一起,可在不学习特定脚本的情况下进行测试创作
    • 跨平台,操作系统和浏览器兼容

    宁静

    Serenity (以前称为Thucydides)是一个基于Java的开源测试自动化框架,可帮助编写自动化的验收和回归测试。 如果您正在寻找一种易于与行为驱动开发(BDD)集成的工具,Serenity可能是自动执行软件测试的理想之选。

    主要特点:

    • 通过抽象样板代码促进编写BDD和Selenium测试
    • 使您能够在维持较低级别记录详细信息的同时,在较高级别上测试多个方案
    • 带有预先构建的功能,包括WebDriver管理,Jira集成,运行并行进程等

      测试项目

      如果您不熟悉软件测试自动化,并且正在寻求一个拥有强大社区的免费平台,那么Testproject.io肯定不会出错。

      它基于两个开源工具(Selenium和Appium)构建,其目标是吸引新测试人员,并允许他们使用常用的自动化操作运行测试。

      主要特点:

      • 支持多种语言,包括Python,JavaScript,Java,C ++等
      • 支持与全球测试人员无缝共享软件测试和API
      • 包括测试记录,全局自动化网格和自动化构件块在内的功能,以支持编程新手QA测试人员

      总结思想

      可用的开源测试自动化框架和工具如此之多,以至于不可能在一篇文章中列出所有这些。 这九种工具对我来说很突出,但请记住,并非所有工具和框架都是平等创建的。 这些框架和工具的亮点是对不同操作系统和不同脚本语言的支持。

      随着自动化测试越来越受到关注,新的挑战和机遇将浮出水面。 例如,AI, RPA和机器学习预计将在未来几年中显着增长。 因此,在您的业务中考虑自动化的好处和风险是明智的,包括测试自动化框架和RPA解决方案

      翻译自: https://opensource.com/article/20/7/open-source-test-automation-frameworks

      自动化 测试 框架 开源

      展开全文
    • 由于测试人员不足,同时也为了减少测试量,这两天写了一个接口自动化框架,主要由python3+unittest+ddt 来编写 主要完成的功能: 1、对webdriver进行了第二次的简单封装,使用更加方便 2、具有打印日志的功能,...

      由于测试人员不足,同时也为了减少测试量,这两天写了一个接口自动化框架,主要由python3+unittest+ddt 来编写

      主要完成的功能:

      1、对webdriver进行了第二次的简单封装,使用更加方便
      2、具有打印日志的功能,打印在控制台和文件中
      3、读取配置文件(.ini文件):
      4、具有发邮件的功能:
      5、生成测试报告:html测试报告的路径:
      6、使用了PageObject模式来编写测试脚本
      7、针对使用chrome浏览器,不打开浏览器,直接运行测试用例:
           用chrome-headless
      8、封装了接口常用的方法:get、post、delete等
      

       ==>其实这里面用到一些方法,与WebUI自动化有共通的(可以查看我写的UI自动化框架https://blog.csdn.net/wuyoudeyuer/article/category/7703177)
       

      接下来的几篇文章,我会详细上代码。

      ★源码传送门:https://github.com/carl-Ding/Selenium

       

      展开全文
    • 接口自动化框架设计

      千次阅读 2018-11-09 16:58:43
      先说说为什么设计接口自动化框架,框架这种东西一写就停不下来,因为你会发现有了框架之后测试就简单多了,越写越想要完美,简单到一个excel文件就可以跑完所有接口。没错,就一个excel文件,可能我比较懒吧,这样...

      先说说为什么设计接口自动化框架,框架这种东西一写就停不下来,因为你会发现有了框架之后测试就简单多了,越写越想要完美,简单到一个excel文件就可以跑完所有接口。没错,就一个excel文件,可能我比较懒吧,这样一劳永逸的东西何乐不为。下面简单介绍这个框架:

      1.框架设计介绍

      httpautotest使用的是java+testing+maven搭建的数据驱动自动化框架。Testng可用可以不用。这是一个为方便接口自动化测试的框架,接口数据从excel读取,数据设计开放性比较高,用户可根据测试需要,设置接口的运行环境,运行的组合等。

      框架运行数据逻辑是一次读取一个excel文件,一个sheet为一个组合,组合可设一个接口多种参数,也可设多个接口,这里不做限制,只要是一个接口的完整数据都可以运行,sheet内的接口会一一读取。还可以设置带业务流程的接口组合,支持设置不同接口之间的数据关联,也就是参数化。

      为方便接口数据的管理,域名和公共的请求头或参数都可以单独保存到sheet,需要修改的时候就不用一个个接口改数据了,注意sheet名称固定为“环境”、“请求头”、“公共参数”,以防错读取为接口。当然这些可设置可不设置,接口的sheet名称不限制。

      做接口自动化离不开登录的cookie或session的关联,这里做的比较人性化的一点是自动关联了cookie,不需要再设置,当然前提是第一个调用登录的接口获取cookie,一定得是第一个。你可能回想有几个不需要cookie的接口我可以放前面调用,需要cookie了我再调登录接口,注意你第一个调的接口虽然不需要cookie,但是它的结果数据是带他自己的cookie的,我会获取到他的cookie做为之后的接口cookie。当然我可以让用户设置在哪个地方取cookie,但不如第一个接口就登录来的痛快。

      框架支持设置检查点,会在请求结果中检查是否与设置的一致。

      框架的最后生成了接口运行日志和运行结果的html,结果包含统计接口成功失败数据和接口请求的详细数据,详情按组合展示了接口名、路径、参数、请求结果、检查点等。如果有需要,可以把结果自动发送邮件,这个功能在UI自动化的时候就写好了,这里直接用之前的方法。

      哦,还有对testng的使用,把数据处理成@DataProvider能用的objec,只需要一个@test,把所有接口都跑完。其实这个框架不使用testng会更好,因为我每个接口的方法不是独立的,不像UI自动化的测试用例一样每个功能有一个@Test,他的调用接口方法只有一个,所有的接口数据循环调用,且是分组合的记录结果,testng也能循环,但是只能一股脑把所有数据跑完了,分不清组合,日志也放一个文件,看起来费劲。

       

       

      2.框架使用介绍

      2.1 excel设置

      Excel的单元格只用到AB两格,第一列为名,第二列为值,其余可随意填,但是不作为框架数据。

      基本设置的sheet名称固定为“环境”、“请求头”、“公共参数”,可设置可不设置。当接口数据的sheet名称后添加“N”时,表示这个sheet不运行

      Excel格式为.xls,java的jxj值支持.xls

      例:

       

       

      2.2、环境

             格式:环境=域名

                      Method=请求方法

      请求方法可填项:

      jsonPost-json方式的post请求;

      post-post请求;

      get-get请求;

      postOfFile-上传文件的post请求。

                                        

      例:

       

      2.3、公共参数

             格式:参数名=参数值

             参数值可进行参数化,取值格式${参数名}

      例:

       

      2.4、请求头

             格式:请求头名=请求头值

      son格式的请求需要设置Content-Type=application/json,我在方法例已经加入了,所以要调用jsonPost的时候不需要再设置。

      postOfFile请求上传文件需要设置Content-Type=multipart/form-data,我也在方法例已经加入了,所以要调用postOfFile的时候不需要再设置。

      例:

       

      2.5、接口

             1、接口之间空一行隔开

             2、固定参数:httpname-接口名称;url-接口路径;check-检查点;method-请求方法;httpheader-请求头;parameterization-参数化提取值

      必填的参数是httpname和url。

      2.6、参数使用介绍

      url是去除环境里面的前置数据之后剩余的部分,如果填写完整的路径的话就覆盖掉前置数据;

      method、httpheader设置后就不再使用默认的设置,直接覆盖掉。请求头多个用;隔开;

      parameterization是从请求结果提取的值,格式为:调用的参数名=正则表达式,多个值用空格隔开,其他接口使用该值方法为${调用的参数名};

      check是检查点,个用;隔开;

      isRun判断是否运行这个接口,设置值为“N”,表示不运行,其他任何值都会运行;

      其他的参数就是接口的请求参数。

      例:

       

      2.7、运行结果报告

       

      2.8、最后可以集成到jenkins中,设置好测试数据,发布一次即进行一次接口自动化测试。

      注:截图的手机号是我瞎写的,不用去骚扰别人哦,代码我后面再更新。

      展开全文
    • 【接口自动化框架实践】1、IDEA + TestNG + Maven + spring接口自动化框架搭建 1、打开idea开发工具,在菜单栏选择File–>New–>Project…–>Maven,直接点击next 2、输入artifactId、artifactId以及...

      【接口自动化框架实践】1、IDEA + TestNG + Maven + spring接口自动化框架搭建

      1、打开idea开发工具,在菜单栏选择File–>New–>Project…–>Maven,直接点击next
      在这里插入图片描述
      2、输入artifactId、artifactId以及version,这里输入的会在pom.xml中体现
      com.autoTest
      autoTest
      1.0-SNAPSHOT
      在这里插入图片描述
      3、给工程命名,可以默认(默认为第二步中artifactId)
      在这里插入图片描述
      4、点击finish即完成新工程的新建工作,会生成如下工程
      在这里插入图片描述
      5、TestNG + Maven + spring环境框架,所以需要在pom.xml中引入spring依赖、testNg依赖,maven会自动导入下载,如下所示

      <properties>
          <spring.version>4.2.5.RELEASE</spring.version>
      </properties>
      
      <dependencies>
      
          <!-- spring的依赖 -->
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-jdbc</artifactId>
              <version>${spring.version}</version>
          </dependency>
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-test</artifactId>
              <version>${spring.version}</version>
          </dependency>
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-beans</artifactId>
              <version>${spring.version}</version>
          </dependency>
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-context-support</artifactId>
              <version>${spring.version}</version>
          </dependency>
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-core</artifactId>
              <version>${spring.version}</version>
          </dependency>
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-context</artifactId>
              <version>${spring.version}</version>
          </dependency>
          <!-- spring的依赖 -->
      
          <!-- testng的依赖 -->
          <dependency>
              <groupId>org.testng</groupId>
              <artifactId>testng</artifactId>
              <version>6.11</version>
          </dependency>
          <!-- testng的依赖 -->
      
      </dependencies>
      

      6、安装testng插件
      右键IntelliJ IDEA–》preferences
      在这里插入图片描述
      plugins中搜索test安装testNG
      在这里插入图片描述
      安装完成后,重启idea,右键项目-Create TestNG XML,但是这一步我没有找到Create TestNG XML

      7、第一个测试类
      src/test/java目录下新建测试类,代码如下

      package test;
      
      import org.testng.Assert;
      import org.testng.annotations.Test;
      
      public class TestngTest01 {
          @Test
          public void testcase1(){
              System.out.println("testcase1:这是一个测试不通过的case");
              Assert.assertTrue(false);
          }
          @Test
          public void testcase2(){
              System.out.println("testcase2:这是一个测试通过的case");
              Assert.assertTrue(true);
          }
      }
      

      即可运行测试类,得到测试结果

      展开全文
    • Appium自动化框架简介

      千次阅读 2018-03-27 14:22:22
      Appium Appium简介 Appium结构流程 Appium工作原理 Appium架构分析 Appium简介 ... 1.... 2.... 3.一个自动化框架不需要重复造轮子 4.一个自动化框架需要开源,在精神和实践上实现开源 appium扩...
    • python 自动化框架

      千次阅读 2017-02-04 17:05:00
      python 自动化框架 自己从2016年11月开始下定决心学习自动化,python ,现在每周进行一篇,自己的一些思路和遇到的一些问题,怎么解决的,下面是大致的一些目录框架,接下来会按照这个开始进行 1、打开浏览器 2...
    • 可能会利用一周的时间,我们来写一个Appium自动化框架的搭建, 从0到1,跟着小鱼一起,完善Android 的自动化框架体系。 框架模式:PO 语言:python3.7 + Appium 1.17 框架功能 ・业务功能封装 ・测试用例封装 ・测试...
    • 最近刚入职一家新公司,要求我们部门搭建一套自动化框架,看过很多网上的开源框架,包括Robot Framework、Pytest、UnitTest等,发现这些框架都不适合我司的业务要求,经过深思熟虑,我决定独自设计一套属于我们公司...
    • 测试自动化并不像某些人想象的那样容易或经济。仅应在必要和适用的情况下使用。而且,最重要的是,它不能替代手动测试。相反,它补充了手动测试。自动化框架和正确的测试自动化工具对于增强测试自动化...
    • iOS自动化测试之UI自动化框架调研

      千次阅读 2017-07-05 09:07:54
      有哪些可用的UI自动化框架? 他们的区别在哪里? 我们是如何选择的? 条件1:支持移动端app自动化 从以上对比其实已经可以比较明确的帮助大家做出自己的选择,从我所在的团队来讲,我们主要做的是移动端的UI自动...
    • 使用POM模型设计自动化框架,使代码分层管理,便于后期维护。 config用于存放配置文件及封装的类或函数,一般有复用的代码会进行封装,在编写代码时可减少代码冗余; Logs用于存放日志信息; pageElement用于存放...
    • 自动化框架到底是什么?

      千次阅读 2020-09-30 21:16:46
      微型,小型和中型企业(SME)使其测试过程自动化变得越来越必要,但是最关键的方面是选择正确的测试自动化框架。网上各式各样的介绍是否让你眼花缭乱?接下来,让我从实践出发,介绍一下什么是自动化测试框架。 ...
    • 自动化框架之断言

      千次阅读 2018-04-16 14:05:44
      自动化框架之断言断言的作用 一个自动化里面通常有至少一个甚至几个断言,断言就是检查点,是为了判断通过页面得到的结果是否符合预期。我这里使用TestNG的Assert API来做断言。 断言API 1.Assert.assertEquals ...
    • 本次给大家分享一个pc端的UI自动化框架,这个框架是数据驱动形式的,采用的思想是把测试数据和代码分离开,我们的测试数据都放到excel里,然后读取里面的值来获取。这样避免的测试数据和代码混合到一起,看着混乱。...
    • Windows C#自动化框架

      千次阅读 2016-01-25 21:08:50
      现利用C#实现的自动化框架图如下: 注:上面标红部分为未实现部分接下来,这些模块需进行抽象封装: 与数据库进行交互的函数 测试场景准备和清理:考虑到不同的场景之间肯定是不同的,计划使用interface规范 ...
    • 自动化框架及工具 1 概述 手续的关于测试的方法论,都是建立在之前的文章里面提到的观点: 功能测试不建议做自动化接口测试性价比最高接口测试可以做自动化 后面所谈到的 测试自动化 也将围绕着 接口自动...
    • 对于如何设计一个自动化框架之前,首先得清楚什么是自动框架,设计时有哪些是需要注意的,然后该怎么去做? 什么是自动化测试框架? 1、什么是框架? 特指为解决一个开放性问题而设计的具有一定约束性的支撑结构。...
    • 最近看了很多自动化相关的资料,加上自己的一些实践,算是对“框架”有了一些理解,这篇博客,就聊聊自动化框架的一些事吧。。。 一、什么是框架 框架(framework)是一个框子——指其约束性,也是一个架子——指...
    • Gtest自动化框架

      千次阅读 2011-04-07 14:09:00
      Gtest自动化框架 Gtest在CE下的应用
    • android自动化框架对比

      千次阅读 2015-09-02 10:49:13
      android自动化框架 MonkeyRunner,UiAutomator,Robotium,Appium MonkeyRunner: 首先MonkeyRunner 使用jython语言,在命令行中使用时会出现中文乱码,需要调整chcp 不支持多点触碰 脚本书写、执行、调试方便,...
    • Selenium,是目前的最火爆企业最主流的webUI自动化框架 pytest: pytest是一个非常成熟的全功能的Python测试框架,是unittest框架的扩展,主要特点有以下几点: 1、简单灵活,非常方便的组织自动化测试用例; 2、支持...
    • RF这个自动化框架原理

      千次阅读 2018-07-31 16:47:43
      RF这个自动化框架在很早的时候我就有看,不过当时被网络上坑爹的教程欺骗了,所有的网络教程写的都是用它的ride来编写脚本,局限性太大,当时也很懒,并没有去看官方文档,所以一直感觉这框架很无聊,不如直接去敲...
    • selenium+python 自动化框架总结【一】

      万次阅读 多人点赞 2018-08-24 15:56:20
      自动化框架一段时间了,断断续续,今天在这里回顾总结一下 整个测试过程是这样的:首先通过从外部文件中读取测试数据,测试对象元素,使用selenium在浏览器中模拟手工操作对系统进行必要的业务测试,测试完成后...
    • Api自动化框架分享

      千次阅读 2016-01-03 22:05:18
      今天给大家分享的是最近开发的一个API自动化框架: 可能确实有点Low,分享出来一方面是希望能给到大家帮助,二来希望得到一些意见来做一些完善~! 框架定位1,数据驱动 2,简单流程覆盖,快速迭代 3,组合Case不...
    • 这是千篇一律中的另一篇,操作步骤大同小异,小白不断试验,才能实践真理。 一、python下载载安装包,注意32位和64位安装包区别。我下载的是32位 2.7.6的,. 然后就是安装,默认安装到目录C:\Python27,然后将此...
    • webpack前端自动化框架搭建(一)

      千次阅读 2018-01-19 10:02:45
      webpack搭建前端项目的简单自动化框架
    • FAtest微信小程序自动化框架初探

      千次阅读 2018-11-22 13:02:55
      FAtest微信小程序自动化框架初探 一、FAT简介 微信H5、小程序、公众号,QQ公众号,H5等UI自动化测试框架,并由腾讯测试开发今年9月进行开源发布,开源地址:https://github.com/Tencent/FAutoTest 二、框架流程 ...
    • 查看我的另一博文:【Python】接口自动化测试:HttpRunner 自动化框架 —— 录制接口用例脚本 二、HttpRunner 测试用例的基本结构 (1)每个 YAML/JSON 文件对应一个测试用例(testcase)【1 个用例可以包含多个...
    • 接口自动化框架(Pytest+request+Allure) 前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱。接口自动化包含2个部分,功能性的接口自动化测试和并发...
    • 一、通过RequestsLibrary来进行接口自动化 二、RequestsLibrary关键字的介绍

    空空如也

    空空如也

    1 2 3 4 5 ... 20
    收藏数 36,630
    精华内容 14,652
    关键字:

    自动化框架