2016-03-21 16 views
4

UIテストの使い方をまだ習っています。iOS UIテスト:アクティブアプリケーションのリストを取得できませんでした:AXエラー-25205

私はバックグラウンドでログインし、後で自分のニュースフィードに結果を表示します。次に、私はもっとボタンをタップします。 Webサービスがあると、私のAPIから結果が得られないように見えます。これは常にこのように失敗し、私のAPIからのデータも表示されません。どうすればいいですか?

enter image description here

答えて

1

あなたのテストでsleep()を使用すべきではありません。代わりに、ネイティブAPIを使用して要素が存在するのを待ちます。 「コンテスト」のテキストは、次のように表示されるまで、たとえば、あなたは待つことができます:

XCUIApplication *app = [[XCUIApplication alloc] init]; 
XCUIElement *moreButton = app.tabBars.buttons[@"More"]; 

XCUIElement *contestsText = app.staticTexts[@"Contests"]; 
NSPredicate *exists = [NSPredicate predicateWithFormat:@"exists == YES"]; 
[self expectationForPredicate:exists evaluatedWithObject:contestsText handler:nil]; 

[moreButton tap]; 

[self waitForExpectationsWithTimeout:5.0f handler:nil]; 
XCTAssert(contestsText.exists); 

この例は、私のUI Testing Cheat Sheetから来ています。 UIテストを始めたばかりの方は、チェックアウトすることをお勧めします。

2

シミュレータ使用中に同じ問題が発生しました。デバイス上でテストケースを実行しようとしましたが、正常に動作しています。実際のデバイスで実行し、エラーが表示されるかどうかを確認します。

0

シミュレータをリセットすると、私の問題が解決しました。シミュレータのメインメニューからSimulator - Reset Content and Settings...で実行できます。 CIシステムで使用する

、これらのコマンドは役立つかもしれない:

osascript -e 'tell application "iOS Simulator" to quit' 
osascript -e 'tell application "Simulator" to quit' 
xcrun simctl erase all 
関連する問題