firefox - Selenium IDE 停留在“准备运行测试”
问题描述
我在 Selenium IDE 中有一个看起来像这样的测试。假设我们的基本 URL 是https://stackoverflow.com
.
- 打开/问题
- 暂停 500
- 输入 id=搜索你好
当我运行测试时,前两个步骤标记为绿色,但实际上浏览器仍然位于 `moz-extension://blahblah/bootstrap.html,上面写着“准备运行测试”。因此,任何依赖实际存在的页面的后续测试都将超时并失败。除了 Selenium 之外,我已禁用所有其他扩展,但问题仍然存在。
这个问题的原因可能是什么?
解决方案
TLDR:在第一个打开命令之前插入任何命令(即使是空的/禁用的命令),神奇地修复它。
我注意到这个问题是,它仅在您的测试运行的浏览器窗口尚未打开时才会发生。当您停止测试执行但保持窗口打开然后再次运行测试时,一切都按预期工作。
因此,似乎发生的是,当浏览器窗口仍在打开并且指定的页面实际上并未打开时运行 open 命令,从而使您处于默认页面。现在,下一个尝试对页面执行任何操作的命令会因为您不在正确的页面上而被卡住。
现在由于某种原因,在调用 open 命令之前做任何事情都可以解决这个问题。只需在“打开”之前插入一个新命令,就可以了。
如果这对您不起作用,那么您可以使用“暂停”几毫秒,以便在打开页面之前有时间打开窗口,但这甚至没有必要。
推荐阅读
- mongodb - 如何在数组中找到数组的最大值?
- mysql - 计算一个字符串表示的json对象的值的总和
- c++ - 对一个数组进行排序并在第二个数组交换 C++ 中具有相应的值
- google-cloud-platform - Google Cloud Run 服务上的 DNS_PROBE_FINISHED_NXDOMAIN 错误
- ruby - 将 ruby 应用程序部署到云代工厂,rubygems 失败
- python - Python——如何在不同命名的函数下添加输入函数
- c# - 我想知道C#中函数和方法的区别
- python - 如何暂停或删除manim中的声音?
- javascript - Java 脚本正则表达式接受多个值,包括 Mountebank 谓词中的空值
- c++ - 在 for 循环中声明变量是否有替代方法?