-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
adding runPipeline tests #27015
adding runPipeline tests #27015
Conversation
Pinging @elastic/kibana-app |
💚 Build Succeeded |
we are gonna try with a different approach |
5d0069d
to
6448621
Compare
💔 Build Failed |
💔 Build Failed |
eb1cb50
to
f7a5fea
Compare
💔 Build Failed |
f7a5fea
to
310fb7b
Compare
💔 Build Failed |
💔 Build Failed |
9e7d6dd
to
4b73106
Compare
💔 Build Failed |
💔 Build Failed |
fc4ca2c
to
803a5ea
Compare
💔 Build Failed |
💔 Build Failed |
fc95931
to
eb90e80
Compare
💚 Build Succeeded |
e9c0073
to
f12b942
Compare
💔 Build Failed |
Nice, this is looking good to me! 2 build failures: the first will be fixed with a rebase on master, and the second is screenshot flakiness. Sounds like we just have to discuss what to do about those screenshots... #33187 is a related issue I ran into recently that would likely be solved by this too |
💔 Build Failed |
💔 Build Failed |
5700b43
to
1510373
Compare
Keep in mind we'll be getting screenshot tests with Applitools ( cc @liza-mae ). That might be a better route to verify the rendering and keep these tests just for testing the data output? |
💚 Build Succeeded |
I talked with spencer, he is ok with the partial screenshot approach, but suggested to use png resizing lib instead of canvas which requires native modules. I was suggested to use https://github.com/lovell/sharp and am giving it a try now. |
💔 Build Failed |
💔 Build Failed |
I tested new png cropping on windows and linux |
💚 Build Succeeded |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Tested and the new screenshots work great on OSX. Only caveat is that I don't know if the new library is really going to be helpful for maps, since it doesn't capture any of the tiles. But it certainly solves the problem for everything else.
I did notice a new console error from kbn_chrome.js
, but after looking into it, I think it's likely due 4f0a57a, and the tests are still working either way.
TypeError: Cannot read property 'slice' of null
at eval (kbn_chrome.js:80)
at Scope.$broadcast (angular.js:18869)
at eval (angular.js:14600)
at Scope.$digest (angular.js:18352)
at Scope.$apply (angular.js:18649)
at bootstrapApply (angular.js:1958)
at Object.invoke (angular.js:5106)
at doBootstrap (angular.js:1956)
at Object.bootstrap (angular.js:1976)
at Object.chrome.bootstrap (chrome.js:96)
💚 Build Succeeded |
Summary
resolves #22139
this implements
runPipeline
tests as selenium test:window
objectexecuteAsync
inside selenium tests to run that function with parameters we providethe result is a simple framework that allows us to test pipeline expressions with real es and kibana running.
in long term we probably want this to be more lightweight -- hopefully jest tests, but until we get there this could serve us well, and moving to jest once we have the infrastructure ready should not be a problem as we could implement a very similar wrapper there.
Running tests
node scripts/functional_tests_server --config test/interpreter_functional/config.js
node scripts/functional_test_runner --config test/interpreter_functional/config.js
Checklist
Use
strikethroughsto remove checklist items you don't feel are applicable to this PR.[ ] This was checked for cross-browser compatibility, including a check against IE11[ ] Any text added follows EUI's writing guidelines, uses sentence case text and includes i18n support[ ] Unit or functional tests were updated or added to match the most common scenariosFor maintainers
[ ] This was checked for breaking API changes and was labeled appropriately[ ] This includes a feature addition or change that requires a release note and was labeled appropriately