关于测试框架搭建的详细过程,会在另一篇文章中详细介绍:http://www.cnblogs.com/leeboke/p/6145977.html 摘 要 目前基于Jmeter的接口自动化测试框架,大多只实现脚本维护和自动调度,无法与Testlink进行互通,实现测试方案与自动化实施流程连接,本文基于Testlink.Jmeter.Jenkins实现:通过Testlink统一维护接口自动化测试用例,Jmeter编写和运行测试脚本,Jenkins实现统一调度,并返回执行结果和测试报告到Testlin…
一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.Selenium WebDriver 和Selenium Grid. Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并把录制的操作以多种语言(例如java.python等)的形式导出成测试用例. Selenium WebDriver:提供Web自动化所需的API,主要用作浏览…
今天我们来讲一下基于Python的HTTP接口自动化测试框架的实现,范例如下: 一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 eg:http://xxx.com/xxx_product/test/content_book_list.jsp?listid=1 二.实现方法 1.选用Python脚本来驱动测试 2.采用Excel表格管理测试数据,包括用例的管理.测试数据录入.测试结果显示等等,这个需要封装一个Excel的类即可.…
关于基于python 2.7的unity自动化测试框架GAutomator测试环境的搭建 百度云盘链接(思维图学习资料):https://pan.baidu.com/s/1dFWExMD 准备工作(具体操作步骤度娘知道): 1. 安装java jdk 2. 配置java jdk环境变量 3. 安装Android jdk(嫌麻烦直接下载:Android Studio安装,大约1.8g) 4. 配置Android jdk环境变量 5. 安装和配置好python开发环境 框架搭建(建议使用pychar…
对于自动化测试,尤其是UI的自动化测试.是很多做黑盒功能测试的同学,入门自动化测试一个最为直观的或者说最容易理解的途径之一. 对于手工测试和自动化测试的优劣,网上有很多论述,在这里不作展开讨论.但是,让测试人员解放生产力,提高效率,把精力关注与最为重要的核心业务逻辑与测试设计上,是每个测试团队所必需要关注的.因此,在适当的范围内开展自动化测试,是可以提高整个测试团队的生产率的. 对于Selenium,这个东西是一个浏览器应用程序测试工具.之所以选择它做WebUI的自动化测试主要是因为它有以下两大…
到目前为止,我们所写的东西,都是集中在如何使用Selenium和Java来定位和读取元素.那么,到底如何具体开展测试,如何实现参数化,如何实现判定呢?下面,我们来看看Java应用程序的测试框架吧. 当前比较流行的Java应用程序测试框架有JUnit和TestNG两种, 从上图可以看到,相对于JUnit4来说,TestNG更具竞争优势,功能完备.而且,从实际使用的角度来说,参数化的设置及功能,以及处理有上下依赖关系的测试时,JUnit测试框架有着明显的劣势.因此,我们在这里着重学习TestNG框架…
我们继续回到自动化测试框架的主线上来,在前面的文章中,我们定义一个页面元素的主要参数有:路径,找寻方式,等待时间,名称,这个四个参数.另外,我们还需要考虑一个问题,就是网站的页面. 举个例子来说,如果A页面上有“新增”,“选择”,“保存”等按钮,B页面上也有“新增”,“选择”,“保存”等按钮,我们应该如何处理这种情况呢? 当然,有的小伙伴可能会说,我就直接命名为“新增A”,“选择A”,“保存A”,“新增B”,“选择B”,“保存B”就是了.这样当然是可以的. 但是,在维护自动化脚本的时候,你就会发…
前言 软件开发的V模型大家都不陌生,其中测试阶段分为单元测试→功能测试→系统测试→验收测试.其中单元测试一般由开发同学们自己完成,大部分测试具体实施(这里不包括用例设计)是从单体功能测试开始着手的. 如果测试一个功能,发现主流程无法走下去,也就是接口不通,这时再打回去开发手里继续改,改了之后再来,一来一回甚至多个来回比较浪费时间,本着提高测试效率,促进开发和测试的关系(哈哈,邪恶),那么就引入了一个叫接口测试的神器↓↓↓ 从理解上来说,接口测试主要分为两类:代码层接口测试和Web HTTP接口测…
大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件:Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具.将这三者结合起来可以搭建一套Web HTTP接口测试的持续构建环境,实现接口自动化测试,pc系统是Windows. 1.安装就jmeter 1.1.下载安装包(过程略过,自己找安装包,随便装在哪个目录下) 1.2.配置环境变量       JMETER_HOME 为 jemter安装路径; CLASSPATH为 %JMET…
搭建这个性能测试框架是希望能够让每个人(开发人员.测试人员)都能快速的进行性能测试,而不需要关注性能测试环境搭建过程.因为,往往配置一个性能环境可能需要很长的时间. 1.性能测试流程 该性能测试框架工作的流程主要有:触发测试–>部署测试脚本–>部署被测系统–>Jmeter打压–>被测系统日志分析,5个阶段. 体现在Jenkins上,就是下面这个jenkins 的MultiJob Project--Performance-test-jobs: 注意:在选择Performance-te…
搭建这个性能测试框架是希望能够让每个人(开发人员.测试人员)都能快速的进行性能测试,而不需要关注性能测试环境搭建过程.因为,往往配置一个性能环境可能需要很长的时间. 1.性能测试流程 该性能测试框架工作的流程主要有:触发测试–>部署测试脚本–>部署被测系统–>Jmeter打压–>被测系统日志分析,5个阶段. 体现在Jenkins上,就是下面这个jenkins 的MultiJob Project——Performance-test-jobs: 注意:在选择Performance-te…
UiAutoTest 一.概要 数据驱动的Ui自动化框架 二.环境要求 框架基于Python3 + unittest + appium 运行电脑需配置adb.aapt的环境变量,build_tools版本建议选择28及以上 配置appium环境,并确保appium版本1.9及以上 目前只支持安卓手机,建议使用安卓7.0及以上设备 运行时候,电脑只能同时连接一台测试机 三.框架结构和原理 3.1 框架原理 框架结构设计分为四层,自下而上分别为:基础工具类Base层.页面操作PageObject层.…
前面,我们讲了如何使用POI进行Excel的“按需读取”.根据前面我们写的BasePageX,我们可以很轻松的写出来基于这个“按需读取”的BasePage. package webui.xUtils; import java.awt.AWTException; import java.awt.Robot; import java.awt.event.InputEvent; import java.util.HashMap; import org.openqa.selenium.WebDriver…
之前,我们使用了读取XML文件的方式来实现页面元素的读取,并做成了基础页面类.下面,我们来进行一些扩展,通过Excel来读取页面元素. Excel的使用,大多数人应该都不陌生.那么Java读取Excel的方式主要有两种,这两种分别使用的是不同的jar包来实现.本篇我们来介绍其中的一种,即使用JXL的jar包,实现Excel文件的读取. 在项目中导入jar包:jxl-2.6.12.jar  下载地址:https://mvnrepository.com/artifact/net.sourceforg…
本篇我们来讨论,如何写一个浏览器初始化的类.在写之前,先思考一下,我们需要一个什么样的初始化? 先来看看使用原生的Java + selenium是怎么做的.(以firefox为例) System.setProperty("webdriver.gecko.driver", "c:\\geckodriver.exe"); driver = new FirefoxDriver(); 上面是个典型的例子,System.setProperty("webdriver驱…
基于上一篇的内容,这里我们开始写监听类Listener.我这里写监听类的思路是,继承TestListenerAdapter这个类,然后对其中的方法进行重写.网上也有很多资料,建议先学习一下,然后写出来. package webui.xUtils; import org.openqa.selenium.WebDriver; import org.testng.ITestContext; import org.testng.ITestResult; import org.testng.Reporte…
在有了Position类和接口类之后,我们是不是立刻就要着手开始写实现类了呢?按照一般的顺序是这样.但是,我们这里先停一下.原因有二: 1)既然是写一个框架,我们希望总体的功能上是全面的.实现类中,我们需要设计和实现各种具体的操作方法.那么,如果中间出了问题,我们希望能够有所记录(log),所以需要有一个Log类. 2)既然是需要记录,我们希望能够在每次测试的测试报告中,体现该次测试操作的记录.那么,就需要对所做的测试进行监听,所以我们也需要一个监听(Listener)的类. 在写log类之前,…
今天的文章讲iOS的Appium环境搭建. 对于iOS而言,只能在Mac笔记本上安装Appium,以及所需要的各种组件. 也许有人会问,能否在Windows系统上使用Appium测试iOS手机,这不就不用花钱买Mac了吗?答案是不可以,因为Appium的本质是把我们编写的自动化测试脚本,翻译成Mac中UIAutomator的脚本,所以只能Mac来做,Windows系统搞不定.但是,你可以装黑苹果来解决这个问题. 我们这篇文章不提黑苹果,而是介绍怎么在mac笔记本上安装能运行iOS自动化测试的ap…
上一篇我们讲了怎么利用Java的反射机制,将Excel的读取到的数据,赋值给我们构造函数中定义的变量. 接下来就简单了,我们将实际实现这个读取的简单过程.来看下面一段代码. private static <T> List<T> transToObject(Class<T> clz,Workbook xssfWorkbook, String sheetName) throws InstantiationException, IllegalAccessException,…
上一篇说了利用JXL的jar包来读取Excel的代码.在Java中,还可以用另外一种jar包来读取Excel的内容,那就是Apache的POI. 这里和之前一样,需要导入POI的jar包,建议导入这三个:poi-4.0.0.jar,poi-ooxml-4.0.0.jar,poi-ooxml-schemas-4.0.0.jar, 下载地址:https://mvnrepository.com/search?q=POI 我们先从最小的概念开始,读取一个Cell,即Excel中一个“格子”的内容. pr…
上篇我们写了java读取xml文件的类,实现了可以从xml文件读取元素的方式.那么,接下来我们需要考虑一个问题.我们拿了这些元素之后怎么去操作呢? 先来看看我们手工测试的时候是怎么进行的. 双击浏览器,打开网站(浏览器初始化),然后在打开的网页上进行一些操作(比如输入,点击什么的).假如,我们根据每个页面来写一个类,这样的话如果有几百个页面,我们就要封装几百个类,这样做也是非常的麻烦和复杂!,也不利于自动化脚本的维护. 进一步想想,其实我们在每个页面上所做的操作也就那么几种.(输入文字,点击,得…
在上一篇我们讲了关于WebDriver的版本,浏览器初始化,以及下载的设定. 在设置IE浏览器进行WebDriver的测试时,通常会遇见以下几种错误: 1.没有关闭IE浏览器的保护模式. 当运行测试用例后出现类似以下内容的错误: Exception in thread "main" org.openqa.selenium.remote.SessionNotFoundException: Unexpected error launching Internet Explorer. Prot…
在编写完Log类和监听类之后,终于要回到正轨上来了.我们继续开始写UIExcutor的实现类. PS:如果你想让你的报告更加美观一些.推荐使用reportNG这个jar包. 在项目中导入reportng-1.1.5.jar,这个jar包网上可以找到.可是具体在哪里下载的我也忘了.....这里先提一下,到后面我们再来详细的说明. 还记得我们之前写过的UIExcutor的接口吗?我们在这里需要一个一个的实现接口中的方法.(一个都不能少!) package webui.xUtils; import j…
在有了基础的Position类之后,我们需要考虑我们在寻找完页面元素之后,需要做什么.这个“做”什么,可以理解为我们在页面上需要对应的一系列动作.比如:点击,输入,切换窗口,寻找元素,判断元素是否存在,智能等待,获取弹窗文字等等.在实际的测试中,我们需要用这一系列的动作来完成测试操作. 在这里,我们使用接口+接口实现类的方式来完成这里的编写.这是因为我们可以随时增加接口的内容,然后在实现类中通过代码去实现.通过Java的继承特性,我们需要把写在接口里的方法一个个具体实现,从而保证不会漏掉. pa…
背景 公司计划推接口和性能测试,搭建这个性能测试框架框架是希望能够让每个人(开发人员.测试人员)都能快速的进行性能,接口测试,而不需要关注性能测试环境搭建过程.因为,往往配置一个性能环境可能需要很长的时间. 该框架搭建 基于Jmeter和Jenkins搭建性能测试框架 和 jenkins+ANT+jmeter 接口测试环境搭建 演化过来. Jmeter GUI上制定测试计划 Thread Group 用函数__P()设置属性名和默认值的形式设置这三个属性,以方便在使用no-GUI模式启动Jmet…
背景简介 在软件开发领域,持续集成和部署对于软件测试自动化提出了越来越高的要求,基于 Eclipse 应用在这一需求中仍然占据重要的组成部分.目前主流的测试自动化工具主要以录制回放的功能为主,辅助以脚本的方式实现.然而,基于此的测试方法往往具有测试用例维护复杂,测试过程容易失败的问题,这直接影响了测试效率.SWTBot 作为 Eclipse 官网推荐的自动化测试工具,提供了专业的类库以及扩展点,在 Eclipse 应用的自动化测试中具有先天的优势. SWTBot 是基于 Eclipse SWT…
声明:原文出自"前端之巅"微信公众号"爱奇艺基于AI的移动端自动化测试框架的设计"一文,作者:何梁伟,爱奇艺Android架构师.文章提供了一种基于AI算法的自动化测试框架AIon,该框架并未开源,目前搜索不到相关资料,但从作者的设计思路上很受启发. 理想种的移动UI自动化框架: 易于开发和维护 稳定性 执行效率 跨平台 跨应用 支持Hybrid(混合应用) 传统的UI自动化框架(UIAutomator.Espresso.appium等),或多或少在这些方法做的不够…
基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0   by:授客 QQ:1033553122     博客:http://blog.sina.com.cn/ishouke   欢迎加入软件性能测试交流QQ群:7156436  框架功能简介 1.框架集成了Testlink,可使用Testlink灵活对测试项目,测试计划,测试用例进行管理   2.可通过配置文件灵活配置运行模式: l  支持按测试项目运行:一次运行单个.多个指定的项目或者全部项目: l  支持按测试…
基于python+Testlink+Jenkins实现的接口自动化测试框架[V2.0改进版]   by:授客 QQ:1033553122 由于篇幅问题,,暂且采用网盘分享的形式: 下载地址: [授客]基于python+Testlink+Jenkins实现的接口自动化测试框架[V2.0改进版] 提取密码: 94tf 如果打不开链接,烦请联系作者…
基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0 目录 1. 开发环境2. 主要功能逻辑介绍3. 框架功能简介 4. 数据库的创建 5. 框架模块详细介绍6. Testlink相关配置与用例管理a) API相关配置b) 项目相关配置c) 用例管理① 步骤动作和预期结果填写规范② 参数化③ 用例执行依赖④ 禁用用例7. 运行结果8. 源码下载9. 说明 1.开发环境 win7\Windows Server 2008 R2 x64 PyCharm 4.0.5 set…