XCUITest PageSource element XCUIElementTypeGroup missing?

I have a table view in my iOS app which under Appium 1.5.3 UIAutomation getPageSource() looked like this for a table group header and the first cell under the header…

		<UIATableView name="" label="" value="rows 1 to 20 of 70" dom="" enabled="true" valid="true" visible="true" hint="" path="/0/0/24" x="0" y="140" width="421" height="884">
			<UIATableGroup name="TRANSACTION INFORMATION" label="" value="" dom="" enabled="true" valid="true" visible="true" hint="" path="/0/0/24/0" x="0" y="140" width="421" height="20">
				<UIAStaticText name="TRANSACTION INFORMATION" label="TRANSACTION INFORMATION" value="TRANSACTION INFORMATION" dom="" enabled="true" valid="true" visible="true" hint="" path="/0/0/24/0/0" x="10" y="141" width="401" height="18"></UIAStaticText>
			</UIATableGroup>
			<UIATableCell name="Name" label="" value="" dom="" enabled="true" valid="true" visible="true" hint="" path="/0/0/24/1" x="0" y="160" width="421" height="44">
				<UIAStaticText name="Name" label="Name" value="Name" dom="" enabled="true" valid="true" visible="true" hint="" path="/0/0/24/1/0" x="8" y="166" width="47" height="32.5"></UIAStaticText>
				<UIATextField name="" label="" value="editTRPropertyDetails_ListingDetails_BA (ios) - 11467" dom="" enabled="true" valid="true" visible="true" hint="" path="/0/0/24/1/1" x="63" y="166" width="317" height="32.5">
					<UIATextField name="" label="" value="editTRPropertyDetails_ListingDetails_BA (ios) - 11467" dom="" enabled="true" valid="true" visible="true" hint="" path="/0/0/24/1/1/0" x="63" y="166" width="317" height="32.5"></UIATextField>
				</UIATextField>
			</UIATableCell>

Now, when I get the page source with Appium 1.6.4-beta, I see this…

																	<XCUIElementTypeTable type="XCUIElementTypeTable" enabled="true" x="0" y="140" width="421" height="884">
																		<XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" x="0" y="140" width="421" height="20">
																			<XCUIElementTypeStaticText type="XCUIElementTypeStaticText" value="TRANSACTION INFORMATION" name="TRANSACTION INFORMATION" label="TRANSACTION INFORMATION" enabled="true" x="10" y="141" width="401" height="18"/>
																		</XCUIElementTypeOther>
																		<XCUIElementTypeCell type="XCUIElementTypeCell" enabled="true" x="0" y="160" width="421" height="44">
																			<XCUIElementTypeStaticText type="XCUIElementTypeStaticText" value="Name" name="Name" label="Name" enabled="true" x="8" y="166" width="47" height="33"/>
																			<XCUIElementTypeTextField type="XCUIElementTypeTextField" value="editTRPropertyDetails_ListingDetails_BA (ios) - 08189" label="" enabled="true" x="63" y="166" width="317" height="33"/>
																		</XCUIElementTypeCell>

Notice how the UIATableGroup shows as XCUIElementTypeOther instead of XCUIElementTypeGroup like the other controls. Is this something Appium is doing during the conversion?

Having the same issue here. I need to access the attribute “visible” and always receive false as a result. Decided to go for driver.pace_source and discovered that this attribute do not exist anymore.

You can also try to search by iOS predicates too…

        appiumDriver.findElement(MobileBy.iOSNsPredicateString("type == 'XCUIElementTypeStaticText' AND name == 'something' AND visible == 1"));

I’m using ruby, it seems that MobileBy does not work on ruby.