After adding testID, the new name attribute does not appear on the iOS platform, thanks to which I could use this element in my e2e tests. On the Android platform, this testID is visible as a resource-id attribute.
For example, in the Button component, after adding testID, the name attribute appears on the iOS platform, and for the Android platform, testID is visible as the resource-id attribute.
A screenshot from the Appium inspector tool, where all the attributes of the hidden element are visible (missing testID for iOS platform):
A screenshot from the Appium inspector tool, where all the attributes of the hidden element are visible (testID is visible as resource-id for the Android platform):
watchOS 9.1
Android SDK: Not Found
IDEs:
Android Studio: 2021.3 AI-213.7172.25.2113.9123335
Xcode:
version: 14.1/14B47b
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.8
path: /usr/bin/javac
Ruby:
version: 2.7.6
path: /Users/elzbietaszulc/.rvm/rubies/ruby-2.7.6/bin/ruby
npmPackages:
"@react-native-community/cli": Not Found
react: Not Found
react-native: Not Found
react-native-macos: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: false
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: false
Steps to reproduce
Add testID="status_bar_hidden_button" to the StatusBarExample.js component (hidden element)
Reload RNtester app
Run the Appium Inspector tool
Check if name attribute has been added for the iOS platform
Description
After adding testID, the new name attribute does not appear on the iOS platform, thanks to which I could use this element in my e2e tests. On the Android platform, this testID is visible as a resource-id attribute. For example, in the Button component, after adding testID, the name attribute appears on the iOS platform, and for the Android platform, testID is visible as the resource-id attribute.
A screenshot from the Appium inspector tool, where all the attributes of the hidden element are visible (missing testID for iOS platform):
A screenshot from the Appium inspector tool, where all the attributes of the hidden element are visible (testID is visible as resource-id for the Android platform):
React Native Version
0.72.4
Output of
npx react-native info
System: OS: macOS 13.0.1 CPU: (8) arm64 Apple M1 Pro Memory: 223.94 MB / 32.00 GB Shell: version: 5.8.1 path: /bin/zsh Binaries: Node: version: 18.17.0 path: ~/.nvm/versions/node/v18.17.0/bin/node Yarn: version: 1.22.19 path: /usr/local/bin/yarn npm: version: 9.6.7 path: ~/.nvm/versions/node/v18.17.0/bin/npm Watchman: version: 2023.07.24.00 path: /opt/homebrew/bin/watchman Managers: CocoaPods: version: 1.12.1 path: /Users/elzbietaszulc/.rvm/gems/ruby-2.7.6/bin/pod SDKs: iOS SDK: Platforms:
Steps to reproduce
Snack, screenshot, or link to a repository
A link to the StatusBar component that I defined:
https://github.com/facebook/react-native/commit/1a0aa4deccf8e4906b6cabb6ca1c256144c1905d#diff-b18fc0c0f0855b6d50574152d4c1169b6e17ca8058d1cdf6aa0ff35203b03183
A link to StatusBarExample.js where I added testID:
https://github.com/elzszulc/react-native/commit/a8e91190646ee31d925d08e9916f707530319f87#diff-2b00a1862df8983883889bfdc2e01f3ea7ca3970edab508da39c26419f9447e3