Calabash-Android Come creare loop o iterano qualcosa fino a quando una condizione di uscita?

StackOverflow https://stackoverflow.com//questions/24008586

  •  20-12-2019
  •  | 
  •  

Domanda

Inserisci Descrizione dell'immagine qui Sto provando un processo di selezione del sedile per un autobus.Ho un layout del sedile con alcuni posti a sedere prenotato Ans alcuni non prenotati.Ho bisogno di selezionare un sedile non prenotato.Ho bisogno di creare un loop toccando le coordinate casuali sullo schermo fino a quando non riesco a toccare un sedile non prenotato.Come può essere fatto usando la Calabash.

È stato utile?

Soluzione

Questo thread è un po 'vecchio. Ma comunque qui va qualcosa sulla falsariga di ciò che stai cercando.

Si desidera toccare un determinato set di coordinate sullo schermo, vedere se si seleziona un sedile e quindi leggere il valore tariffario.

Quindi hai bisogno di un ciclo. Puoi usare qualcosa del genere. Dalla tua foto posso vedere che hai solo 8 posti lì. Ma per renderlo veloce, cerchiamo di provare a colpire le aree che potrebbero anche avere un posto e dire che stiamo guardando 3x4 posti.

a = 0
b = 0
while a < 3
  while b < 4 
     b += 1
  end
  a += 1
end
.

Il ciclo esterno eseguirà 3 volte, che è davanti a retro. Il ciclo interno funzionerà 4 volte, cioè seggiolini da sinistra a destra.

Ora dobbiamo assicurarci di fare clic su ogni posizione, quindi aggiungiamo

performAction('click_on_screen',<x-value>, <y-value>)
.

e combinato abbiamo qualcosa di simile. Dove hai x e y che stanno iniziando posizioni e dovrebbero abbinare le coordinate del primo sedile. Quindi, a prima vista, fai semplicemente clic su quella posizione e fai ciò di cui hai bisogno per ottenere il prezzo tariffario. Dopo il primo clic, aumenta il valore xoffset per la distanza tra i due posti, e quindi sei pronto per fare clic sul secondo. Si prega di tenere presente, che ho fatto questo più semplice in modo che in realtà la seconda stampa toccherà sull'isola. Ma al 3 ° e il 4 dovresti ancora colpire i posti. E poi lo fai per le due file successive dopo.

a = 0
b = 0
x = 100
y = 500
xOffset = x;
while a < 3
  while b < 4  
     performAction('click_on_screen', xOffset, y)
     b += 1
     xOffset += 200 
  end
  xOffset = x
  y += 200
  a += 1
end
.

Cordiali saluti Lasse

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top