精华内容
下载资源
问答
  • 关键字驱动测试

    千次阅读 2015-10-18 11:14:42
    关键字驱动测试 关键字驱动测试是数据驱动测试的一种改进类型。 主要关键字包括三类:被操作对象(Item)、操作(Operation)、值(Value),用面向对象的形式可将其表现为Item.Operation(Value). 1、创建项目 ...

    关键字驱动测试

    关键字驱动测试是数据驱动测试的一种改进类型。

    主要关键字包括三类:被操作对象(Item)、操作(Operation)、值(Value),用面向对象的形式可将其表现为Item.Operation(Value).

    1、创建项目

    切换到关键字视图

     

    右击Action1——InSertStep——Step  Generator,

    Category:Utility Objects

    Object:SystemUtil

    Operation:Run

    Arguments:value:C:\ProgramFiles(x86)\HP\UnifiedFunctionalTesting\samples\flight\app\flight4a.exe

     

    点击“OK”

    同理,右击SystemUtil, InSertStep——Step  Generator,

     

    设置:

    Category:Test Objects

     

    点击Object后的小手图标,弹出如下对话框

     

    再点击小手图标,捕获Help对象

     

    弹出如下图:点击ok

     

     

    Object:”Help”

    Operation:Click

    点击“OK”

    同理,右击Help, InSertStep——Conditional Statement——If…else, 


    将Item选为Flight Reservations,Operation选为:Exist

     

    同理,右击Flight Reservations, InSertStep——Step  Generator

    捕获help密码提示框中的确定”按钮,

     

    同理,右击确定, InSertStep——Reproter

     

    同理:右击Reporter:InSertStep——Step  Generator

    捕获Login界面中的代理名称输入框

     

    同理,右击Agent Name, InSertStep——Step  Generator

    捕获Login界面中的密码输入框

     

    同理,右击Password, InSertStep——Step  Generator

    捕获Login界面中的“OK”按钮

     

    同理,右击“OK”, InSertStep——Step  Generator

    捕获Flight Reservation(即飞机订票系统的主界面)界面

     

    实现主界面的关闭。

    完成后的关键字视图如下:

     

    专家视图:代码

    SystemUtil.Run "C:\Program Files (x86)\HP\Unified Functional Testing\samples\flight\app\flight4a.exe"

    Dialog("Login").WinButton("Help").Click

    If Dialog("Login").Dialog("Flight Reservations").Exist Then

    Dialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickRe.

    Reporter.ReportEvent micPass, "sj", "df"

    Dialog("Login").WinEdit("Agent Name:").Set "mercury"

    Dialog("Login").WinEdit("Password:").Set "mercury"

    Dialog("Login").WinButton("OK").Click

    Window("Flight Reservation").Close

    End If

     

     


    展开全文
  • 自动测试之关键字驱动测试模式初探。曾经在“我看测试”这篇文章中论述过,“测试效率的提高关键是测试手段的改进”。尤其在软件测试领域,没有千遍一律的测试方法,别人都说好的商业工具拿到你产品线来却未必合适。...
  • 关键字驱动测试框架的研究,为了挣点积分才上传的关键字驱动测试框架的研究,为了挣点积分才上传的关键字驱动测试框架的研究,为了挣点积分才上传的
  • 关键字驱动测试(Keyword driver testing)也被称为表格驱动测试或者基于动作字的测试,工作中经常遇到的KDT测试工具有很多,比如Selenium IDE、Katalon Recorder、UFT等。关键字驱动的核心就是对测试用例(步骤)进行...

    关键字驱动测试(Keyword driver testing)也被称为表格驱动测试或者基于动作字的测试,工作中经常遇到的KDT测试工具有很多,比如Selenium IDE、Katalon Recorder、UFT等。

    关键字驱动的核心就是对测试用例(步骤)进行拆分:

    a、测试步骤中的对象(Test Object)

    b、测试对象执行的动作(Action)

    c、测试对象需要的数据(Test Data)

    以下面表格的测试用例,使用python+selenium+unittest完成关键字驱动测试:

    1、完成基本动作(Action)的定义

    #导入一些常用包

    from selenium import webdriver

    import xlrd

    import time

    global driver

    #1、完成第一个action,打开浏览器:open_broswer

    def open_broswer(browserName):

    global driver

    if browserName=="Chrome":

    driver = webdriver.Chrome()

    elif browserName == "firefox":

    driver = webdriver.Firefox()

    #2、打开指定url地址的方法:open_url

    def open_url(url):

    global driver

    driver.get(url)

    #3、定一个识别元素并能返回元素的方法

    def get_element(type1,type_value):

    global driver

    if type1 == "XPATH":

    element = driver.find_element_by_xpath(type_value)

    elif type1 == "ID":

    element = driver.find_element_by_id(type_value)

    return element

    #4、实现点击动作:click_button

    def click_button(type1,type_value):

    ele = get_element(type1,type_value)

    ele.click()

    #5、实现输入数据动作:input_str

    def input_str(type1,type_value,value1):

    ele = get_element(type1,type_value)

    ele.send_keys(value1)

    #6、实现时间等待动作:wait_time

    def wait_time(value1):

    time.sleep(int(value1))

    #7、实现断言动作:assert_result

    def assert_result(type1,type_value,value1):

    ele = get_element(type1,type_value)

    expectValue = ele.text

    if expectValue==value1:

    print("测试用例通过")

    else:

    print("测试用例不通过")

    #8、关闭浏览器:close_broswer

    def close_browser():

    global driver

    driver.quit()

    2、完成测试用例的定义(步骤和数据)

    #打开excel文件中的用例

    dataa = xlrd.open_workbook(r"./kdt.xlsx")

    table = dataa.sheets()[0]

    for i in range(1,table.nrows):

    stepNo = table.row_values(i)[0]

    stepDes = table.row_values(i)[1]

    actionN = table.row_values(i)[2]

    type1 = table.row_values(i)[3]

    type_value = table.row_values(i)[4]

    value1 = table.row_values(i)[5]

    if actionN =="open_broswer":

    command = "%s('%s')"%(actionN,value1)

    elif actionN == "open_url":

    command = "%s('%s')"%(actionN,type_value)

    elif actionN == "click_button":

    command = "%s('%s','%s')"%(actionN,type1,type_value)

    elif actionN == "input_str":

    command = "%s('%s','%s','%s')"%(actionN,type1,type_value,value1)

    elif actionN == "wait_time":

    command = "%s('%s')"%(actionN,value1)

    elif actionN == "assert_result":

    command = "%s('%s','%s','%s')"%(actionN,type1,type_value,value1)

    elif actionN == "close_browser":

    command = "%s()"%(actionN)

    # print(command)

    eval(command)

    3、转化为Unittest框架用例

    from selenium import webdriver

    import unittest

    import xlrd

    import time

    global driver

    #1、完成第一个action,打开浏览器:open_broswer

    def open_broswer(browserName):

    global driver

    if browserName=="Chrome":

    driver = webdriver.Chrome()

    elif browserName == "firefox":

    driver = webdriver.Firefox()

    #2、打开指定url地址的方法:open_url

    def open_url(url):

    global driver

    driver.get(url)

    #3、定一个识别元素并能返回元素的方法

    def get_element(type1,type_value):

    global driver

    if type1 == "XPATH":

    element = driver.find_element_by_xpath(type_value)

    elif type1 == "ID":

    element = driver.find_element_by_id(type_value)

    return element

    #4、实现点击动作:click_button

    def click_button(type1,type_value):

    ele = get_element(type1,type_value)

    ele.click()

    #5、实现输入数据动作:input_str

    def input_str(type1,type_value,value1):

    ele = get_element(type1,type_value)

    ele.send_keys(value1)

    #6、实现时间等待动作:wait_time

    def wait_time(value1):

    time.sleep(int(value1))

    #7、实现断言动作:assert_result

    def assert_result(type1,type_value,value1):

    ele = get_element(type1,type_value)

    expectValue = ele.text

    if expectValue==value1:

    print("测试用例通过")

    else:

    print("测试用例不通过")

    #8、关闭浏览器:close_broswer

    def close_browser():

    global driver

    driver.quit()

    class kdtExcel(unittest.TestCase):

    def readExcel(self,filename):

    #打开excel文件中的用例

    dataa = xlrd.open_workbook(filename)

    table = dataa.sheets()[0]

    for i in range(1,table.nrows):

    stepNo = table.row_values(i)[0]

    stepDes = table.row_values(i)[1]

    actionN = table.row_values(i)[2]

    type1 = table.row_values(i)[3]

    type_value = table.row_values(i)[4]

    value1 = table.row_values(i)[5]

    if actionN =="open_broswer":

    command = "%s('%s')"%(actionN,value1)

    elif actionN == "open_url":

    command = "%s('%s')"%(actionN,type_value)

    elif actionN == "click_button":

    command = "%s('%s','%s')"%(actionN,type1,type_value)

    elif actionN == "input_str":

    command = "%s('%s','%s','%s')"%(actionN,type1,type_value,value1)

    elif actionN == "wait_time":

    command = "%s('%s')"%(actionN,value1)

    elif actionN == "assert_result":

    command = "%s('%s','%s','%s')"%(actionN,type1,type_value,value1)

    elif actionN == "close_browser":

    command = "%s()"%(actionN)

    # print(command)

    eval(command)

    def test_cases(self):

    self.readExcel(r"./kdt.xlsx")

    if __name__ == '__main__':

    unittest.main()

    【原创文章 转载请标注此出处】

    展开全文
  • 关键字驱动测试框架案例框架分析:1.使用外部测试数据文件,使用Excel管理测试用例的集合和每个测试用例的所有测试步骤,实现一个文件中完成测试用例的维护2.每个测试用例的测试结果在一个文件中查看和统计3.通过...

    关键字驱动测试框架案例

    框架分析:

    1.使用外部测试数据文件,使用Excel管理测试用例的集合和每个测试用例的所有测试步骤

    ,实现一个文件中完成测试用例的维护

    2.每个测试用例的测试结果在一个文件中查看和统计

    3.通过定义关键字,操作元素的定位方式及定位表达式和操作值就可以实现每个测试用例步

    骤的执行,可以更加灵活地实现自动化测试的需求

    4.实现定位表达式和测试代码的分离,实现定位表达式直接在测试数据文件中进行维护。

    5.框架提供日志功能,方便调试和监控自动化测试程序的执行

    6.基于关键字测试框架,即使不懂开发技术的测试人员也可以实施自动化测试,便于在整个

    测试团队中推广和使用自动化测试技术,降低自动化测试实施的技术门槛

    7.基于关键字的方式,可以进行任意关键字的扩展,以满足更加复杂项目的自动化测试需求

    运行框架:

    .确保您的本地环境已配置chrome/firefox/ie浏览器及对应版本驱动

    .cd D:\KeyWordDriverTestFrameWork

    .python RunTest.py

    说明:

    .本项目完全是为了学习使用,项目中的账户和密码我并没有删除,希望您不要使用我的邮箱做有违国家安全或者对我个人有害的事情,彼此的信任是最重要的不是嘛

    .如果您有好的建议或者改进,可以fork本项目后修改你认为可以改进的代码后发起pull requests给我哦

    .如果你有不同的想法, 且你的改进对本项目有帮助, 我很愿意使用你的代码提高本项目的完整性, 对此表示感谢!

    修改说明:

    .modify by linuxchao at 2019.08.03

    .修改了整个项目代码编写规范

    .针对126邮箱升级后,修改了部分用例的逻辑,具体修改内容请查看项目原代码

    .针对126邮箱上传附件的用例, 放弃了模拟键盘和剪切板的操作部分(这个方法相对来说不稳定), 采用了最原始的send_keys方法实现

    .为了方便他人clone本项目后能够顺利的运行本项目, 我添加了环境管理文件requirements.txt,文件表明了本项目使用的所有第三方库

    当你clone本项目后, 请使用命令pip install -r requirements.txt来安装所有依赖库

    .特别说明:防止您的本地环境和本项目环境冲突,最好为本项目创建虚拟环境,使用虚拟环境的pip工具执行安装依赖库

    展开全文
  • UFT GUI 测试解决方案采用关键字驱动测试的概念, 以增强测试创建和维护。 关键字驱动测试是一项将大量编程工作与实际测试步骤分离的技术。这使您能够较早 地创建测试步骤, 即使应用程序中有大量变更或测试需要...

    相关项: GUI 测试和组件
    UFT GUI 测试解决方案采用关键字驱动测试的概念, 以增强测试创建和维护。
    关键字驱动测试是一项将大量编程工作与实际测试步骤分离的技术。这使您能够较早
    地创建测试步骤, 即使应用程序中有大量变更或测试需要大量变更, 也只需较少的更
    新便可维护这些步骤。
    l 使用关键字驱动方法, 测试自动化专家通过与“关键字视图”往返同步的集成式脚本
    编写和调试环境, 拥有了对基础测试和对象属性的完整访问权限。
    l 熟悉VBScript 的高级测试者还可以使用编辑器添加和更新语句, 以通过编程来增强
    测试。使用编辑器可增强测试的能力和灵活性。
    l UFT 还提供了插件以允许您测试在常用开发环境中创建的对象(控件)。
    有关支持的GUI 测试功能的更多详细信息, 请参见其他GUI 测试功能和工具(第63
    页)。
    基本GUI 测试的结构如下:
    l 测试由对操作的调用组成。使用操作有助于将测试分成若干逻辑单元, 就像网站的
    几个主要部分, 或在应用程序中执行的特定活动。通过创建调用多个操作的测试,
    可设计更具模块化、更有效的测试。
    l 每个操作都由步骤组成。向操作中添加步骤时, 步骤会显示在作为“关键字视图”或
    编辑器一部分的UFT 窗口中。在“关键字视图”中, 每个步骤都包括自动生成的文
    档, 对步骤会执行哪些操作进行纯语言文本描述。
    l 执行运行会话时, UFT 会执行测试中的每个操作。结束运行会话后, 您可以查看报
    告, 报告中对执行了哪些步骤、哪些步骤成功或失败有一个详细的描述。
    创建测试之后, 您可以添加增强功能:
    l 在测试中编辑操作时, 可以插入一个步骤来检查应用程序中特定对象的属性。例
    如, 可以检查对话框的特定位置是否显示特定文本字符串, 或者检查网页上的超文
    本链接是否可以转到正确的URL 地址。
    l 还可以创建函数库, 并从测试中调用函数。例如, 可以定义函数并在测试中将函数
    作为关键字使用。
    展开全文
  • 关键字驱动测试方法

    2011-12-07 14:11:10
    关键字驱动测试方法(Keyword-driven testing),也叫表格驱动测试方法(Table driven testing),是软件自动化测试的一种方法。关键字驱动测试把测试脚本的编程工作分离出去,让没有编程技巧的人也能开发自动化测试脚本...
  • 关键字驱动测试框架是当前比较流行的一种框架之一,并且现在的自动化测试工具QuickTestProfessional已经将关键字驱动框架融入到工具中。那么究竟什么是关键字驱动测试,它与数据驱动测试有何区别?让我们来深入探讨...
  • [QTP] 关键字驱动测试

    2014-02-17 21:26:23
    1. 关键字驱动测试方法关键字驱动测试方法,也叫表格驱动测试方法,是软件自动化测试的一种方法。关键字驱动测试把测试脚本的编程工作分离出去,使得编程经验不足的人也能开发自动化测试脚本。关键字驱动测试让测试...
  • 关键字驱动测试示例 Python False关键字 (Python False keyword) False is a keyword (case-sensitive) in python, it is a Boolean value (a value of class type bool). False is the result of a comparison ...
  • 关键字驱动测试方法(Keyword-driven testing),也叫表格驱动测试方法(Table driven testing),是软件自动化测试的一种方法。关键字驱动测试把测试脚本的编程工作分离出去,让没有编程技巧的人也能开发自动化测试脚本...
  • 基于RFT的关键字驱动测试 1 自动化测试的挑战 2 解决方案简介 3 ATElite的特点 4 解决方案价值
  • 关键字驱动测试框架搭建(3)关键字驱动的完整框架:在Pycharm中创建一Python工程,其下再创建Util包,action包,config包,testScripts包,log目录,testData目录,exceptionPictures目录,具体内容如下:Util包中...
  • 用TestComplete实现一个关键字驱动测试框架
  • 【附源码】关键字驱动也称为表格驱动或者操作...早期介入:可以在应用未提交测试之前,就可以建立关键字驱动测试用例对象库,从而减少后期工作。使用需求和其它相关文档进行收集信息,关键字数据表可以建立手工测试程序
  • Selenium 关键字驱动测试框架之数据文件解析 摘要:在关键字驱动测试框架中,除了PO模式以及一些常规Action的封装外,一个很重要的内容就是读写EXCEL,在团队中如何让不会写代码的人也可以进行自动化测试? 我们可以...
  • 关键字驱动测试框架

    千次阅读 2011-08-14 17:52:02
    自动化测试框架发展的第三个阶段是关键字驱动测试框架阶段,它是当前比较流行的一种框架之一,并且现在的自动化测试工具QuickTest已经将关键字驱动框架融入到工具中。在录制过程中自动化测试工具会将对象及操作属性...
  • 作者:Thuc Nguyen 翻译:陈晓鹏https://www.logigear.com/blog/test-methods/keyword-driven-testing-the-best-practices-you-cant-afford-to-miss/00引言关键字驱动测试(KDT)是一种久经沙场的测试方法,用于加速...
  • 1、小练习:定义三个方法(加法、减法、断言),通过使用关键字驱动测试这个三个方法compute.py #encoding=utf-8 def add(a,b): print a + b return a + b def sub(a,b): print a - b return a - b...
  • 1、小练习:定义三个方法(加法、减法、断言),通过使用关键字驱动测试这个三个方法 compute.py #encoding=utf-8 def add(a,b): print a + b return a + b def sub(a,b): print a - b return a - b def ...
  • 关键字驱动测试示例 本文包含在我们的选集Modern JavaScript中 。 如果您希望所有内容都集中在一个地方,以适应最新JavaScript,请注册SitePoint Premium并下载一个副本。 您可能已经熟悉自动测试及其好处。 为您...
  • 之前的七篇都是数据驱动的WEB UI自动化测试框架,现在学习并记录一下关键字驱动测试框架。 这两者在实现技术上可能没有太本质的区别,都是以selenium为核心,但在实现逻辑和思想上可能有较大的区别。 一.关键字...
  • 关键字驱动测试(Keyword driver testing)也被称为表格驱动测试或者基于动作字的测试,工作中经常遇到的KDT测试工具有很多,比如Selenium IDE、Katalon Recorder、UFT等。关键字驱动的核心就是对测试用例(步骤)进行...
  • 关键字驱动测试 数据驱动测试 前一篇所讲的模块化驱动测试能够很好的解决脚本重复的问题,但是在针对同一个功能进行不同数据的测试,从而检测测试结果的变化时仍然需要重复地编写测试脚本。于是,数据驱动测试的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,506
精华内容 602
关键字:

关键字驱动测试