Testing 一个简单的基于文本的完整网页回归测试

Testing 一个简单的基于文本的完整网页回归测试,testing,selenium,watin,regression-testing,Testing,Selenium,Watin,Regression Testing,我的职责是为一个小型企业客户建立并继续开发PHP网站。项目没有测试代码。我想为网站的后端快速建立至少非常基本的回归测试 我需要逐字符测试网页的全部内容。必须查看失败测试的差异 我需要能够设置cookies并获取/发布数据 每隔几天我会从生产数据库更新一次本地数据库。然后,我想对失败的测试进行概述,并非常快速地更新我的测试套件,以便所有测试都能再次通过 使用还是一个好主意?我的本地环境是Linux。关于Selenium(而且只有Selenium,因为我不知道WatiN)-它只能做你在兄弟中能做的事

我的职责是为一个小型企业客户建立并继续开发PHP网站。项目没有测试代码。我想为网站的后端快速建立至少非常基本的回归测试

  • 我需要逐字符测试网页的全部内容。必须查看失败测试的差异
  • 我需要能够设置cookies并获取/发布数据
  • 每隔几天我会从生产数据库更新一次本地数据库。然后,我想对失败的测试进行概述,并非常快速地更新我的测试套件,以便所有测试都能再次通过

  • 使用还是一个好主意?我的本地环境是Linux。

    关于Selenium(而且只有Selenium,因为我不知道WatiN)-它只能做你在兄弟中能做的事情。它可以点击、输入字段、提交表单、截图(这是一个非常好的截图)、设置cookie(所以这是肯定的)。您始终可以设置通过URL获取数据。但我不知道Selenium中有任何技术允许您以浏览器导航以外的任何其他方式设置POST数据。此外,因为测试在浏览器中,所以速度不是特别快。例如,在我们的产品上,在我的计算机上进行一次大约250步的彻底测试大约需要10分钟。当然,您可以使用Selenium网格在多台计算机之间进行划分。这只是更多的工作

    最后,我想说是的,Selenium适合您的需求,因为有很多方法可以编写一个好的测试,每个人都能找到自己的风格。这对于快速检查、功能确认以及全面测试等都是很好的。但是如果你想做一些真正高级的东西,那么这是一项长期的工作。Selenium以多种不同的方式提供了如此多的功能,因此了解它们并知道如何使用它们绝对是一项全职工作


    尝试Selenium IDE 20分钟。它只是Firefox的一个插件,可以记录你的动作,然后回放它们。如果你喜欢你所看到的,就去做吧。如果没有,请雇佣愿意的人。

    关于硒(而且只有硒,因为我不知道WatiN)-它只能做你在兄弟身上能做的事。它可以点击、输入字段、提交表单、截图(这是一个非常好的截图)、设置cookie(所以这是肯定的)。您始终可以设置通过URL获取数据。但我不知道Selenium中有任何技术允许您以浏览器导航以外的任何其他方式设置POST数据。此外,因为测试在浏览器中,所以速度不是特别快。例如,在我们的产品上,在我的计算机上进行一次大约250步的彻底测试大约需要10分钟。当然,您可以使用Selenium网格在多台计算机之间进行划分。这只是更多的工作

    最后,我想说是的,Selenium适合您的需求,因为有很多方法可以编写一个好的测试,每个人都能找到自己的风格。这对于快速检查、功能确认以及全面测试等都是很好的。但是如果你想做一些真正高级的东西,那么这是一项长期的工作。Selenium以多种不同的方式提供了如此多的功能,因此了解它们并知道如何使用它们绝对是一项全职工作


    尝试Selenium IDE 20分钟。它只是Firefox的一个插件,可以记录你的动作,然后回放它们。如果你喜欢你所看到的,就去做吧。如果没有,请雇佣愿意的人。

    我不确定我在这里是否为时已晚,但对于WatiN来说,它只是基于IE的,所以如果你计划使用任何其他浏览器,最好使用Selenium WebDriver(尽管WatiN有一些Firefox支持)。从我所发现的(我使用了WatiN和Selenium)来看,硒可以实现更多的低水平交互(也请参见Selenium网格),但实际上我认为这取决于您希望实现的目标和个人偏好。如果您有时间编写自己的包装器与WatiN/Selenium交互,您会发现测试本身运行起来相当快。此外,自动化的美妙之处在于,一旦编写了这些测试,您就可以运行它们,并在它们完成时离开。

    我不确定我在这里是否为时已晚,但对于WatiN来说,它只是基于IE的,因此如果您计划使用任何其他浏览器,最好使用Selenium WebDriver(尽管WatiN有一些Firefox支持)。从我所发现的(我使用了WatiN和Selenium)来看,硒可以实现更多的低水平交互(也请参见Selenium网格),但实际上我认为这取决于您希望实现的目标和个人偏好。如果您有时间编写自己的包装器与WatiN/Selenium交互,您会发现测试本身运行起来相当快。此外,自动化的美妙之处在于,一旦编写了这些测试,您就可以运行它们并在它们完成时离开