QTP自动化

来源:互联网 发布:手机上中文编程的软件 编辑:程序博客网 时间:2024/05/26 17:49
1.比较常见的自动化测试工具 QTP,RobotFrameWork,watir,Selenium.
2.java跨平台是因为Java虚拟机的存在,Java为不同的平台开发了不同的虚拟机
3.安装jdk会出现两次目录提醒,一次是安装jdk的目录,一次是安装jre的目录,

4.用eclipse来操作selemiun,他只是一个jar。并没有实际意义,

5相信有不少读者学习 Selenium 是从 Selenium IDE 开始的,做为嵌入在Firefox浏览器的一个小插件,
结合浏览器提供了脚本的录制、回放以及编辑脚本功能,可以帮助我们快速理解和学习自动化测试

结合浏览器提供了脚本的录制、回放以及编辑脚本功能,可以帮助我们快速理解和学习自动化测试 12.SIKULI是一个图形编辑软件,有屏幕截屏,插入图片,建立屏幕区域,运行。
13.整体上 sikuli 小巧、便捷、容易上手。sikuli 脚本可以不经过 API 的编译器直接自动化搜索到任何你能在屏幕上看到的东西
对各种程序都适合
不存在标准控件和非标准控件的问题
相对位置概念较小,要求不高(但是对象本身尺寸有影响)
一次编码,多次运行(基于 java 的) 7、jython 和 java 的支持,用编程的方式比较容易扩展
14.sikuli IDE 可以完成常见的单击、右击、移动到、拖动等鼠标操作,java 引用 sikuli-script.jar 同样可以执行这些常见的鼠标操作,
因此即可方便的编写 java 实现识别图片并模拟点击/拖动目标控件。
15.一个自动化测试框架就是一个集成体系,在这一体系中包含测试功能的函数库、测试数据源、测试对
象识别标准,以及种可重用的模块。自动化测试框架在发展的过程中经历了几个阶段,线性测试、模块驱
动测试、数据驱动测试、关键字驱动测试
16.通过上面的图中的脚本,我们发现它优势就是每一个脚本都是独立的,任何一个脚本文件拿出来就能
单独运行;当然,缺点也很明显,用例的开发与维护成本很高:
一个用例对应一个脚本,假如登陆发生变化,用户名的属性发生改变,不得不需要对每一个脚本进行
修改,测试用例形成一种规模,我们可能将大量的工作用于脚本的维护,从而失去自动化的意义。
这种模式下数据和脚本是混在一起的,如果数据发生变也需要对脚本进行修改。这种模式下脚本的没
有可重复使用的概念
17.为了节省时间,优化代码,我们会把公共方法代码写成一个模块进行代码的共享
18.CVS[1]  是一个C/S系统,是一个常用的代码版本控制软件。主要在开源软件管理中使用。
与它相类似的代码版本控制软件有subversion。多个开发人员通过一个中心版本控制系统来记录文件版本,
从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,
主要用于在多人开发环境下的源码的维护。但是由于之前CVS编码的问题,

现在大多数软件开发公司都使用SVN替代了CVS

25.什么是单元测试?单元测试负责对最小的软件设计单元(模块)进行验证,它使用软件设计文档中对
模块的描述作为指南,对重要的程序分支进行测试以发现模块中的错误。在 Java 语言下有 Junit 和 TestNG
两个单元测试框架,其中 Junit 单元测试框架诞生较早,是 xunit 系列的单元测试框架的始祖,奠定了单
元测试框架的思想与模型
26.int z=new count().add(3,5);
assertEquals(z,8);
27。@ Test:测试方法
(A) (expected=XXEception.class)
(B) (timeout=xxx)
@ Ignore: 被忽略的测试方法
@Before: 每一个测试方法之前运行。
@After : 每一个测试方法之后运行。
@BefreClass 所有测试开始之前运行。
@AfterClass 所有测试结果之后运行
28。单元测试用例:
 assertArrayEquals(Expecteds,actuals)
assertEquals(expected,actual)
assertNotEquals(first,second)
等等


