2017-11-28 7 views
1

私はreact-nativeからの警告を使用しています。Detox:iOSシミュレータ警告メッセージを確認する方法

アラートメッセージの[ログアウト]ボタンを押すにはどうすればよいですか?

enter image description here

私はawait element(by.text('Log out')).tap();

を使用してみました。しかし、私はエラー "複数の要素が一致していた" 取得。おそらく、同じラベルを持つ3つの要素が見つかります。アラートメッセージ、アラートメッセージのタイトル、およびアラートメッセージボタンをトリガーするために使用されるラベル「ログアウト」を持つ元のボタンは、デトックスが押すようにします。

Error Trace: [ 
    { 
    "Description" : "Multiple elements were matched: (
    "<UILabel:0x7fe7964db910; AX=Y; AX.label='Log out'; AX.frame={{41, 234}, {238, 20.5}}; AX.activationPoint={160, 244.25}; AX.traits='UIAccessibilityTraitStaticText'; AX.focused='N'; frame={{16, 20}, {238, 20.5}}; opaque; alpha=1; UIE=N; text='Log out'>", 
    "<UILabel:0x7fe7964dda90; AX=Y; AX.label='Log out'; AX.frame={{198.5, 322.5}, {58, 20.5}}; AX.activationPoint={227.5, 332.75}; AX.traits='UIAccessibilityTraitStaticText'; AX.focused='N'; frame={{0, 12}, {58, 20.5}}; opaque; alpha=1; UIE=N; text='Log out'>", 
    "<RCTText:0x7fe79652f300; AX=Y; AX.label='Log out'; AX.frame={{16, 338.5}, {288, 17}}; AX.activationPoint={160, 347}; AX.traits='UIAccessibilityTraitStaticText'; AX.focused='N'; frame={{0, 0}, {288, 17}}; alpha=1>" 
). Please use selection matchers to narrow the selection down to single element.", 
    "Error Domain" : "com.google.earlgrey.ElementInteractionErrorDomain", 
    "Error Code" : "5", 
    "File Name" : "GREYElementInteraction.m", 
    "Function Name" : "-[GREYElementInteraction grey_errorForMultipleMatchingElements:withMatchedElementsIndexOutOfBounds:]", 
    "Line" : "956" 
    } 
] 

私は1つの方法は、.atIndex()を使用することであると思いますが、それは、私は、インデックスで何かが正しいの要素を決定するために変更するたびにプレーする必要があるということです。

この問題に対処する方法はありますか?

ありがとうございました。

答えて

5

は、いくつかの工夫の後、私はこれを使用して終了:

これは、すべてのiOSバージョンのために働くが、10.3と11.1

上で動作するように見えるかどう
await element(by.label('Log out').and(by.type('_UIAlertControllerActionView'))).tap(); 

わかりません

関連する問題