Comments (10)
Here at Nextown we had to work around a bunch of stuff in order to have some "stable" test lifecycle.
I'll share our workarounds in a gist, maybe you guys can take advantage of some code
from splinter.
Here we go
from splinter.
I have noticed another problem:
Apparently when I visit some page that has a iframe, for some reason webdriver*
switches the content to the latest iframe
so when I test browser.url, it is pointing to the latest iframe, and I have to call browser.driver.switch_to_default_content() manually
* I've tested on chrome, but not in firefox
from splinter.
It seems that Chrome WebDriver it's not mature enough and it's the problem.
And my suggestion is to drop (for a while) Chrome support, by the following steps:
- Freeze actual Chrome state (maybe in a branch)
- Deprecate it in 0.0.4 release
- Drop it in 0.0.5 release
I think we can provide support to Firefox on through WebDriver and focus on headless drivers (like PhantomJS and zombie.js).
What do you guys think? :)
from splinter.
I'd suggest you guys to use Semantic Versioning, http://semver.org/
why all the releases are only on patch level ?
And about chrome, here in Nextown webdriver-chrome is actually WAY more stable than webdriver-firefox, we are really hard users of splinter and we have so much to contribute (the problem now is basically time), so we have a lot more "patches" on webdriver, but we use them as mokey patches in our project.
I have already tried zombie.js for a particular purpose and trust me, both PhantomJS and zombie.js are unstable. Aditionaly, remember that headless drivers are not a silver bullet. They are awesome, dead fast, although they make SO hard to debug when a test fails, specially if the test failed due some UI/effects change with javascript.
Please consider supporting chrome, otherwise we will need to stop using splinter and apply our patches strictly to webdriver.
from splinter.
Ohh a note about Semantic Versioning:
The Semantic Versioning specification is authored by Tom Preston-Werner,
inventor of Gravatars and cofounder of GitHub.
from splinter.
Thanks for suggesting Semantic Versioning, we're going to check it :)
I talk to other repository collaborators and we decide to fork selenium and work on it, instead of drop Chrome support \o/
from splinter.
I'm -1 to drop chrome support, it is unstable but necessary.
About semantic versioning, we will think about it. :)
from splinter.
Sweet guys, thank you for ponderating on my points. I really appreciate.
from splinter.
Chrome tests are just VERY slow.
I'm closing this issue, because all we have to do is wait for Selenium guys :(
from splinter.
Related Issues (20)
- DeprecationWarning: firefox_profile has been deprecated, please use an Options object HOT 3
- Release version 0.18.0 to pypi HOT 2
- Clicking a checkbox should not submit the form HOT 1
- Logging setup in browser.py clobbers other logging HOT 10
- Unnecessary requirement of selenium with `from splinter import Browser`
- Submitting a form send inputs of type submit that were not clicked
- ModuleNotFoundError: No module named 'urllib3' HOT 6
- Error in Docker Container, "unknown error: DevToolsActivePort file doesn't exist" HOT 2
- π From the Selenium project!
- attach_file work with flask? HOT 2
- Browser raise NoneType HOT 7
- CanΒ΄t find Iframe HOT 1
- Integration of undetected-chromedriver
- Changelog: Single file? HOT 3
- 'NoneType' object is not callable HOT 2
- We noticed regressions and inconsistencies after migrating from 0.18.1 to 0.19.0 HOT 9
- Cannot send characters directly to the browser HOT 2
- Config cannot be imported HOT 5
- Parallel script execution HOT 2
- Exception when using the latest Selenium HOT 3
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 splinter.