gpt4 book ai didi

java - Javascript 完成后开始 Selenium 测试

转载 作者:行者123 更新时间:2023-12-02 16:04:40 25 4
gpt4 key购买 nike

我正在使用 Selenium,我不仅需要在页面渲染时开始测试我的页面,而且还需要在所有 javascript 初始化完成后开始测试我的页面。我希望在测试中避免竞争条件,因为某些元素尚未正确初始化。

简单的问题,当所有 javascript 渲染完成时,有什么方法可以询问 DOM 吗?由于 onDocumentReady,我们知道渲染何时完成。然后,我们可以开始初始化一些 JavaScript,并执行一些业务逻辑。

我想知道是否有任何机制可以知道所有 JavaScript 执行何时完成。我读到了使用 Promise 对象进行一些异步初始化,但我正在寻找一种更通用的方法来了解它。

最佳答案

没有通用方法可以知道 JavaScript 代码已完成初始化。一个页面可以加载数十个 JavaScript 库,这些库都可以做自己的事情。即使您可以检测到初始 Ajax 操作已完成,通常也无法知道该初始操作后面是否会出现同样属于初始化一部分的其他操作。

您需要做的是找到一种方法来确定,就您的测试而言,页面已初始化到足以启动测试。 执行此操作的方式取决于页面上运行的 JavaScript 代码。下面是一个示例。对于我的一些应用程序,我使用 DataTables管理我的一些 table 。表中显示的数据是通过 Ajax 调用加载的。对于某些测试,我知道一旦加载数据,表将有 X 行,因此我等待表中出现这么多行,然后继续测试。这适用于一些测试。对于进行更复杂测试的其他测试,我必须注册一个事件处理程序并监听表重绘事件,然后才能继续测试。如果我唯一测试的是表格,那么等待页面上的其他内容完成初始化将是一种浪费。

关于java - Javascript 完成后开始 Selenium 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30868663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com