精华内容
下载资源
问答
  • 前面一篇,我们大概了解了什么是关键字驱动框架和它的优点。这篇,我们就来介绍搭建这个关键字驱动框架的步骤的第一个步骤。我把这个过程分成12个步骤:1.自动化实现一个端对端的流程2.区分和实现动作关键字3.设置...

    前面一篇,我们大概了解了什么是关键字驱动框架和它的优点。这篇,我们就来介绍搭建这个关键字驱动框架的步骤的第一个步骤。

    我把这个过程分成12个步骤:

    1.自动化实现一个端对端的流程

    2.区分和实现动作关键字

    3.设置数据引擎-Excel 表

    4.实现java反射类

    5.设置Java常量,一些固定数据

    6.设置元素对象仓库文件

    7.设置测试套件执行引擎

    8.设置日志输出模块,例如log4j

    9.设置框架中异常处理

    10.设置测试结果报告输出

    11.设置数据驱动

    12.完成框架,交付给手工测试人员

    下面我们来介绍如何实现第一个步骤:自动化实现一个端对端的流程

    什么是端对端流程呢,这里举例一个电商网站场景,你就明白什么是端对端:

    1.登录系统

    2.选择商品

    3.添加商品到购物车

    4.检查支付页面

    5.完成支付过程

    6.支付完成后检查订单页面

    这就是一个用户和网站交互的过程,用户是一段,服务器是另外一端。

    环境搭建前提条件:

    1.安装过java jdk。

    2.找一个JAVA IDE软件,例如eclipse 或者IntelliJ IDEA

    3.IDE上配置好Selenium环境

    这些在我博客都有相关文章介绍,这里就不再啰嗦。

    以下步骤,在Intellij IDEA上完成。

    1) 新建一个SeleniumKeywordDriverFramework的java工程

    2) 在src下,点击右键,新建包,包名称为executionEngine

    3) 在包executionEngine下新建一个class文件,名称为DriverScript

    我的IDEA上项目结构如下图

    6abdb5556601d0bb70e8c5e6b17eef17.png

    文件DriverScript.java内容如下,我这里就是百度登录举例,上面步骤是电商网站下单,这个脚本不重要,能模拟点击和输入就行。

    package executionEngine;

    import org.openqa.selenium.By;

    import org.openqa.selenium.WebDriver;

    import org.openqa.selenium.WebElement;

    import org.openqa.selenium.chrome.ChromeDriver;

    import java.util.concurrent.TimeUnit;

    /**

    create by Anthony on 2018/1/30

    */

    public class DriverScript {

    private static WebDriver driver = null;

    public static void main(String[] args) throws InterruptedException {

    System.setProperty("webdriver.chrome.driver",".\\libs\\chromedriver.exe");

    driver = new ChromeDriver();

    driver.manage().window().maximize();

    driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);

    driver.get("https://www.baidu.com");

    Thread.sleep(2000);

    // 点击登录链接

    driver.findElement(By.xpath(".//*[@id='u1']/a[text()='登录']")).click();

    // 点击账号密码登录

    driver.findElement(By.id("TANGRAM__PSP_10__footerULoginBtn")).click();

    driver.findElement(By.id("TANGRAM__PSP_10__userName")).sendKeys("xxxxx");

    driver.findElement(By.id("TANGRAM__PSP_10__password")).sendKeys("xxxxx");

    driver.findElement(By.id("TANGRAM__PSP_10__submit")).click();

    }

    }

    下一篇介绍设计和识别动作关键字的实现过程。

    如果您还想获得更多关键字驱动自动化框架相关的知识,欢迎大家关注扫描关注我的公众号,这是一个分享知识和经验的群落,期待你的加入哦!

    展开全文
  • 关键字驱动框架入门教程-10-异常处理-附件资源
  • 什么是关键字驱动框架

    千次阅读 2018-03-19 20:37:15
    什么是关键字驱动框架? 关键字驱动框架是一种功能自动化测试框架,它也被称为表格驱动测试或者基于动作字的测试。关键字驱动的框架的基本工作是将测试用例分成四个不同的部分。首先是测试步骤(Test Step),二是...

    什么是关键字驱动框架?

        关键字驱动框架是一种功能自动化测试框架,它也被称为表格驱动测试或者基于动作字的测试。关键字驱动的框架的基本工作是将测试用例分成四个不同的部分。首先是测试步骤(Test Step),二是测试步骤中的对象(Test Object),三是测试对象执行的动作(Action),四是测试对象需要的数据(Test Data)。

    以上四个部分,都可以使用Excel表格进行维护:

        Test Step:是一个小的测试步骤的描述或者测试对象的一个操作说明。

        Test Object:是指页面对象或元素,就像用户名、密码,

        Action:指页面操作的动作,打开浏览器,点击一个按钮,文本框输入一串文本等。

        Test Data:是任何对象操作时所需要的值,就像用户名、密码进行输入时的输入内容。

     

        其实我们做关键字的驱动的思想,就是把编码从测试用例和测试步骤中分离出来,这样对于不会编码的人员更容易理解自动化,从而让手工测试人员也可以编写自动脚本。(这并不意味这不需要自动化测试人员,对于自动化框架的构建,自动化代码的更新,结构调整等都需要一个技术性的人员)对于测试小的项目的团队,可以有两个手工测试人员和一个自动化测试人员。

     

        通过一个简单的登录功能例子来理解这个概念,想想看你的自动化流程需要做哪些事情:

    1. 打开一个浏览器

    2. 输入url跳转到网站首页

    3. 点击“登录”链接,进入登录页面

    4. 输入“用户名”

    5. 输入“密码”

    6. 点击“登录”按钮,进行登录

    7. 点击“注销”按钮,退出登录

    8. 关闭浏览器 

    下面是我们将要去实现的一些通用组件:

    1. Excel Sheet: 是我们存放测试用例(Test Case)、测试步骤(Test Step)、测试对象(Test Object)和操作动作(Action)的关键字驱动数据表。

    2. Object Repository: 是个属性文件,用来存放HTML应用中的一些元素属性(可看做元素的对象仓库),该文件与测试对象进行链接。

    3. Keyword Function Library: 这是一个方法库文件,这个组件在关键字驱动框架中起着很重要的作用,它主要存放执行的Action,每一个操作动作都可以从这个文件中调用。

    4. Data Sheet: Excel表格存储,测试对象在执行操作时所需要的数据值。

    5. Execution Engine: 是唯一的测试脚本,它包含了所有的代码,通过关键字框架从Excel表格、方法库、属性文件中进行推动测试。

     下面图片展示了关键字框架的通用工作流程:


        一般的关键字驱动工作流程大概都是这个样子的。

     

    • Execution Engine starts the test and connect with the bundle of test cases and start executing one by one

    (使用 Execution Engine 启动测试用例包,启动一个执行一个。)

    • Once Test Case is picked, linked test steps are followed sequentially

    (一旦测试用例被选中,就会链接测试步骤顺序执行

    • Test Steps are further connected with Page ObjectsActions Test Data

    (测试步骤会进一步链接页面对象,操作动作和测试数据)

    • Once Execution Engine gets all the required info to perform a test step, it connects with application and do the step.

    (一旦Execution Engine获取到执行测试步骤所需的所有信息,他就会连接应用程序执行步骤

    优势

    1. 不需要太多的技术:一旦框架建立,手工测试人员和非技术人员都可以很容易的编写自动化测试脚本。

    2. 简单易懂:它存在Excel表格中,没有编码,测试脚本容易阅读和理解。关键字和操作行为这样的手工测试用例,使它变得更容易编写和维护。

    3. 早期介入:可以在应用未提交测试之前,就可以建立关键字驱动测试用例对象库,从而减少后期工作。使用需求和其它相关文档进行收集信息,关键字数据表可以建立手工测试程序。

    4. 组件的重用性:实施关键字驱动的模块化,进一步提高可重用性。

    5. 代码的重用性:作为关键字驱动框架中,只有一个执行引擎,它是鼓励极端的代码的复用。

     

     

    基于关键字的Demo(Python版本):

    https://coding.net/u/tsbc/p/Keyword-for-selenium/git

     


    原文来自toolsqa,这里只做了翻译:

    http://www.toolsqa.com/selenium-webdriver/keyword-driven-framework/introduction/


    展开全文
  • 前面一篇,我们大概了解了什么是关键字驱动框架和它的优点。这篇,我们就来介绍搭建这个关键字驱动框架的步骤的第一个步骤。   我把这个过程分成12个步骤:   1.自动化实现一个端对端的流程 2.区分和实现动作...

           前面一篇,我们大概了解了什么是关键字驱动框架和它的优点。这篇,我们就来介绍搭建这个关键字驱动框架的步骤的第一个步骤。

     

    我把这个过程分成12个步骤:

     

    1.自动化实现一个端对端的流程

    2.区分和实现动作关键字

    3.设置数据引擎-Excel 表

    4.实现java反射类

    5.设置Java常量,一些固定数据

    6.设置元素对象仓库文件

    7.设置测试套件执行引擎

    8.设置日志输出模块,例如log4j

    9.设置框架中异常处理

    10.设置测试结果报告输出

    11.设置数据驱动

    12.完成框架,交付给手工测试人员

     

    下面我们来介绍如何实现第一个步骤:自动化实现一个端对端的流程

     

    什么是端对端流程呢,这里举例一个电商网站场景,你就明白什么是端对端:

    1.登录系统

    2.选择商品

    3.添加商品到购物车

    4.检查支付页面

    5.完成支付过程

    6.支付完成后检查订单页面

     

    这就是一个用户和网站交互的过程,用户是一段,服务器是另外一端。

     

    环境搭建前提条件:

    1.安装过java jdk。

    2.找一个JAVA IDE软件,例如eclipse 或者IntelliJ IDEA

    3.IDE上配置好Selenium环境

    这些在我博客都有相关文章介绍,这里就不再啰嗦。

     

    以下步骤,在Intellij IDEA上完成。

    1)  新建一个SeleniumKeywordDriverFramework的java工程

    2)  在src下,点击右键,新建包,包名称为executionEngine

    3)  在包executionEngine下新建一个class文件,名称为DriverScript



     我的IDEA上项目结构如下图


    文件DriverScript.java内容如下,我这里就是百度登录举例,上面步骤是电商网站下单,这个脚本不重要,能模拟点击和输入就行。

    package executionEngine;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    
    import java.util.concurrent.TimeUnit;
    
    /**
     * create by Anthony on 2018/1/30
     */
    public class DriverScript {
    
        private static WebDriver driver = null;
    
        public static void main(String[] args) throws InterruptedException {
    
            System.setProperty("webdriver.chrome.driver",".\\libs\\chromedriver.exe");
            driver = new ChromeDriver();
            driver.manage().window().maximize();
            driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);
            driver.get("https://www.baidu.com");
            Thread.sleep(2000);
    
            // 点击登录链接
            driver.findElement(By.xpath(".//*[@id='u1']/a[text()='登录']")).click();
    
            // 点击账号密码登录
            driver.findElement(By.id("TANGRAM__PSP_10__footerULoginBtn")).click();
    
            driver.findElement(By.id("TANGRAM__PSP_10__userName")).sendKeys("xxxxx");
            driver.findElement(By.id("TANGRAM__PSP_10__password")).sendKeys("xxxxx");
            driver.findElement(By.id("TANGRAM__PSP_10__submit")).click();
    
        }
    }
    

    下一篇介绍设计和识别动作关键字的实现过程。

     

    展开全文
  • 关键字驱动框架入门教程-1-介绍

    千次阅读 2018-01-29 22:50:50
    之前在群里,看到很多人在讨论关键字驱动框架,我之前有使用过别人写的关键字驱动框架的经历,其实我是比较不喜欢这个框架的,它更多少是作为一个开发或者测试开发人员,开发的一个框架或者工具,目的是让不懂代码的...

            之前在群里,看到很多人在讨论关键字驱动框架,我之前有使用过别人写的关键字驱动框架的经历,其实我是比较不喜欢这个框架的,它更多少是作为一个开发或者测试开发人员,开发的一个框架或者工具,目的是让不懂代码的黑盒测试人员去快速编写测试脚本。刚好,我在toolsqa.com看到了这个关键字驱动的教程,所以,这里我把它翻译过来,加上一部分我自己的理解。希望大家也可以通过这个教程,知道什么是关键字驱动框架,如何设计一个简单的关键字驱动自动化测试框架。


    什么是关键字驱动框架?

           关键字驱动框架(Keyword Driven Framework)是功能自动化测试框架的一种,有时候也叫表驱动测试(Table-Driver)或者基于动作词语框架(Action Word based)。我在博客里介绍的基于POM思想的Selenium的自动化测试框架,本系列的关键字驱动框架的思想就是关键字驱动,基本的实现原理是:在关键字驱动框架中,把测试用例分为4部分:测试步骤,测试对象,动作,测试数据。

     

    上面的4部分,我们可以借助excel来进行组织和管理。

    测试步骤:是一个很小的测试步骤的描述,例如点击按钮。

    测试对象:一般是web系统上页面上的元素,例如用户名输入框,登录按钮。

    动作:例如,点击,输入,打开浏览器

    测试数据:用来给测试对象赋值的数据,例如手机号码和邮箱字段。

     

           关键字驱动的背后思想,就是把一个代码编写的自动化测试用例场景拆分成多个很小的测试步骤,特别是给那些不懂代码或者不熟悉写自动化测试的手工测试人员提供了一种方式,去实现自动化测试。手工测试人员,不需要关注内部代码如何实现,他们只需要在数据表,例如execel中按照规则去填写测试数据,就可以实现测试场景的自动化。

     

           我们来举例来介绍这种思想,下面举例登录服务器的场景。下面的测试步骤,不管是自动化还是手工,基本上都是这么去划分。

    1. 打开浏览器

    2. 输入测试服务器地址

    3. 点击登录链接

    4. 输入用户名

    5. 输入密码

    6. 点击登录按钮

    7. 点击登出链接

    8. 关闭浏览器,退出测试

     

    上面的步骤,用关键字驱动的思想来实现,就是这么去做的:

    1. Excel表:这张表主要写测试用例名称,测试步骤,测试对象(元素)和操作方式。

    2. 对象仓库:主要是页面元素的定位方式和表达式,例如,我们习惯用xpath来定位页面元素。这里提到仓库的概念,这么去想一下,我用一个xml文件或者一个excel文件,或者一个text格式的文件,里面把一个软件项目的页面所有需要用到的元素对象的表达式都写到同一个文件,这个方式就叫对象仓库。

    3. 关键字方法库:就是定义或者叫封装一些操作方法,供其他地方调用,这些方法尽量都使用一些简单的词汇去描述操作动作,例如点击,输入。

    4. 数据表:可以是excel表,用来存储一些测试数据,例如用户信息:昵称,手机号,密码等

    5. 执行引擎:写好测试脚本之后,我们需要去运行脚本。如何组织和调度脚本的运行,这些都在执行引擎中实现。例如如何去获取excel里面的测试数据,如何读取excel表的测试用例信息等。

     

    整个过程可以用下面这张图来表示,或者说关键字驱动框架的原理就如下图。

     

    关键字驱动框架的优点:

    1. 技术门槛低:一旦开发人员设计好了框架,手工测试人员或者没有相关脚本,代码经验的人员都可以按照模板写自动化测试脚本。

    2. 容易理解:基本上都是在维护excel表,没有在写代码,所以测试脚本容易读和理解。而且看到那些关键字方法,就很容易想起手动测试场景。

    3. 容易上手:和前面两个优点差不多意思,主要是不需要代码知识也能写测试脚本

    4. 组件重用:支持模块化复用,具有一定的扩展性。

    5. 代码复用:其实调用关键字方法就是在复用代码。包括执行引擎一个用例一个用例执行下去也是在复用代码。

     

           其实,我们大概了解了关键字框架的优点,我们也适当了解一下它的缺点。当然,作为本系列的开篇,我不会立马给出关键字驱动框架的缺点。等我们慢慢设计出来框架,然后使用它,自己去找出它的限制和缺点。可以肯定的是,它没有用代码写自动化测试用例要效率高和方便和高复用性。下面我们就开始来学习关键字框架的设计过程,我这里选择Java+Selenium3.0来展开。

     

     

    展开全文
  • 这是python+selenium实现Web自动化第八篇博文二、Selenium前七篇博文地址:三、Selenium之-数据驱动框架那么问题来了,什么是数据驱动呢?就是,数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变,也...
  • 什么是关键字驱动框架关键字驱动框架是一种功能自动化测试框架,它也被称为表格驱动测试或者基于动作字的测试。关键字驱动的框架的基本工作是将测试用例分成四个不同的部分。首先是测试步骤(Test Step),二是...
  • 什么是关键字驱动框架关键字驱动框架是一种功能自动化测试框架,它也被称为表格驱动测试或者基于动作字的测试。关键字驱动的框架的基本工作是将测试用例分成四个不同的部分。首先是测试步骤(Test Step),二是...
  • 比曼 针对房地产业务工具使用Core Java,Selenium WebDriver,关键字驱动框架,数据驱动,POM和BDD方法的混合框架设计。
  • 混合驱动:把数据驱动、关键字驱动结合起来一起使用testdata.txthttp://www.126.comhttp://www.sohu.comteststep.txtopen||chromevisit||${url}sleep||3主程序脚本hybrid.py#encoding=utf-8import refrom selenium ...
  • "caseName": sys._getframe().f_code.co_name} page = LoginPage(app) page.operate() page.checkPoint() 封装自己的关键字 在BaseOperate中定义自己的关键字 def operate_by(self, operate, testInfo, logTest): ....
  • 关键子驱动的框架:关键字驱动框架-它更多是作为一个开发或者测试开发人员,开发的一个框架或者工具,目的是让不懂代码的黑盒测试人员去快速编写测试脚本。 一:关键字驱动框架介绍 二:搭建关键字驱动框架的步骤 ...
  • 我们就写了6个关键字动作,结果在if-else-if-else中我们需要写好多个判断分支,试想一下,如果按照这个思路,一个项目的自动化,有几百个测试用例,其中一个测试用例有好几个测试场景,那么我们的动作关键字驱动会写...
  • 什么是关键字驱动框架关键字驱动框架是一种功能自动化测试框架,它也被称为表格驱动测试或者基于动作字的测试。关键字驱动的框架的基本工作是将测试用例分成四个不同的部分。首先是测试步骤(Test Step),二是...
  • QTP 关键字驱动框架

    千次阅读 2010-03-18 13:54:00
    Anshoo Arora最近发布了一个QTP的关键字驱动框架,名为“RelevantCodes[1]One” 使用该框架,可以把这样的DP代码:Browser("title:=Test").Page("title:=Test").Image("name:=ThisImage").Click用这样的关键字形式...
  • 通过前面这些篇文章介绍,我们基本上完成了这个关键字驱动框架的设计过程。虽然是一个雏形,但是还是能够跑起来。本篇开始我们就不讨论这个框架的缺点和需要改进的地方,这部分我放到文章末尾来讲。本篇主要来学习...
  • import unittest from selenium import webdriver from time import sleep ...#unittest+关键字驱动,setUp,tearDown,testcase class MyTestCase(unittest.TestCase): #前置条件 def setUp(self): self.dr
  • Selenium之-数据驱动框架  那么问题来了,什么是数据驱动呢?就是,数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变,也就是参数的应用化。  这里对于数据驱动测试,总结起来就是,数据驱动绝非读取...
  • Robot Framework----Robot Framework是一个开源的自动化框架。更本质一点就是可以把你编写好的函数导出来,然后像写存储过程一样写代码,达到降低难度的目的。比如你在python文件中写好了一个函数login_system...
  • 转载于:https://www.cnblogs.com/yyht-xgy/p/11251763.html
  • QTP关键字驱动框架 - RelevantCodes[1]One

    千次阅读 2010-03-14 15:36:00
    Anshoo Arora最近发布了一个QTP的关键字驱动框架,名为“RelevantCodes[1]One” 使用该框架,可以把这样的DP代码:Browser("title:=Test").Page("title:=Test").Image("name:=ThisImage").Click用这样的关键字形式...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 954
精华内容 381
关键字:

关键字驱动框架