1

在自动化中,当我们使用 CSS 定义页面元素时,我们可以为示例页面元素定义如下方式:

element :fld_page_element, "#uniqueID .some-class-name"

或者,

element :fld_page_element, "[id='uniqueID'] [class='some-class-name']"

其中 # 符号代表 ID 和 . 表示类属性名。

当测试自动化出现时,它们在性能方面有什么区别?或者使用比其他有什么优势?如果是,请与我分享。

4

1 回答 1

3

我认为,您正在尝试进行过早的优化。

当你设计测试时,你应该以最好的“用户”(即开发人员)体验为目标——编写可读的测试,当失败时,它会显示一个清晰的信息。正如评论中所说,您可以花费大量时间调试编写奇怪的测试,这可能是同一测试的“缓慢但可读”版本运行的十倍。

如果您发现您的测试套件太慢,请使用测试框架提供的工具找出最慢的测试(rspec 可以显示最慢测试的列表,minitest,如果我没记错的话,包含用于基准测试的工具等.) 并优化它们。但是,大多数时候,您会发现这些测试由于您所说的其他原因而变得缓慢。

UPD: 在此掠夺:http ://www.shouldioptimize.com/

它允许您检查您可以为您的客户/公司每小时支付的费用购买多少 AWS EC2 实例时间的计算小时数。

从他们的“为什么”页面

微基准测试和语言大战都很有趣,但是计算一百万个东西需要 5 秒还是 0.5 秒真的很重要吗?也许。大多数时候,可能不是。如果您想知道是否应该花时间考虑如何使代码更快,或者是否应该花时间让代码更易于阅读和以后更改,您可能会考虑简单地将处理时间花在问题上的实际成本。

XKCD问题的相关图片

(注意图片标题中的“跨越五年”的东西)

于 2016-02-16T12:16:38.660 回答