29
批量执行测试用例的两种方法:
1.这种方式非常简单,不需要额外多写一行代码,eclipse 本来就支持以项目或包为单位来批量执行测
试用例。
右键点击项目--->Run As--->Run Configurations。
这种方法引入一种“测试套件”的概念,JUnit 提供了一种批量运行测试类的方法,叫测试套件。
测试套件的写法需要遵循以下原则:
1. 创建一个空类作为测试套件的入口;
2. 使用注解 org.junit.runner.RunWith 和 org.junit.runners.Suite.SuitClasses 修饰这个空类
3. 将 org.junit.runners.Suite 作为参数传入给注解 RunWith,以提示 Junit 为此类测试使用套件运
行器执行。
4. 将需要放入此测试套件的测试类组成数组作为注解 SuiteClasses 的参数
5. 保证这个空类使用 public 修饰,而且存在公开的不带任何参数的构造函数
下面在测试包(com.junit。test)下面创建一个测试类,内容如下
30.est case
一个 TestCase 的实例就是一个测试用例。什么是测试用例呢?就是一个完整的测试流程,包括测试
前准备环境的搭建(setUp),实现测试过程的代码(run),以及测试后环境的还原(tearDown)。元测试(unit
test)的本质也就在这里,一个测试用例是一个完整的测试单元,通过运行这个测试单元,可以对某一个
功能进行验证。
test suite
对一个功能的验证往往是需要多测试用例的,可以把多的测试用例集合在一起执行,这就产生了测试
套件 TestSuite 的概念,它用来组装单个测试用例,而且 TestSuite 也可以嵌套 TestSuite。
可以通过@SuiteClasses 加载 TestCase 到 TestSuite 中,再返回一个 TestSuite 实例。
test runner
@RunWith 是来执行测试套件中的测试用例的。测试的结果会保存到 TestResult 实例中,包括运行了
多少测试用例,成功了多少,失败了多少,以及每条用例的耗时等信息。《Selenium2 Java 自动化测试实战》
189
test fixture
对一个测试用例环境的搭建和销毁,是一个 fixture,通过覆盖 TestCase 的 setUp()和 tearDown()
方法来实现。这个有什么用呢?比如说在这个测试用例中需要访问数据库,那么可以在 setUp()中建立数
据库连接以及进行一些初始化,在 tearDown()中清除在数据库中产生的数据,然后关闭连接。注意 tearDown
的过程很重要,要为以后的 TestCase 留下一个干净的环境
31.testNG是在testuint上面进化而来的一种框架
32.@BeforeSuite 注解的方法将只运行一次,运行所有测试前此套件中。
@AfterSuite 注解的方法将只运行一次此套件中的所有测试都运行之后。
@BeforeClass 注解的方法将只运行一次先行先试在当前类中的方法调用。
@AfterClass 注解的方法将只运行一次后已经运行在当前类中的所有测试方法。
@BeforeTest 注解的方法将被运行之前的任何测试方法属于内部类的 <test>标签的运行。
@AfterTest 注解的方法将被运行后,所有的测试方法,属于内部类的<test>标签的运行。
@BeforeGroups
组的列表,这种配置方法将之前运行。此方法是保证在运行属于任何这些组第一个测试方法,
该方法被调用。
@AfterGroups
组的名单,这种配置方法后,将运行。此方法是保证运行后不久,最后的测试方法,该方法
属于任何这些组被调用。
@BeforeMethod 注解的方法将每个测试方法之前运行。
@AfterMethod 被注释的方法将被运行后,每个测试方法。
@DataProvider
标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个 Object[] [],其中
每个对象[]的测试方法的参数列表中可以分配。
该@Test 方法,希望从这个 DataProvider 的接收数据,需要使用一个 dataProvider 名称
等于这个注解的名字。
@Factory
作为一个工厂,返回 TestNG 的测试类的对象将被用于标记的方法。该方法必须返回
Object[]。
@Listeners 定义一个测试类的监听器。1.火狐33是可以成功安装插件的
2.about:config 可以设置插件的安装、
3.火狐安装的时候会覆盖原来版本的浏览器,
并要求关闭原来浏览器
4selenium搞好之后会在插件里面显示的,之后在导航栏里面
显示出来
5.打开selenium之后输入url在地址栏里面输入地址,
然后点击红色的圆圈开始录制
6.一般来说破解吧指的是一个软件,设置路径。
7.整个测试流程:
  7.1录制好脚本,导出脚本
  7.2配置好Java和webdriver环境,
  7.3导入项目运行即可
8.火狐浏览器是自带驱动的,但是Google是没有驱动的
9.把浏览器的路径和elisse设置到同一个盘符里面。
@Parameters 介绍如何将参数传递给@Test 方法。
@Test 标记一个类或方法作为测试的一部分

1,接口测试一般使用postman,当请求的参数抽选了错误,会出现提示,关键词测试,
空值测试,长度测试,错误测试。安全测试:cookie测试,header测试,
2.fiddler是一个很好的咋报工具
3.postman主要用来做接口测试,





原创粉丝点击