【问题标题】:Automaticly testing forms自动测试表格
【发布时间】:2010-02-09 21:32:05
【问题描述】:

嘿,我有一个使用 MVC 框架编写的应用程序,它有大约 10 个表单来插入新数据或更新现有数据。现在,每次我扩展一个功能时,我都必须重新测试孔应用程序,这需要时间。我怎样才能自动化呢?我没有这个单元测试的经验,据我所知,这个概念对我来说并不是那么有用,但也许我错了。所以请把你的答案调整到适合初学者的水平:)。

【问题讨论】:

    标签: php web-applications automated-tests


    【解决方案1】:

    您可能对Selenium suite 感兴趣:基本上,它允许将测试存储为一系列 HTML 的“命令”,然后稍后在自动化 中运行它们(或半自动化,如您所愿) 时尚,在真正的浏览器中。

    并且在PHPUnit(最常用的PHP自动化测试框架)中捆绑了一些组件来使用Selenium——见Chapter 18. PHPUnit and Selenium


    基本上,你一般:

    • 使用名为Selenium IDE 的firefox 插件记录您在应用程序中的导航方式
    • 然后,您通常会稍微调整该场景 - 例如,通常是为了使某些内容更具动态性
    • 最后,您通过Selenium RC 运行场景(这是对真实浏览器的“远程控制”),使用 PHPUnit 类

    它允许您在真正的浏览器中一次又一次地运行相同的测试——这意味着真正使用您的应用程序。


    几点注意事项:

    • 您显然需要一台可以启动浏览器的计算机(即带有一些 GUI 的测试服务器)
    • 您有时/经常需要调整一些 HTML 模板,添加一些 id 或类似的东西
    • Selenium IDE 记录的静态场景通常需要变得更加“动态”——例如,由于数据库中的 UNIQUE 约束,您不能使用相同的电子邮件地址两次注册两个不同的用户:地址需要是动态的
    • 使用 Selenium 运行测试需要时间:每个页面都必须在浏览器中加载。

    【讨论】:

      【解决方案2】:

      查看 selenium (seleniumhq.org)。有一大堆应用程序可以做这种事情……这个恰好是我的最爱。

      它基本上会记录您的击键/点击,并允许您重播它们。最重要的是,它有一个 Firefox 扩展——这让这一切变得非常简单。

      【讨论】:

        猜你喜欢
        • 2012-09-08
        • 1970-01-01
        • 2019-08-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多