私のiOSアプリケーションでは、UIテストを追加しました。別の時点でnavigationBarボタンが有効/無効になっているかどうかを確認する必要があります。iOSのUIテストでnavigationBarボタンを有効/無効にする方法は?
現在、私が使用している:
XCUIElement* saveButton = self.app.navigationBars[@"TSSIDAddCardView"].buttons[@"Save"];
XCTAssertEqual(saveButton.hittable, YES);
をしかし、これは常にYESを返します。 .existsテストはYESも返します。
適切なテストを行う方法を知っている人はいますか?
'UIBarButtonItem'へのアクセス権があるため、これは動作しているとは思われません。あなたの例では、 'saveButton'は実際にはまだ' XCUIElement'です。これは 'enabled' /' isEnabled'プロパティを持つ 'XCUIElementAttributes'プロトコルに準拠しています。この '' print ['saveButton class] description ''をテストすることができます。あなたの例は、Objective-Cの動的ディスパッチの緩みのためにのみ機能します。しかし、それはSwiftではうまくいきません。基本的に、 'UIBarButtonItem * saveButton ='を 'id saveButton ='または 'XCUIElement * saveButton ='に変更すると、機能は同じです。 –