Как заглушить реквизиты headless_chrome с помощью web_mock в атрибутах src тегов img - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь использовать Webmock для безголовых заявок на хром. Я просто хочу проверить следующее:

Учитывая теги select и carousel (карусель реализована с использованием Swiper), если я изменю тег select, текущее отображаемое изображение карусели должно соответственно измениться. Для этого я использую VueJS. Примером этого в jQuery будет:

$(document).on('load', function() {
  $('.current-carousel-image').src = "https://something.com/some-image"
})

Как я могу заглушить эти запросы от атрибута src в теге img?

Я использую Webmock, поэтому по сути я попробовал это:

test 'test something' do
  stub_request(:any, /host.com.br/)
  visit products_path(product)

  [...]

  find('select[data-grass="material-filter"]').find(:xpath, 'option[2]').select_option

  [...]
end

является host.com.br службой, предоставляющей нужные мне изображения.

это похоже на работу, когда я пытаюсь использовать методы Net::HTTP, однако в моем системном тесте заявки продолжают возвращать статус 400 (это то, что ожидается, учитывая, что я использую FactoryBot для генерации данных, которые я использую в страница тестируется, но служба, предоставляющая изображения, которые я использую, подготовлена ​​к актуальным моделям в моей производственной базе данных)

1 Ответ

0 голосов
/ 02 июля 2019

Вы не можете заглушить тех, кто использует WebMock.WebMock может только блокировать запросы, которые делает ваше приложение - он ничего не может делать с запросами, которые делает браузер.

Чтобы заблокировать / смоделировать запросы, сделанные браузером, вам нужно использовать программируемый прокси.Один из них, который вы можете посмотреть, это PuffingBilly

...