Comments (5)
I've forked this repo and tried to add the cuprite driver like describe above, and Cucumber runs like before, meaning like if puffing-billy is not installed...
So my setup is made with Docker, with my rails
container running my app, cucumber, and the Capybara's server to expose the app to the browser, which runs in another container using the browserless Docker image.
I have configure puffing-billy in order to run on port 3002 with the host rails
(the name of the container where is running puffing-billy) and it works when I curl the proxy from the chrome
container with 👍
curl --proxy http://rails:3002 http://www.google.com
It's intended to use a HTTP URL in order to avoid any possible issues about SSL/TLS verifications
I can see the puts
from my before_handle_request
block.
I though then that the set_proxy
method from cuprite doesn't work with my Chrome version 94, so I've checked the running commands with ps aux
from the chrome
container, and I wasn't able to find the port 3002
, nor the host rails
...
I will check on the cuprite side if there's an issue with set_proxy
, I would appreciate if anyone could tell me if puffing-billy works with a remote browser (no matter the driver) ?
from puffing-billy.
Here is what I found :
- the cuprite gem write itself the final
:browser_options
to include theproxy-server
entry which is fine (even if the Ferrum gem actually expect a:proxy
Hash) - the ferrum gem completely ignores the
:browser_options
whenever there's an:url
options (remote browser) which is why it is not working in my case
I'm now investigating how to pass that proxy-server
option even do the browser is in remote.
from puffing-billy.
Puffing-billy just acts as the proxy for your browser. It's not a standalone thing.
You should just be able to use cuprite's proxy setting:
page.driver.set_proxy(ip, port, type, user, password)
with Billy.proxy.host and Billy.proxy.port (not sure if the others are required)
from puffing-billy.
Thank you for your comment, but like I'm showing in my various component, I'm actually not only requesting support for cuprite in this gem, but also implementing proxy setting in remote browser -- at least for Cuprite -- in the Ferrum gem.
I'm just sharing my finds in the case it could help someone else who would try to use puffing-billy with another driver and a remote web browser.
Anyway, it's good to know that without implementing a driver in this gem we can still use it with page.driver.set_proxy
.
from puffing-billy.
The cuprite driver config has been published in version 3.0.4 🎉
from puffing-billy.
Related Issues (20)
- question: mocking images HOT 1
- specify verify_peer option to EM::HttpRequest HOT 2
- click on select option, then click a button, billy driver not working, but default driver working. HOT 5
- Proxy errors in Docker + Headless Chrome + Selenium HOT 2
- New requests being recorded on each run HOT 3
- How to correctly cache requests with metadata that changes on each request HOT 2
- Resources link to Stripe integration is dead HOT 1
- Request fails: Errno::ECONNREFUSED HOT 9
- Can there be a feature to save requests as HAR files? HOT 4
- Feature request: instructions for using with selenium grid HOT 4
- PB ignoring localhost requests HOT 2
- Net::ReadTimeout HOT 10
- Puffing Billy Receiving Requests but not Responses from Firefox
- Contributions HOT 1
- Include lib/tasks/billy.rake HOT 7
- i want to try
- Breaks when upgrading selenium-webdriver from 4.10.0 to 4.11.0 (`headless!`) HOT 1
- Filter sensitive data out of cache
- Not working with Ruby 3.3.0, because "em-http-request" require dead "cookiejar" HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from puffing-billy.