如何使用 testcafe 获取一些浏览器性能指示

How to get some Browser performance indication using testcafe

提问人:fman 提问时间:4/1/2021 更新时间:4/1/2021 访问量:233

问:

我有一个应用程序,它有一些性能改进的空间。 我们的客户要求在客户端(浏览器)端进行一些性能测量, 我正在尝试使用 testcafe 来指示一些执行时间。

一种选择是让人们访问不同的功能,在 Chrome 中激活 开发工具,并注意 DOMContentLoaded 值,太无聊、容易出错且耗时。

使用 testcafe,我们可以进行开始-结束测量,但因为 testcafe 正在加载 通过它的代理的页面很明显,这个数字将是最糟糕的。

有几个问题

1. 代理添加的延迟量:
有没有人知道乘数因子之类的东西, 即:testcafe 中的时间将是您从开发人员控制台获得的 DOMContentLoaded 的 -> 倍。

2. 何时从页面获取选择器值

我正在尝试这样做:
S1 - 访问页面 PageUnderTest S2 - 设置过滤器值
S3 - 单击搜索以提交页面并应用过滤器
S4 - 应用过滤器呈现 PageUnderTest

因为我试图获得时间直到页面加载, 我在发出 t.click(button) (S3) 之前获得 BEGIN 时间戳 然后我希望页面标题,但不知道 testcafe 是如何工作的 我担心 testcafe 从 S3 获取此值,因为 PageUnderTest 已经存在 呈现。 任何人都可以提供一些澄清吗?

我有一个令牌,每次提交时都会更改,然后我将在 S3 中获取令牌(点击之前) 并循环读取令牌,直到该值与 S3 中获取的值不同。 你认为这是一个好方法吗?

3-如何理解页面已完全呈现。
你有什么建议吗?

此致敬意

性能 浏览器 自动 客户端 测试

评论


答:

1赞 Martin H. 4/1/2021 #1

TestCafe 是一个为功能测试而构建的工具,支持您编写端到端测试,这些测试应该在您的 Web 应用程序中复制真实的用户场景。请勿使用它来执行非功能测试(如性能或负载测试)。这样的测试不会产生任何结论性的结果。您可以在此处阅读有关 TestCafe 范围的更多信息

评论

0赞 fman 4/1/2021
感谢 Martin,我不需要精确的客户端性能测量,只需要可以与开发控制台时间进行比较(和调整)的东西。我寻找进行这种测量的工具一直很顺利。这可以被认为是穷人的方法。你有什么工具建议吗?
0赞 Martin H. 4/1/2021
我还没有尝试过,但我知道 JMeter 在性能和负载测试领域非常受欢迎。它是来自Apache的开源工具,100%基于Java,因此可以为任何操作系统提供可移植性。你可以在这里更深入地了解它。
0赞 fman 4/1/2021
感谢您的提示,我们已经考虑过 JMETER ,但该网站解释说它不能像浏览器那样工作。并且使用JMETER进行访问功能所需的所有操作都太复杂了
0赞 Liviu Avram 4/1/2021 #2

尝试使用火炮进行负载测试或性能测试。

此外,如果要测量 UI 元素出现所需的时间,可以生成一个计数器,但这些结果不会非常准确。

我使用 testcafe 来做到这一点:

  • 启动计时器并单击按钮 X
  • 当元素 Y 出现时停止计时器。

我想看看 UI 元素出现需要多长时间,但这不是一个有效的测试,因为 UI 并不慢,它背后的 API 很慢,这就是我尝试 Artillery 的时候。

我使用 Artillery + Testcafe 进行测试。我是一名QA,所以我真的不认识其他人。