• 教你如何写框架------用中文构建脚本(更新版)


    用中文写脚本,完全弃掉IDE,就能完成java+selenium的自动化测试过程,体验一下这神奇的过程吧。

    我们先来看下面的scenario:

    1.打开百度

    2.输入搜索关键字并点击"百度一下"

    3.在搜索结果页面取出搜索输入框的值进行验证

    我们来看如何实现:

    1.在TestBaidu.yaml中保存好locator(保存方法在前面有介绍)

    2.在TestBaidu.xml保存好测试数据

    3.在TestBaidu.txt中写上如下的脚本:

      1."打开"{url}

      2."页面"{testBaidu},输入框(baidu_input)[sendKeys]{hello world}

      3."页面"{testBaidu},[click]按钮(baidu_button)

      4."页面"{testBaidu},取得输入框(baidu_input1)属性值[getAttribute]{attrValue},"返回值"{getInput}

      5."对象"{Log},输出[信息]{getInput}

      6."对象"{Assert},判断[assertEquals]{getInput,assertValue}

    整个过程就完了,就可以直接运行了,在这个过程中完全没有用到eclipse或其它的IDE,如果细心的人,应该很快能发现上面写脚本的方式很适合于在excel或平台中使用,留给大家去扩展吧。

    下面介绍一下几个特点:

    1.对于Locator的保存方式,支持参数化,比如

    baidu_input:
      type: id
      value: %s

    也就是说这个%s要是脚本中被替换掉,于是我们可以这样使用2."页面"{testBaidu},输入框(baidu_input){kw}[sendKeys]{hello world},如果有多个参数要替换,用逗号隔开。

    2.对于测试数据,在脚本中一般用{}符号概括,在{hello}中,如果hello在xml文件中有结点存在,则取结点的值作为数据,如果在xml文件中没有结点存在,则数据就为hello.

    3.对于有一些公共方法,要被抽象出去,抽象出来的,也放在txt中,也用中文来写,即一个txt文件就代表一个方法,但是java是面向对象的,这些个方法要有对象,所以我把这些方法与page联系在了一起,联系方式为:

    LinkedPages.xml:

    <Pages>
        <TestBaidu>
            <methohd name='search' return='' linked='TestBaidu1'/>
        </TestBaidu>    
    </Pages>

    TestBaidu就是代表页面page,里面有一个search方法,具体的实现在TestBaidu1.txt中,没有返回值(return的值为空或者没有return属性)

    4.当然我们也可以自已去扩展page,用代码来写page里面的方法,这些page放在com.test.page包下面,如果page里有search方法,LinkedPages.xml里面也有search方法,则以page里的优先。

    5.支持逻辑判断与循环,例如:

      1."如果"{1}等于{1},"并且"{2}不等于{3}
      -"对象"{Log},输出[信息]{a}
      -"如果"{1}等于{1}
      --"循环"{i}从{1}到{3}
      ---"对象"{Log},输出[信息]{i}
      2."循环"{i}从{1}到{3}
      -"对象"{Log},输出[信息]{i}

    提供了4个接口,接口说明:

      1.Locators接口,如果你不想用yaml来保存Locators,想用DB或者其它文件,只需实现这个接口就行了

      2.TestDatas接口,如果你不想用xml来保存数据,只需实现该接口就可以了

      3.Linked接口,如果不想用LinkedPages.xml,也要实现该接口

      4.TestCases接口,如果觉得TXT不直观,实现一下该接口就OK了

    备注:以上4个接口实现后都得在config.xml里配置一下。

    如果你想实现平台,或者在领导面前炫一把,用该框架,应该会屌炸天。

     下载地址:http://files.cnblogs.com/zhangfei/Automation2.0.rar

    交流平台:QQ群254285583,  174527142

  • 相关阅读:
    Pandas 包基础
    记录numpy 数组打印形式
    WordPress 模板层次结构
    WordPress 主题开发
    WordPress 主题开发
    WordPress 主题开发
    WordPress 主题开发
    WordPress 主题开发
    WordPress 主题开发
    WordPress 主题开发
  • 原文地址:https://www.cnblogs.com/zhangfei/p/3592597.html
Copyright © 2020-2023  润新知