Comments (3)
Because we will have #90 as part of the build, I would suggest cross-browser testing during the e2e part. I believe browserstack has a free option for open source projects. I'll see if I can get us enrolled in that program and do cross browser testing as part of the build process.
from threat-dragon.
After investigating a bit more, I believe that cypress is the way forward. I'll be merging into the v2-development branch soon with the e2e tests rewritten as cypress tests. The cypress framework is significantly less verbose, and offers some other benefits, including local e2e testing using electron. This will be important for the desktop component of Threat Dragon moving forward, as we can be more confident that things are working as expected prior to bundling a release.
BrowserStack does, indeed, offer free services to open source projects. We get 5 parallel threads. This is generous and enough for our use case.
Unfortunately, a limitation of Cypress is the browser support. It currently only supports Chrome, Firefox, Edge and Electron. The Browserstack runner supports Chrome, Firefox and Edge. For that reason, and the limitation of 5 parallel tests, I've configured the tests to run on windows for Chrome, Firefox and Edge, and Mac OS (Big Sur) Chrome and Firefox. While we could also technically test edge on Mac OS, we'd have to run that separately, as we would be out of headroom for the license that Browserstack has given us. I honestly don't believe too many users on MacOS have opted into Edge at this point anyways.
The cross-browser testing is time consuming and will only get longer as more tests are added. Because of that, the main CI pipeline will be updated to run the CI tests on Chrome and Firefox only (as they currently were), and the cross-browser testing will happen on merges to master.
from threat-dragon.
v2 is maturing and the e2e / browser testing has been running without issue for at least a couple months now. More tests need to be added, but the browser coverage for e2e tests can be found here: https://www.threatdragon.com/docs/development/testing/e2e.html
from threat-dragon.
Related Issues (20)
- Make threat creation and update consistent
- [Feature] : Enhancement can be done in the contributor form-tag of [Create Empty Threat Model] Page HOT 1
- Provide translation for Demo Model Page HOT 3
- Conform to OCSF schema
- Running threat dragon behind nginx HOT 2
- Threat Dragon improperly constructs GitHub Enterprise URLs
- Threats Available in PLOT4ai Diagram Type HOT 1
- Translation to Japanese HOT 1
- Contributors field is not saved HOT 4
- OWASP Threat Dragon - Logo in GitHub dark mode? HOT 3
- Optional entity properties are not shown in reports HOT 1
- "Edit Threat" dialog caches content after Cancel button HOT 3
- ZAP Full Scan Report
- ZAP Full Scan Report
- Enable Gitlab Enterprise integration HOT 6
- server CSP
- Implement mousewheel button dragging for graph panning
- Translate to Farsi HOT 1
- [CHORE] upgrade SBOM generator
- Two undo/redo methods do not join up
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 threat-dragon.