zoukankan      html  css  js  c++  java
  • 利用selenium开发一个功能测试的框架

    最近做了一个新项目 项目还在架构阶段 由于我们没有请Test Team 所以有些测试工作需要我们自己做 我被分到一个功能测试框架的工作

    接下来我来说说 具体的实现思路。

     1) 框架说明

    我们的项目是分模块来做的,功能测试架构分为3大块。Framework(主要放一些功用方法,对selenium的简单封装),Modules下放的都是测试的function,一个function会有N个TEST STEP。TestUI下有两个,一个是为module测试用的,是一个winform程序,另一个是console,为整个项目的功能测试,同时也方便结合schedule task来跑,便于daily build后的测试。

    2) 文件依赖

    Framework->Modules(dll引用)

                    ->TestUI(dll引用)

    Modules->TestUI (project引用)

     很简单拉, 呵呵。

    3)运行

    ModuleShell只是提供一个入口,其他的测试操作都是通过Modules里的方法来做的。

    我们通过 selenium把脚本录制好,放到具体的方法里即可。由于是对module的测试,所以我会把该module下的所有function 列出来,

    gridview里的东西便是具体的测试方法,如果不用测可以勾掉Enable。

    由于是模块化的,在测试的时候,我只在ModuleShell的bin里放一个要测试的dll,那样我就能通过反射把该dll的所有方法读出来。

    Test Shell的话,他的bin里会有所有的module dll,遍历所有的module dll, 把要做的test step都选出来。 然后再跑,

    4)问题

     功能化测试只是保证我的程序在功能上是否正确。所以说我们的test case首先要写对,其次是我们的这个框架也要有一定的错误报告功能。

     因为我们无法避免程序在跑的时候不出问题,我们讨论下来,决定在每次postback之前和之后做一个check.

     之前的话,主要是保证我点按钮的时候不要有客户端错误,就是验证控件的问题了。想法是在postback之前先去触发所有验证控件的验证,用javascript写的,代码 以后再贴出来吧。

     之后的话,是防止sever端抛出来的错,我们会把server端抛出来的错放到一个专有的lable控件上,只要check是否有值就可以了。

     我想这样就差不多了吧,一些普通的错可以及时报出来。

     各位有什么想法说说吧,呵呵。

  • 相关阅读:
    关于软件工程的疑问
    thinkphp基础入门(2)
    JS What does `void 0` mean?
    第2章 TCPIP的工作方式
    JavaScript中var a=b=c=d的发现
    如何让 Git 忽略掉文件中的特定行内容?
    thinkphp基础入门(1)
    IIS网站服务器性能优化指南(转载)
    240个jquery插件
    解决_动态加载JS文件_调用时出错
  • 原文地址:https://www.cnblogs.com/baweiji/p/1418716.html
Copyright © 2011-2022 走看看