WebdriverIO
Next-gen browser and mobile automation test framework for Node.js
...It comes with smart selector strategies that can, e.g. using the react$ command, fetch React components by its component name and filter it by its props or states. A similar command called $shadow provides the ability to fetch elements within the shadow DOM of a web component.