Comments (3)
Can you elaborate on why you need support for this?
from karma-electron.
The navigator contains shared state across multiple pages. Each page builds a navigation menu from data in the navigator and also asks the navigator to change load a different page when a menu linked is clicked.
So it makes sense to me at least that the navigator should be created in the main process so that each page has access to the shared state via remote.getGlobal('navigator')
Thinking out loud:
If I create the navigator on the render process then my page can't get access to it through remote.getGlobal
. In other words I would need different way of accessing the variable for testing vs when running the app. I have yet to find a way to do this.
I would also be creating the navigator on the render process which does not reflect how it will be created in the main process when running the app.
from karma-electron.
I don't think karma-electron
is best suited for your needs. It's more built for testing single page applications but not how they interact with browser window menus and OS level interactions (e.g. saving application state). The reason is anything application level will wind up being shared by the karma-electron
harness which might not properly clear state between test runs.
For browser window menus and OS level interactions, electron
has tools like spectron
and electron-chromedriver
:
https://github.com/electron/spectron
https://github.com/electron/chromedriver
https://github.com/electron/electron/blob/v1.3.6/docs/tutorial/using-selenium-and-webdriver.md
The low level difference between these is:
karma
loads a test harness webpage inelectron
which opens bootstrapped windowselectron-chromedriver
/spectron
controls anelectron
application via Chromium's wire protocol
from karma-electron.
Related Issues (20)
- `electron` did show not nothing happen then HOT 1
- Can't import nodejs modules in an angular-cli project (Typescript) HOT 1
- Errors without stack traces coming from karma-electron? HOT 5
- running with ndb for debugging? HOT 2
- Unable to open Electron window using --show HOT 3
- Electron 5 nodeIntegration HOT 12
- Custom launcher `require` mechanism doesn't work HOT 4
- Module paths are messed up HOT 5
- Error: Karma plugin is meant to be used from within Angular CLI and will not work correctly outside of it HOT 1
- How to configure NODE_PATH for the Electron instance? HOT 24
- [feature] option like 'require', but for renderer processes. HOT 1
- Karma times out when using Electron 9 and client.useIframe = false HOT 20
- Non-context aware native modules in renderer will cause specs to error HOT 3
- [questions] Is Electron 12 supported? HOT 16
- electron V12.0.4---------require is not defined HOT 3
- ES Modules HOT 2
- "require is not defined" after update to karma-electron 7 / electron 12 HOT 12
- Regardless of the `browserWindowOptions.show` value, a window always opens. HOT 12
- sqlite3 stalls with nodeIntegration true contextIsolation false HOT 12
- Consider migrating this great work to @web/test-runner. HOT 1
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 karma-electron.