brave / brave-browser

Brave browser for Android, iOS, Linux, macOS, Windows.
https://brave.com
Mozilla Public License 2.0
17.85k stars 2.34k forks source link

Add system tests #30744

Open wknapik opened 1 year ago

wknapik commented 1 year ago

We could run tests with the entire (optionally ASANified) browser.

We could use Selenium/Puppeteer/etc. to have the browser access pages, execute actions with the mouse and keyboard, etc. Those pages could include old/new exploits, or have generated content (along with generated events) to fuzz the browser, or just check for expected behavior which shouldn't change.

We could test cases like:

wknapik commented 1 year ago

cc @bsclifton, @kdenhartog, @iefremov, @goodov

Just some ideas. Wdyt?

kdenhartog commented 1 year ago

For me I was thinking more low level, so fuzzing very specific functions like wallet transaction parsers. It seems being able to do this at a higher level could be useful and achievable just as easily with fuzzing the JS APIs rather than particular C++ functions.

wknapik commented 1 year ago

@kdenhartog yeah, we should fuzz at a lower level, for sure. This would just introduce the highest level in addition to whatever else we do. Figured I'd tag you, given your interest in fuzzing.

bsclifton commented 1 year ago

We can use puppeteer for doing this - one example @pes10k and I hashed out a while back: https://github.com/brave-experiments/brave-twitter-tip-tester