【问题标题】:Specflow selenium tests to run against deployed code针对已部署代码运行的 Specflow 硒测试
【发布时间】:2015-05-14 10:16:08
【问题描述】:

我有一个问题,目前还没有人能给我一个好的答案。

我们有一些使用 selenium 来测试我们的 Web 应用程序 (SPA) 的 specflow 测试,这些测试包含在 TFS 的构建定义中,以便它们与构建一起运行。

测试针对具有 web.config 中指定地址的网站运行。我认为这意味着解决方案已构建,然后针对配置文件中指定的 url 运行测试,这意味着它实际上测试了网站的最后部署版本?这是正确的吗?有没有办法部署站点,然后针对它运行 specflow 测试?

请问这里的最佳做法是什么,谢谢。

【问题讨论】:

    标签: tfs tfsbuild specflow acceptance-testing


    【解决方案1】:

    在这种情况下,我倾向于将构建分成几个步骤:

    • 构建代码并运行单元测试
    • 将代码部署到测试服务器
    • 针对新部署运行部署后测试

    这可确保针对我刚刚签入的代码运行测试,但显然有一些注意事项,即您必须确保在您的测试仍在进行时另一个构建不会破坏您当前的部署跑步。缓解这种情况的需要取决于您拥有多大的团队以及需要多少自动化,如果您可以依靠人们手动管理它,那太好了。如果没有,那么您可以拥有多个测试环境,或者理想情况下每个开发人员 1 个。如果您要部署到云端,这会得到简化,因为您可以轻松地为每个开发人员启动测试部署。

    您还可以使用 asp.VNext 中的一些新内容来处理其中的一些问题,因为您可以让测试自行托管网站,从而完全无需部署。尽管我认为实际上这仅意味着您的更多“集成”测试可以以这种方式运行,但您可能仍希望在部署后运行一些测试,即使它们是用于检查所有内容的冒烟测试的子集仍然有效。

    【讨论】:

    • 好的,是的,我认为将构建拆分为多个步骤对我们来说可能是一个可行的解决方案,因为构建在每个人都回家后运行并且不应该被覆盖。我认为需要深入研究 TFS 构建步骤。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    相关资源
    最近更新 更多