【问题标题】:Checking if a function from the sources of a website is executed检查是否执行了来自网站源的功能
【发布时间】:2022-11-21 10:38:45
【问题描述】:

使用普通浏览器中的“Inspect Element”选项,可以访问“Sources”选项卡,不仅可以看到网站使用的文件,还可以标记一行代码(如下图第 463 行所示)带有 .js 文件),这将使浏览器在执行该行代码时暂停(本质上是调试器)。从这个意义上说,检查某行代码是否被执行似乎是可能的,这是我用 Python 完成自动化所需要的,最好是用 Selenium,但我也不知道该怎么做。

【问题讨论】:

  • 它不是“本质上是调试器”,而是调试器,而您正在设置断点。我不知道是否可以使用 Selenium 自动化 Chrome 调试器,但我很怀疑。
  • 这个 .js 代码是你自己项目的一部分吗?如果是这样,我建议使用 Jest 或 Mocha 等 JS 测试库来测试它,而不是 python 中的 selenium。

标签: python python-3.x selenium selenium-webdriver web-scraping


【解决方案1】:

Selenium 测试旨在成为“黑匣子”。也就是说,您加载一个页面并仅访问浏览器窗口中可用的内容以验证行为是否正确。您不应该尝试验证代码的特定部分是否已编写。即使你能找到一种方法来做到这一点,它也会使你的测试变得非常脆弱。

如果你是写 JavaScript 代码,那么我建议直接使用 Jest 或 Mocha 之类的框架来测试它。您仍然不应该验证特定代码行是否已执行,但您可以通过直接调用函数并检查返回值或副作用以确保它们正确来测试函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多