このチュートリアルを参考に Compose Multiplatformでアプリを作って Appiumのテストをやってみようと思ったんですよ。
Android, iOSそれぞれのアプリの起動ができて おおっと思いました。
で、Appium Inspectorで中身をのぞいてみたんですよ。 そうしたら、iOSアプリのほうですが、中身に意味のあるものが無いんです。
<?xml version="1.0" encoding="UTF-8"?> <AppiumAUT> <XCUIElementTypeApplication type="XCUIElementTypeApplication" name="ComposeDemo" label="ComposeDemo" enabled="true" visible="true" accessible="false" x="0" y="0" width="393" height="852" index="0"> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="true" accessible="false" x="0" y="0" width="393" height="852" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="0" y="0" width="393" height="852" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="0" y="0" width="393" height="852" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="0" y="0" width="393" height="852" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="0" y="0" width="393" height="852" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="0" y="59" width="393" height="759" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="0" y="59" width="393" height="759" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="59" width="393" height="759" index="0"/> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="0" y="59" width="393" height="759" index="1"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" accessible="false" x="0" y="59" width="393" height="759" index="0"/> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeWindow> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="false" accessible="false" x="0" y="0" width="393" height="852" index="1"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="393" height="852" index="0"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" accessible="false" x="0" y="0" width="393" height="852" index="0"/> </XCUIElementTypeOther> </XCUIElementTypeWindow> </XCUIElementTypeApplication> </AppiumAUT>
XCodeで作成したiOSアプリなら [Clic me!]の部分が XCUIElementTypeButton に [Compose: Hello, iOS 17.2!] の部分が XCUIElementTypeStaticText になるはずなんです。 でも、それらが存在していない。
これの意味するところは、Appiumのロケーターで要素を指定することが不可能ってことです。 つまり、Compose Multiplatformで作成したiOSアプリは、Appiumで自動テストすることができない。
困りましたね。 どうしたらいいんでしょうか。