问题标签 [automated-tests]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
19661 浏览

build-automation - 批处理文件中的字符串符号操作?

有没有办法使用 .bat/.cmd 文件获取字符串的子字符串?

例如,给定字符串“hello.txt”,有没有办法去除 .txt?

编辑:还有一种更通用的方法可以做到这一点,而不是假设它是文件名或文件路径?

0 投票
6 回答
6782 浏览

build-automation - 学习高级批处理文件使用的最佳免费资源?

学习高级批处理文件使用的最佳免费资源是什么?

0 投票
2 回答
409 浏览

c# - 将自制测试应用程序转换为标准单元测试框架

我已经为一个软件编写了很多测试(这是一件很棒的事情),但它本质上是作为 C# 中的独立测试构建的。虽然这工作得很好,但它也有一些缺点,其中最重要的是它没有使用标准的测试框架,并且最终要求运行测试的人注释掉对不应该运行的测试的调用(当不希望运行整个测试“套件”时)。我想将它整合到我的自动化测试过程中。

我看到 VS 2008 的测试版有一个“通用测试”的概念,它可能会做我想做的事,但我们目前无法在那个版本上花钱。我最近开始使用 VS 2008 Pro 版本。

这些测试方法遵循一个熟悉的模式:

  • 为测试做一些设置。
  • 执行测试。
  • 为下一次测试重置。

它们中的每一个都返回一个布尔值(通过/失败)和一个字符串 ref 来表示失败原因,如果失败则填写。

从好的方面来说,至少测试方法是一致的。

今晚我坐在这里,考虑明天早上我可能采取的方法,将所有这些测试代码迁移到测试框架,坦率地说,我对手动钻研超过 8-9K 行测试代码的想法并不那么兴奋进行转换。

你有过进行这种转换的经验吗?你有什么建议吗?我想我可能会因为全局搜索/替换和手动更改测试而苦苦挣扎。

有什么想法吗?

0 投票
3 回答
26726 浏览

windows-installer - 自动安装 MSI

自动安装 MSI 文件或安装程序 .exe 的最佳方法是什么?我们想从我们的构建系统对已安装的产品副本进行一些自动化测试。我们的安装程序具有通常的许可证接受屏幕、安装位置等。


正如 FryHard 指出的那样,有两个特别方便的选项:

  • "/quiet" - 不使用交互
  • "/passive" - 仅进程栏,无人值守模式
0 投票
7 回答
858 浏览

performance - 如何快速保持自动化测试?

自动化测试必须快速反映实时项目状态。这个想法是:

  1. 在执行任何对存储库自动构建的提交之后(尽可能快地完成)。
  2. 如果构建成功自动测试开始。必须快。

这是我知道的最好的方法来确定你的更改是否会破坏任何东西。

起初,快速构建似乎很难,但我们设法将其保持在 100 秒左右。用于 105(!) 个项目的解决方案 (MSVS 2008 C#)。

测试似乎没有那么简单(我们使用 NUnit FW)。单元测试不是一个大问题。是集成测试杀死了我们。而不是它们更慢的事实(任何关于如何使它们更快的想法都非常感谢),而是必须设置的环境要慢得多(atm ~1000 秒)!

我们的集成测试使用需要重新部署的 web/win 服务(目前有 19 个)以反映最新的变化。这包括重新启动服务和大量 HDD R/W 活动。

任何人都可以分享如何组织/优化环境和工作流程以加快自动化测试阶段的经验。什么是“低级”瓶颈和解决方法。

欢迎 PS 书籍和广泛的文章,但更赞赏现实世界的工作解决方案。

0 投票
10 回答
1634 浏览

continuous-integration - 与 Nant 持续集成

我准备第一次使用持续集成。我将使用 Nant 进行自动化构建和测试任务,并尝试找到合适的 CI 工具来轮询存储库并执行 Nant 脚本。

到目前为止,我已经大致研究了以下内容:

  • 哈德逊
  • 巡航控制
  • 德拉科

到目前为止,我的感觉是,由于大部分工作将由 Nant 完成,Draco 会很好,因为它应该很容易安装/设置。另一方面,Cruise Control 和 Hudson 可能会提供更好的报告选项。

将 Nant 用于构建和测试任务时,执行持续集成的最佳方式是什么?

0 投票
5 回答
3986 浏览

automated-tests - Mercury Quick Test Pro - 使用自定义网格进行测试

我们正在尝试创建一些引用供应商自定义网格的测试。不幸的是,QTP 只将它识别为一个 WinObject,这是毫无用处的。我们需要能够导航网格并更改单元格值,双击单元格(不使用 X,Y 坐标)等。

理想情况下,我们想让 QTP 了解这个对象是一个网格并将其视为一个网格。

任何帮助将不胜感激。

谢谢

乔恩

0 投票
3 回答
602 浏览

java - 是否有任何类似于 Maven2 约定的 Ant 约定?

在过去的 2 年里——(ish)我一直在使用Maven2作为我的构建/持续集成解决方案。在那之前我用过Ant,但真的没有太多经验。现在我换了一份新工作,我所在的团队现在使用 Ant。

我想知道的是:

在 Maven 中,我们有用于分隔 java 源和文件以及 java 测试文件(JUnit测试)的目录约定。它看起来像这样:

这样,您的测试就与您的源代码/生产代码分开,并且不会像这样构建/部署。

浏览 Ant 文档,我真的没有看到任何约定。我错过了什么吗?Ant中是否有类似的约定?

0 投票
2 回答
837 浏览

scripting - 为什么删除的文件会重新出现在 Vista 中?

我在我的程序上运行了一个自动测试,该测试会生成一些大型 MPG 文件以及其他文件。运行测试后,我让脚本自行清理。其他文件(二进制文件和文本文件的混合)被删除,没有问题。然而,MPG 文件不会被删除。如果我在测试运行后尝试从资源管理器中手动删除 MPG 文件,它们会从资源管理器窗口中删除,仅在几秒钟后重新出现。进程资源管理器显示它们正在被 explorer.exe 使用。最终,我能够删除这些文件。知道为什么会这样吗?

0 投票
4 回答
8433 浏览

ruby-on-rails - Selenium RC:自动在多个浏览器中运行测试

因此,我开始创建一些 Ruby 单元测试,使用Selenium RC直接在浏览器中测试我的 Web 应用程序。我正在将Selenum-Client用于红宝石。我为所有其他硒测试创建了一个基类来继承。

这会创建许多 SeleniumDriver 实例,并且在每个实例上调用所有缺少的方法。这实质上是并行运行测试。

其他人是如何实现自动化的?

这是我的实现:

这可行,但如果一个浏览器失败,整个测试就会失败,并且无法知道它在哪个浏览器上失败。