)]}'
{
  "commit": "88a8296590228716c64947569b77f726997ff191",
  "tree": "b5350b0e3aeaa5b56472a38ef6651237899e3cf2",
  "parents": [
    "7284ec48b4b6f27ca41242b125a4c827bb943de6"
  ],
  "author": {
    "name": "Andrei Solntsev",
    "email": "andrei.solntsev@gmail.com",
    "time": "Wed Dec 10 18:03:02 2025"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Dec 10 18:03:02 2025"
  },
  "message": "fix flaky Ruby test `element_spec.rb` (#16709)\n\n* fix flaky Ruby test `element_spec.rb`\n\nWait until the new URL gets loaded.\n\nSometimes after executing `driver.navigate.to url_for(\u0027new_page.html\u0027)` the browser is still showing the previous page.\n\nExample of failure:\n\n```ruby\nSelenium::WebDriver::Element raises if different element receives click\n     Failure/Error: element \u003d wait_for_element(id: \u0027contents\u0027, timeout: 10)\n\n     Selenium::WebDriver::Error::TimeoutError:\n       could not find element {:id\u003d\u003e\"contents\", :timeout\u003d\u003e10} in 25 seconds;\n       page url: http://localhost:49887/resultPage.html?x\u003d25\u0026y\u003d25;\n       page source:\n       \u003cp id\u003d\"greeting\"\u003eSuccess!\u003c/p\u003e ...\n\n     # ./rb/lib/selenium/webdriver/common/wait.rb:76:in `until\u0027\n     # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/helpers.rb:93:in `wait_for_element\u0027\n     # ./rb/spec/integration/selenium/webdriver/element_spec.rb:35:in `block (2 levels) in \u003cmodule:WebDriver\u003e\u0027\n```\n\nSee https://github.com/SeleniumHQ/selenium/actions/runs/20055175531/job/57520193372#step:19:920 for example.\n\n* Open a blank page before every test\n\nIt\u0027s a good practice to avoid tests affecting each other:\n1. Open \"about:blank\" page - this stops any current activity / background requests / animations on the previous page\n2. Open an empty page which clears sessionStorage, localStorage and cookies.\n\nThis technique allows reusing the browser between tests, while keeping the tests independent.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c3f376e768078941df7dca4ec1ae1676bbc5204d",
      "old_mode": 33188,
      "old_path": "common/src/web/blank.html",
      "new_id": "fa50d6d1f1e7b5d5a512d9e6f67d9ae2fa3aa3cc",
      "new_mode": 33188,
      "new_path": "common/src/web/blank.html"
    },
    {
      "type": "modify",
      "old_id": "06d1e04a4367433b8d86e3279b2ba8cad78ab208",
      "old_mode": 33188,
      "old_path": "rb/spec/integration/selenium/webdriver/element_spec.rb",
      "new_id": "ddd1a39feede9c94520d3728bf8c3e90d2cd4f1a",
      "new_mode": 33188,
      "new_path": "rb/spec/integration/selenium/webdriver/element_spec.rb"
    },
    {
      "type": "modify",
      "old_id": "a3a7f0ac111608295a9ccac8766ba26485fd0ade",
      "old_mode": 33188,
      "old_path": "rb/spec/integration/selenium/webdriver/spec_support/helpers.rb",
      "new_id": "0508ad3c5a4ccf53bb0751d7faa8b6ca006e1a49",
      "new_mode": 33188,
      "new_path": "rb/spec/integration/selenium/webdriver/spec_support/helpers.rb"
    }
  ]
}
