react-nativeexpoe2e-testingplaywrightexpo-web

Is there a way to access test id's using expo web?


I'm trying to run end to end tests on an Expo Web project with Playwright. I was hoping that when I added a testId prop to a React Native view it would be converted to a data-testid so I could select the element for my tests.

However, it doesn't do this so I can't figure out a good way to select the elements. So far the best thing I can come up with is to add an accessibility label to the element.

Does anyone know a better way to add test id's to react-native expo projects that'll be tested on the web?


Solution

  • You can do this!

    I may have made a casing mistake. You add a testID prop on the react native component and then query for div['data-testid="sampleId"']

    Here's a code example: https://github.com/expo/expo/blob/b655ff28d924e2274c627294778a02dbec1268db/apps/bare-expo/e2e/TestSuite-test.web.js#L68