java - 在 Selenium Test Automation 中使用符号定义 Css Selector 或不使用符号之间的性能优势?

标签 java css ruby selenium-webdriver site-prism

在Automation中,虽然我们使用CSS来定义页面元素,但我们可以为示例页面元素定义如下方式:

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

或者,

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

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

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

最佳答案

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

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

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

更新: 抢劫一下:http://www.shouldioptimize.com/

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

来自他们的 "Why" page :

Microbenchmarks and language wars are fun and all, but does it really matter whether it takes 5 seconds or 0.5 seconds to calculate a million things? Maybe. Most of the time, probably not. If you're wondering whether you should spend time thinking about how to make your code faster or maybe spend that time making your code easier to read and change later, you might consider how much it actually costs to simply throw processing time at the problem.

Related image from XKCD issue

(注意图片标题中的“五年”)

关于java - 在 Selenium Test Automation 中使用符号定义 Css Selector 或不使用符号之间的性能优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35415093/

相关文章:

ruby-on-rails - capistrano - NameError:未初始化的常量 Net::SSH::KnownHosts::SUPPORTED_TYPE

java - Eclipse 编辑器显示一些不同的字符作为背景图案。如何禁用?

java - 构建 Jar 时将外部文件夹复制到目标(使用 Maven)

jquery - 改变元素的CSS样式

ruby-on-rails - 使用 RubyOnRails 实现每天 100 万页面浏览量的网站...Unicorn 还是 Passenger?

ruby - 通过代理错误使用 SSL 进行 Mechanize

Java ArrayList,最终条目作为类属性

java - 使用 TCP 的 Ehcache Jgroups 复制在具有 2 节点集群的 AWS 云中不起作用

javascript - CSS 长字体不适合屏幕的问题

javascript - 快速改变css属性值?