1

私はpageFactoryクラスを持っています:

public class screenFactory {
    @AndroidFindBy(id = "itemFilm")
    public List<MobileElement> listMovies;

    @AndroidFindBy(id = "tvTitle")
    public List<MobileElement> listTvTitle;
}

それぞれitemFilmが含まれていますtvTitle(含まれていない場合もあります)。

質問: のみを使用してこれを確認するにはどうすればよいpageFactoryですか?

状況 1 を想定します。

screenFactory.listMovies.size() equals 6;
screenFactory.listTvTitles.size() equals 6;

その後、すべてが大丈夫です!

状況 2 を想定します。

screenFactory.listMovies.size() equals 6;
screenFactory.listTvTitles.size() equals 4;

次に、どの要素が子としてlistMovies含まれ、どの要素がtvTitles子として含まれていないかを検出する方法に問題があります。

言い換えれば、2つあると、子/親機能List<MobileElement>のように要素を比較する方法はありますか?MobileElement

By.id("id")問題は、メイン関数で使用しない、または他のロケーターを使用しないという要件から発生しますが、使用するのscreenFactoryは !

これで使用する場合screenFactory

@HowToUseLocators(androidAutomation = LocatorGroupStrategy.CHAIN)
@AndroidFindBy(id = "itemFilm")
@AndroidFindBy(id = "tvTitle")
public List<MobileElement> listTvTitle;

それは再び機能しません。上記の状況#2では、同じ結果が得られます。

screenFactory.listMovies.size() equals 6;
screenFactory.listTvTitles.size() equals 4;
4

2 に答える 2

0

アプリケーションのインスペクター ビューを表示しない場合、私ができる唯一の推奨事項は、開発者に TV タイトル オブジェクトの content-description で親情報を提供してもらうことです。これで、2 つのオブジェクトを一致させるために必要な関連付けができました。

次に、各映画のタイトルを反復処理し、一致するコンテンツの説明について、TV タイトルのリスト全体を確認します。

于 2018-01-29T22:33:19.250 に答える