如何使用 rspec 测试浏览器自动化代码

问题描述 投票:0回答:1

我正在开发一个需要大量浏览器自动化来检索数据、填充表单等的项目。我过去使用过 capybara 和 selenium 来进行网站的自动化测试,但我从未使用过 capybara 和 selenium作为应用程序(现在需要测试)。

Google 几乎毫无价值,因为每次搜索“如何测试浏览器自动化代码”都会返回有关如何使用浏览器自动化来测试代码的结果(我明白,这是大多数人使用浏览器自动化的目的)。

有人做过这样的事吗?有小费吗?有建议吗?

ruby selenium-webdriver testing rspec capybara
1个回答
1
投票

是否应该进行测试可能会引起激烈争论。然而,在元级别,您只需像进行任何其他形式的测试一样进行处理即可。

如果您正在尝试测试网络抓取应用程序或某种基于网络的“数据获取器”(无论它是基于 API 还是您正在填充/抓取页面),那么它只是另一个需要的应用程序任何其他应用程序都需要相同类型的单元和系统测试。

  1. 确定每个测试应允许其通过或失败:

    • 没有价值。
    • 一些应该通过测试的已知输入。
    • 一些应该无法通过测试的已知输入。
  2. 添加一些模糊或边界条件,以确保您的测试在无效或意外输入的情况下正确通过或失败。

真的没什么可说的了。如果您抓取给定的页面,您的应用程序应该填充某些变量;它确实这样做了吗?这些值正确吗?它是否正确“填充表格”,无论其实际含义如何?如果是 PDF,生成的 PDF 是否与预期的 PDF 匹配或至少与其中的相关部分匹配?

测试就是测试就是测试。如果您的代码是一个抓取器或数据聚合器,那么它与任何其他类型的应用程序并没有本质上的不同。您仍然想测试您的单元或系统结果,以了解已知良好、已知不良和未定义的结果或行为。

© www.soinside.com 2019 - 2024. All rights reserved.