Pregunta

He estado usando Sikuli por un tiempo, sin embargo, tengo un problema con él ... No es lo suficientemente sensible. Estoy tratando de coincidir con algo en la pantalla que es -EXACT-, y hay algunos otros elementos en la pantalla que se parecen lo suficiente para que ellos se Sikuli confundiéndolo con lo que estoy buscando en realidad, así que necesito para hacerlo buscar SOLAMENTE este artículo sin variaciones en absoluto.

¿Cómo puedo hacer esto?

Ah, y para explicar mi problema un poco más lejos, estoy escribiendo un bucle para un juego, una vez a la barra de progreso se ha alcanzado el 100% - tiene que permitir que el bucle termine (y empezar de nuevo), sin embargo, la barra de progreso es sólo un bar normal -. Sikuli así que cuando lo busca en la pantalla, se encuentra la barra parcialmente completo (ya que al parecer coincide con diferentes longitudes / anchura / tamaños de la imagen que está buscando), y los disparadores

¿Fue útil?

Solución

Puede hacer lo siguiente en el IDE Sikuli:

  • Haga clic en la imagen
  • En ajustes del patrón de> Coincidencia de vista previa, arrastre la barra de Similitud con 1,0 (todo el camino a la derecha)
  • Haga clic en Aceptar

Otros consejos

Si está utilizando Sikuli IDE clickea en la imagen en miniatura, para el que desea cambiar la sensibilidad. Se le presentará captura de pantalla de tu escritorio con y apariciones de patrón (su imagen). A continuación hay un control deslizante cambios de brujas sensibilidad. Si bien el cambio se notará que destacan las ocurrencias del patrón de aumento o disminuir en consecuencia.
Este método supone que tiene su juego en la pantalla (modo de modo de ventana, no pantalla completa), pero incluso si no se puede ajustar la sensibilidad, simplemente no verá resultados 'en vivo' de búsqueda.

Si llama Sikuli de código Java, usted tiene que utilizar Pattern(image.png).similar(y.xx)
donde el argumento de simmilar es algo entre 0,00 y 1,00.
No he utilizado segundo método por lo que puede que tenga que experimentar con él.

¿Funcionará el siguiente?
Que busca el progreso para alcanzar el 100%, entonces bucle de nuevo?

  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():

Para que coincida con una imagen exacta que uso:

image1 = ("image1.png")
while not exists (Pattern(image1).exact()): 
       # Wait until that exact image appears. 
       wait(1) 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top