2016-11-18 14 views
1

私のテストは要素のリストを持っています。 最初のボタンをクリックして開き、次に右にスワイプして次のものにアクセスし、それらが異なることを確認します。スワイプした後にリフレッシュしないでください

Androidでは完全に動作していますが、何らかの理由で新しいページにスワイプした後にドライバが更新されないようです。私は私がリスト

の第二または第三の要素にいる場合でも、最初のページから要素を持つに保つテキストにアクセスしようとしている場合は

Appiumでリフレッシュページの並べ替えがありますiOS?

Dimension size = driver.manage().window().getSize(); 
driver.swipe(size.getWidth()-100, size.getHeight()/2, 100, size.getHeight()/2, 500); 

は、[検索タイトル機能、さらには厳しい私の画面をリメイクスワイプ私のタイトル

driver.findElement(By.id("title_label")); 

を見つけ、私のiPadと缶に変更されます。ここで

は私のコードですコードの新しいタイトルを参照してください私はまだ古いものを持っています

アイデア?

編集:それがなかった場合

ちょうど明確にします。これは新しいページにスワイプしてページ全体がリフレッシュされるときに起こります。 同じページの要素の中にスワイプするだけではありません。

+1

を) 'スワイプ後? id "title_label"という2つの要素が最初に見つかった最初の要素ですか? – Domestus

+0

あなたはスワイプした後で再び要素を持ってきましたか? – noor

+0

@Domestusそれは、それがメモリsomwhereの古いページを維持すると私は1の代わりに2つのタイトルへのアクセスを持っていると私は使用している方法からfindElement私はちょうど1番目を取得するが、私はfindElementsを使用する場合は、 &2番目のものは正しいものです...何が違うのですか... – user3718160

答えて

0

getLocation() としての位置を取得するために、次にあなたが強打を実装するか、使用してすべての方向にスクロールすることができます試してください:あなたは `driver.getPageSource(の内容をプリントアウトするとき何を得るチェックでし

TouchAction action = new TouchAction(driver); 

      int startY = element1.getLocation().getY() + (element1.getSize().getHeight()/2); 
      int startX = element1.getLocation().getX() + (element1.getSize().getWidth()/2); 

      int endX = element2.getLocation().getX() + (element2.getSize().getWidth()/2); 
      int endY = element2.getLocation().getY() + (element2.getSize().getHeight()/2); 

      action.press(startX, startY).waitAction(2000).moveTo(endX, endY).release().perform(); 
+1

質問が十分にはっきりしていなかったので、私は質問を編集しました。私はまったく新しいページにスワイプしているので、うまく動かないスワイピング自体ではありません。スワイプは正常に動作しています。新しいページのタイトルが見つからず、まだ古いページのタイトルを残しています – user3718160

+0

ああ、私はあなたを誤解していると私は誤解していますので、スワイプしてからしばらく待つことをお勧めします – Emna

+0

私は睡眠を入れようとしましたが、何も変更しない:/ – user3718160