зеркало из
https://github.com/glebtv/yookassa.git
synced 2026-09-07 19:35:51 +03:00
Fix browser tests: add CI flags and use setup-chrome output for CHROME_PATH
Этот коммит содержится в:
6
.github/workflows/main.yml
поставляемый
6
.github/workflows/main.yml
поставляемый
@@ -30,9 +30,6 @@ jobs:
|
|||||||
browser-tests:
|
browser-tests:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
env:
|
|
||||||
CHROME_PATH: /usr/bin/google-chrome
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Set up Ruby
|
- name: Set up Ruby
|
||||||
@@ -42,5 +39,8 @@ jobs:
|
|||||||
bundler-cache: true
|
bundler-cache: true
|
||||||
- name: Set up Chrome
|
- name: Set up Chrome
|
||||||
uses: browser-actions/setup-chrome@v1
|
uses: browser-actions/setup-chrome@v1
|
||||||
|
id: setup-chrome
|
||||||
- name: Browser specs (Cuprite)
|
- name: Browser specs (Cuprite)
|
||||||
run: bundle exec rspec --tag browser
|
run: bundle exec rspec --tag browser
|
||||||
|
env:
|
||||||
|
CHROME_PATH: ${{ steps.setup-chrome.outputs.chrome-path }}
|
||||||
|
|||||||
@@ -78,7 +78,35 @@ if defined?(Rails)
|
|||||||
Capybara.server = :webrick
|
Capybara.server = :webrick
|
||||||
Capybara.default_max_wait_time = 5
|
Capybara.default_max_wait_time = 5
|
||||||
Capybara.register_driver(:cuprite) do |app|
|
Capybara.register_driver(:cuprite) do |app|
|
||||||
Capybara::Cuprite::Driver.new(app, headless: true)
|
browser_options = {
|
||||||
|
"no-sandbox" => nil,
|
||||||
|
"disable-dev-shm-usage" => nil,
|
||||||
|
"disable-gpu" => nil,
|
||||||
|
"disable-software-rasterizer" => nil,
|
||||||
|
"disable-setuid-sandbox" => nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if ENV["CI"]
|
||||||
|
browser_options.merge!(
|
||||||
|
"disable-background-timer-throttling" => nil,
|
||||||
|
"disable-backgrounding-occluded-windows" => nil,
|
||||||
|
"disable-renderer-backgrounding" => nil,
|
||||||
|
"disable-ipc-flooding-protection" => nil
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
options = {
|
||||||
|
window_size: [1280, 1024],
|
||||||
|
browser_options: browser_options,
|
||||||
|
timeout: ENV.fetch("FERRUM_TIMEOUT", 30).to_i,
|
||||||
|
headless: true,
|
||||||
|
process_timeout: ENV.fetch("FERRUM_PROCESS_TIMEOUT", ENV["CI"] ? 120 : 30).to_i
|
||||||
|
}
|
||||||
|
|
||||||
|
chrome_path = ENV.fetch("CHROME_PATH", nil)
|
||||||
|
options[:browser_path] = chrome_path if chrome_path
|
||||||
|
|
||||||
|
Capybara::Cuprite::Driver.new(app, **options)
|
||||||
end
|
end
|
||||||
|
|
||||||
RSpec.configure do |config|
|
RSpec.configure do |config|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user