Squish/Finding List Items that End in a Given String/es: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 9: Line 9:
Una solución a esto podría ser buscar los items que terminan con una cadena dada, para evitar incluir la cadena con el prefijo cambiado. Esto se puede hacer usando la función que se muestra debajo, la misma hace click en un elemento que termina en una cadena dada en una columna especifica:
Una solución a esto podría ser buscar los items que terminan con una cadena dada, para evitar incluir la cadena con el prefijo cambiado. Esto se puede hacer usando la función que se muestra debajo, la misma hace click en un elemento que termina en una cadena dada en una columna especifica:


<code>def clickListItem(obj, endValue, column):<br /> model = waitForObject(obj).model()<br /> rows = model.rowCount()
<code>def clickListItem(obj, endValue, column):
model = waitForObject(obj).model()
rows = model.rowCount()


for i in range(rows):<br /> itemString=str(model.data(model.index(i, column), Qt.DisplayRole).toString())
for i in range(rows):
itemString=str(model.data(model.index(i, column), Qt.DisplayRole).toString())


if itemString.endswith(endValue):<br /> waitForObjectItem(obj, itemString)<br /> clickItem(obj, itemString, 0, 0, 0, Qt.LeftButton)<br /> return
if itemString.endswith(endValue):
waitForObjectItem(obj, itemString)
clickItem(obj, itemString, 0, 0, 0, Qt.LeftButton)
return


test.fatal(&quot;Could not find item with end value: &quot; + endValue)</code>
test.fatal("Could not find item with end value: " + endValue)</code>


Para seleccionar un item que termine con el string &quot;value1&amp;quot; en una list view especifica, usamos:<br /><code>clickListItem(&quot;:MyQListView&amp;quot;, &quot;value1&amp;quot;, 0)<code>
Para seleccionar un item que termine con el string "value1" en una list view especifica, usamos:
<code>clickListItem(":MyQListView", "value1", 0)<code>

Revision as of 12:47, 25 February 2015

this page in:

Buscando elementos de una lista que terminan en una cadena dada

Como Squish utiliza el texto completo del artículo para la identificación de los elementos de un list view, esto podría causar problemas cuando el comienzo del texto del elemento es diferente en función de por ejemplo la máquina que está ejecutando el caso de la prueba.

Una solución a esto podría ser buscar los items que terminan con una cadena dada, para evitar incluir la cadena con el prefijo cambiado. Esto se puede hacer usando la función que se muestra debajo, la misma hace click en un elemento que termina en una cadena dada en una columna especifica:

def clickListItem(obj, endValue, column):
 model = waitForObject(obj).model()
 rows = model.rowCount()

for i in range(rows):
 itemString=str(model.data(model.index(i, column), Qt.DisplayRole).toString())

if itemString.endswith(endValue):
 waitForObjectItem(obj, itemString)
 clickItem(obj, itemString, 0, 0, 0, Qt.LeftButton)
 return

test.fatal("Could not find item with end value: " + endValue)

Para seleccionar un item que termine con el string "value1" en una list view especifica, usamos: clickListItem(":MyQListView", "value1", 0)