Skip to content

Feature/lee cuprite changes#1

Open
leeroybrown wants to merge 25 commits intofeature/cupritefrom
feature/lee-cuprite-changes
Open

Feature/lee cuprite changes#1
leeroybrown wants to merge 25 commits intofeature/cupritefrom
feature/lee-cuprite-changes

Conversation

@leeroybrown
Copy link
Copy Markdown

No description provided.

github-actions bot and others added 25 commits June 5, 2025 12:06
Co-authored-by: michael-siek <michael-siek@users.noreply.github.com>
…#385)

QA Notes:

The following code occasionally caused Safari to throw a
`noSuchWindowException` around 1 in 10 times, and I expect it never to
do so now.

```
require "selenium-webdriver"
require_relative "../../lib/axe/api/run"
require "json"


driver = Selenium::WebDriver.for :safari
# driver.navigate.to "http://google.com"
driver.navigate.to "https://dequeuniversity.com/demo/mars/"

res = Axe::Core.new(driver).call Axe::API::Run.new.with_options

puts JSON.pretty_generate res.results.to_h

driver.quit
```

Note the commented `# driver.navigate to "http://google.com"`. Issue
dequelabs#353 notes that attempting to navigate to `http://google.com` would also
occasionally cause an exception "Page/Frame not ready" to be thrown; it
should no longer do so.

Please uncomment this line, comment `driver.navigate.to
"https://dequeuniversity.com/demo/mars/"` and test again. This fix is
included here since they are closely related.

Closes: dequelabs#352
Closes: dequelabs#353
This pull request updates the version of
[`axe-core`](https://npmjs.org/axe-core) to v4.9.1.

This PR was opened by a robot 🤖 🎉.

Co-authored-by: AdnoC <AdnoC@users.noreply.github.com>
Fixes the broken lazy load iframe tests.

Ref: dequelabs/axe-core-npm#1052

No QA needed.
This pull request updates the version of
[`axe-core`](https://npmjs.org/axe-core) to v4.10.0.

This PR was opened by a robot 🤖 🎉.

no qa required

Co-authored-by: AdnoC <AdnoC@users.noreply.github.com>
Co-authored-by: Michael <me@michaelsiek.com>
It saves 95% of load time when doing `require "axe-rspec"`.

The time is actually spent loading the `virtus` library. Deferring the
loading of `Axe::API::Run` until needed does in turn defer the loading
of `virtus` library.

No QA required.

---------

Co-authored-by: Christophe Bliard <christophe.bliard@trux.info>
When running CI on [another
PR](dequelabs#404), Selenium would
consistently fail with
```
Failure/Error: $driver.get fixture "/index.html"
Selenium::WebDriver::Error::InvalidSessionIdError: invalid session id
```

This [appears to be due to resourcing issues for new versions of
Chrome](https://stackoverflow.com/questions/56002701/selenium-webdriver-error-invalid-session-id);
pinning the Chrome version in CI consistently fixes the issue.

No QA needed.
Closes dequelabs#402 

Background: ostruct (aka OpenStruct) is part of Ruby's standard library,
but it's being pulled out of the standard library and into a gem. For
now, both versions are available. If you require the version from the
standard library, Ruby 3.3.5 will print a warning urging you to switch
over to using the gem version. In Ruby 3.5.0, the standard library
version will not exist.

The warning looks like this:

```
/Users/mjacobson/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/virtus-2.0.0/lib/virtus.rb:1: warning: /Users/mjacobson/.rbenv/versions/3.3.5/lib/ruby/3.3.0/ostruct.rb was loaded from the standard library, but will no longer be part of the default gems starting from Ruby 3.5.0.
You can add ostruct to your Gemfile or gemspec to silence this warning.
Also please contact the author of virtus-2.0.0 to request adding ostruct into its gemspec.
```

Because axe-core-gems uses virtus, and virtus uses ostruct, users of
axe-core-gems will start to see this warning when they upgrade to Ruby
3.3.5.

Ideally, virtus itself would add ostruct to its gemspec, but virtus is
discontinued and has not received an update in years and is not likely
to receive one again. Given that, I suggest axe-core-gems adds ostruct
to its gemspecs, to make sure the gem version is installed and used.
That way, no warning will be printed and the gem should be compatible
with Ruby 3.5.0.

Note: this is a fork of
dequelabs#403 that allows CI to
run.

No QA required.

Co-authored-by: Max Jacobson <max@hardscrabble.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants