Domanda

Ho usato Sikuli per un po ', però ho un problema con esso ... Non è abbastanza sensibile. Sto cercando di abbinare qualcosa sullo schermo che è -EXACT-, e ci sono un paio di altri elementi sullo schermo che sembrano simili basta che Sikuli li sta scambiandolo per quello che sto effettivamente cercando, quindi ho bisogno di farlo cercare solo questo oggetto senza scostamenti a tutti.

Come posso fare questo?

Oh, e per spiegare il mio problema un po 'più, sto scrivendo un ciclo per un gioco, una volta una barra di avanzamento ha raggiunto il 100% - di cui ha bisogno per consentire al ciclo di finire (e ricominciare di nuovo), tuttavia la barra di avanzamento è solo un bar normale -. così quando Sikuli guarda per esso sullo schermo, trova la barra parzialmente completo (Poiché pare che corrisponda a diverse lunghezze / larghezze / dimensioni delle immagini si è alla ricerca di) e trigger

È stato utile?

Soluzione

È possibile effettuare le seguenti operazioni nella Sikuli IDE:

  • Fare clic sull'immagine
  • In Impostazioni modello> corrispondenza Anteprima, trascinare la barra di somiglianza a 1,0 (tutta la strada verso destra)
  • Fare clic su OK

Altri suggerimenti

Se si utilizza Sikuli IDE clicca sull'immagine in miniatura, per il quale si desidera modificare la sensibilità. Verrà presentato screenshot del tuo desktop con e occorrenze di pattern (l'immagine). Qui di seguito v'è un cursore sensibilità modifiche alle streghe. Mentre cambiare lo si noterà che ha evidenziato le occorrenze del modello aumento o diminuire di conseguenza.
Questo metodo presuppone che il tuo gioco su schermo (modalità in modo da finestra, non a schermo intero), ma anche se non è ancora possibile regolare la sensibilità, semplicemente non sarà possibile visualizzare i risultati 'live' di ricerca.

Se Sikuli chiamare da codice Java, è necessario utilizzare Pattern(image.png).similar(y.xx)
dove l'argomento di simmilar è qualcosa tra 0,00 e 1,00.
Non ho usato secondo metodo quindi potrebbe essere necessario sperimentare con esso.

Sarà il seguente lavoro?
Siete alla ricerca per il progresso per raggiungere il 100% quindi ciclo di nuovo?

  f = open("C:\\test.htm",'W')
    f.write('<font color="#347C2C">lOOPtEST</font><br />')
    f.write('loop iteration' + (str (count)) + '<br />')
    count = count + 1
    f.close()
COUNT =10
POPUP("LOOPTEST")

//image compare from progress bar

import sikuli.Sikuli *

WebPath =('Z:\\ZZZautomation\\Web\\')

BuildPath = ("Z:\BUILDS\Daily_BUILDS\QA_MainBranch_Install\*.install")
BuildNumber =  glob.glob("Z:\BUILDS\Daily_BUILDS\QA_MainBranch_Install\*.install")
for filename in BuildNumber:
    SmokeTestInfo = "SmokeTest_Build " + filename[45:50] + " Iteration 44"+".htm"
global Number
Number = filename[45:50]

global SmokeTest
SmokeTest = SmokeTestInfo

global count
count = 0

defMidProgress():
    while not exists ("//path to image of progress bar @ 50%//",FOREVER)
    //or
    wait("//path to image of progress bar @ 50%//", FOREVER)
    //using forevEr means sikuli will checK FOR 50% PROGRESS FOREVER
    //the bottom execures once the condition above is met
    open(WebPath + SmokeTest,'w')
    f.write('<font color="#0000FF">Progress is at 50%</font><br />')
    f.close()
    // writes entry to html log fie

defFinalProgress():

    while not exists ("//path to image of progress bar @ 100%//",FOREVER)
    //or
    wait("//path to image of progress bar @ 100%//", FOREVER)
    //using forever means sikuli will check FOR 100% PROGRESS FOREVER
    //the bottom execures once the condition above is met
    open(WebPath + SmokeTest,'a')
    f.write('<font color="#0000FF">Progress is at 100%</font><br />')
    f.close()
    // writes entry to html log fie


def Loop
count =0
 def midProgress():

 def FinalProgress():

Per abbinare un'immagine esatta che uso:

image1 = ("image1.png")
while not exists (Pattern(image1).exact()): 
       # Wait until that exact image appears. 
       wait(1) 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top