Могу ли я получить AWS лямбда для запуска теста rspec? - PullRequest
0 голосов
/ 04 ноября 2019

У меня это работает локально.
В aws я получаю ошибку.

Локально я использую

run_lambda_function.rb

require_relative 'lambda_function'
lambda_handler(event: {}, context: Object.new)

Который вызывает

lambda_function.rb

require 'aws-sdk-lambda'
require 'json'
require 'rspec'
require 'capybara'
require 'capybara/rspec'
require 'webdrivers'

def lambda_handler(event:, context:)
  @@short_sleep = 1 # just for these viewing and debugging purposes :)
  Capybara.app_host = 'https://google.com'
  RSpec::Core::Runner.run(['spec/google_spec.rb']) #, $stderr, $stdout)
end

, который использует spec:

spec / google_spec.rb

describe 'Visi Websites', type: :feature do
  it 'can visit google' do
    visit '/'
    expect(page).to have_css('div')
    sleep @@short_sleep
  end
  it 'can visit gogole/forms' do
    visit '/forms'
    expect(page).to have_css('div')
    sleep @@short_sleep
  end
end

Это выполняется локальноно когда я связываю код с вендором / и архивирую все это, загружаю его в lambda (через корзину S3 из-за размера> 50k для зависимостей *) и пытаюсь запустить его в консоли aws mgtmt, я получаю ошибку в веб-драйверах:

enter image description here

Возможно, мне удастся избежать использования безсерверных и других подходов, но я стараюсь оставаться простым и низкоуровневым, без зависимостей и вспомогательных средств, пока яучусь. В пределах разумного конечно. Никаких обручей.

  • зависимости

Gemfile

для локального объединения при тестировании, не имеет отношения (я думаю) к загруженному коду, поскольку я связал его с /вендор и заархивировал все это (отсюда большой размер и необходимость загрузки через ведро s3)

source 'http://rubygems.org'

gem 'rspec'
gem 'webdrivers'
gem 'capybara'
gem 'aws-sdk'

1 Ответ

1 голос
/ 04 ноября 2019

Кажется, вы пытаетесь запустить тестирование на основе графического интерфейса в среде Lambda. Лямбда не имеет доступа к устройствам отображения. Вы должны попытаться запустить свои тесты в режиме без головы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...