UI 和 DB 自动化工具建议

软件测试 自动化测试
2022-01-18 17:37:27

目前我们(在团队中)正在使用 Silktest(过去 8-9 年),现在正在寻找其他工具来替代 Silktest,为什么要寻找其他工具是一个不同的论点,撇开它不谈,我们开始吧。以下是要求,很高兴听到您对此的建议。

  • AUT:基于 Web(使用 .NET)
  • 工具需要与数据库(MS SQL 服务器)和 vb.net 实用程序交互(其他团队触发 exec 的前端)
  • 应该能够在远程机器池上运行。(脚本在机器上 24x7 运行)
  • 不需要与测试管理工具集成。
  • 开源工具会很棒。
  • 寻找具有强大框架的强大工具来构建。

我在一个非常小的团队中,希望听到一些建设性的意见/批评。我正在阅读所有其他类似的问题,发现这些建议更多是针对硒、watir/watin ...等

4个回答

WatiN是一个 Web 测试框架,旨在与 .NET 堆栈一起使用。您编写的代码也是 .NET,因此您可以与您的数据库进行交互,就像您的实际应用程序访问它一样(即通过您的 ORM、API 或其他方式)。它也是开源的,通过 MsTest 运行,因此不需要额外的应用程序。

正如已经指出的那样,研究同样为 .NET 设计并且也是开源的SpecFlow也是一个好主意。

在我目前的角色中,我也面临过类似的情况。使用 selenium 进行自定义开发效果很好。分享我的学习

  • AUT:基于 Web(使用 .NET) - 由于它是基于 Web 的 UI,您应该能够使用 Selenium。您可以在 C# 中编写测试用例

  • 工具需要与数据库交互- 如果您需要将其传递给测试用例,则在测试代码中打开一个数据库连接并获取所需的参数。如果它是独立操作,请将其作为单独的控制台应用程序执行。在控制台应用程序上成功触发 UI 测试

  • 应该能够在远程机器池上运行- 我有类似的情况。您可以创建一个 .NET 代码并以顺序方式调用控制台 APP、Selenium 测试的应用程序。这个调用的应用程序可以使用Windows 调度程序进行调度,以按计划方式运行。使用 System.Diagnostics 命名空间你有 Process 类,它提供了执行 exes 的选项

  • 开源工具会很棒——C#、Selenium 是一个很好的组合。如果你擅长java,你也可以试试

  • 选项- 另一个替代选项是使用批处理文件来执行 exe 的 / selenium 测试。windows下使用批处理文件实现需要快速学习

  • C# Learning - 如果你熟悉 C/C++,学习 C# 是很容易的

  • 建议- 不要一口气完成大局,一次开发一个组件。这将是一个很好的学习和学习开发自动化工具的良好基础,您必须重构以使其健壮。第一次尝试无法达到完美,代码 - 审查 - 重构 - 重新学习

我使用过一些自动化工具。

a) 快速测试专业人​​士。它很昂贵,但开始使用您的测试用例并不难。它可以自动化、Flex、Windows 对象。此外,它可以与 SQL Server 通信,您可以在 VB 中编写自动化测试用例脚本。

b) Selenium 是一个免费的测试自动化工具。您可以使用多种编程语言来自动化您的测试用例。

c) 我已经在 Perl 中构建了一个测试框架。使用 Perl,我可以测试 Web 服务、数据库、与网页交互。我会花更多时间来学习它并设计测试工具,但这很有趣。你也会学到很多关于这项技术的知识,因为有人会到处闲逛。

根据您的问题,我会推荐以下内容。

因为您需要与 SQL Server 交互并拥有 Windows 客户端,所以我建议您需要使用 .net 和 C# 以及 winforms,或者 ruby​​ 和shoes作为您的开发环境。我强烈建议您使用与开发人员相同的语言和环境。

.Net Web 应用程序的自动化应该使用WatiNSelenium WebDriver完成,我是 WatiN 的长期用户,它是一个很棒的框架,但如果现在开始我可能会使用 webdriver,因为它正在成为 W3C 标准

要访问数据库,您可以在任一环境中使用任意数量的客户端库。

这些解决方案将是强大的,但编码繁重。

我还建议您考虑使用CucumberSpecflow来定义您的测试用例。