ruby-on-rails - 如何在 img 标签上的 src 属性上使用 web_mock 存根 headless_chrome 申请
问题描述
我正在尝试使用 Webmock 来存根无头 chrome 申请。我只是想测试以下内容:
给定一个选择和一个轮播标签(轮播是使用 Swiper 实现的),如果我更改选择标签,则轮播的当前显示图像必须相应更改。为此,我正在使用 VueJS。jQuery 中的一个例子是:
$(document).on('load', function() {
$('.current-carousel-image').src = "https://something.com/some-image"
})
如何从 img 标签中的 src 属性存根这些请求?
我正在使用 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 生成我在被测试页面中使用的数据,但是提供我使用的图像的服务已准备好用于我的生产数据库中的实际模型)
解决方案
你不能使用 WebMock 存根那些。WebMock 只能存根您的应用程序发出的请求——它不能对浏览器发出的请求做任何事情。
要存根/模拟浏览器发出的请求,您需要使用可编程代理。您可能想看的一个是PuffingBilly
推荐阅读
- javascript - 当使用 PHP 包含时,工具按钮不起作用
- python - 带有 Azure blob 服务的 Python
- smartsheet-api - 如何解决连接到 api.smartsheet.com:443 [api.smartsheet.com/ip] 失败:连接被拒绝:连接?
- python - 将列表的元素拆分为数组
- javascript - Type(Java)Script,如何创建时间戳
- ios - 是否可以从 xcode 10.x 检测到任一用户在 iPhone 上选择了暗模式
- javascript - 使用 settimeout 从下拉列表中的后端返回数据
- java - 无法使用 Dagger 2 提供活动上下文
- python - Python库安装libact:libact构建轮失败
- python - Python/Pygame:列表显然会覆盖自身