Squish/Iterating Through a Table/es: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
(Un-nominate for deletion: Page is no longer a category)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
this page in: [[:Category:Tools::Squish::Iterating through a table|English]]
{{LangSwitch}}


=Iterando a través de una tabla=
[[Category:Squish]]
[[Category:Spanish]]
 
= Iterando a través de una tabla =


Hay varias formas de recorrer una tabla con script de test para utilizarlo cuando se necesita verificar o tomar una decisión sobre un determinado conjunto de filas o columnas. En los siguientes ejemplos vamos a utilizar los tres métodos para verificar que no hay celdas vacías en una tabla.
Hay varias formas de recorrer una tabla con script de test para utilizarlo cuando se necesita verificar o tomar una decisión sobre un determinado conjunto de filas o columnas. En los siguientes ejemplos vamos a utilizar los tres métodos para verificar que no hay celdas vacías en una tabla.


Al final, el uso de cualquiera de estos tres enfoques sería simplemente:<br />
Al final, el uso de cualquiera de estos tres enfoques sería simplemente:
<code>verifyNoEmptyCells(":MyQTableWidget")<code>
 
== Usando la API de Qt ==
 
Este acercamiento usa la API de Qt para acceder al modelo directamente e iterar entre las filas y las columnas de la tabla.


==Usando la <span class="caps">API</span> de Qt==
</code>def verifyNoEmptyCells(tableName):
table = waitForObject(tableName)
model = table.model()
columnCount = model.columnCount()
rowCount = model.rowCount()


Este acercamiento usa la <span class="caps">API</span> de Qt para acceder al modelo directamente e iterar entre las filas y las columnas de la tabla.
for col in range(columnCount):
for row in range(rowCount):
itemText = str(model.data(model.index(row, col), Qt.DisplayRole).toString())
test.verify(itemText != "")<code>


==Usando waitForObjectItem()==
== Usando waitForObjectItem() ==


Usando waitForObjectItem() se puede acceder a items de un widget especifico, tales como las acciones en un menú o en este caso, las celdas de una tabla. Se necesitan dos parámetros, el primero es el nombre del objeto primario y el segundo es la identificación del elemento. Para las celdas de una tabla, que es de dos números enteros en forma de fila / columna.
Usando waitForObjectItem() se puede acceder a items de un widget especifico, tales como las acciones en un menú o en este caso, las celdas de una tabla. Se necesitan dos parámetros, el primero es el nombre del objeto primario y el segundo es la identificación del elemento. Para las celdas de una tabla, que es de dos números enteros en forma de fila / columna.


==Usando nombres reales==
</code>def verifyNoEmptyCells(tableName):
table = waitForObject(tableName)
columnCount = table.columnCount
rowCount = table.rowCount
 
for col in range(columnCount):
for row in range(rowCount):
item = waitForObjectItem(tableName, str(row)+"/"''str(col))
test.verify(item.text != "")<code>


== Usando nombres reales ==
Squish ofrece dos formas de identificar los objetos en un script de tests, ya sea usando el nombre simbólico que se asigna a una entrada en el mapa del objetos, o usar el nombre real que muestra todas las propiedades y su valor esperado en una cadena de identificación. Detrás de escena, el nombre simbólico se mapea al nombre real, usando el nombre simbólico generalmente hace que el script sea más legible.
Squish ofrece dos formas de identificar los objetos en un script de tests, ya sea usando el nombre simbólico que se asigna a una entrada en el mapa del objetos, o usar el nombre real que muestra todas las propiedades y su valor esperado en una cadena de identificación. Detrás de escena, el nombre simbólico se mapea al nombre real, usando el nombre simbólico generalmente hace que el script sea más legible.


Al utilizar el nombre real para identificar las celdas, podemos cambiar los valores esperados de las propiedades y por lo tanto el acceso a las diferentes celdas de la tabla como se ve a continuación.
Al utilizar el nombre real para identificar las celdas, podemos cambiar los valores esperados de las propiedades y por lo tanto el acceso a las diferentes celdas de la tabla como se ve a continuación.


===There is only one article in "Tools -&gt; Squish -&gt; IteratingThroughATableSpanish":===
</code>def verifyNoEmptyCells(tableName):
 
waitFor("object.exists(tableName)")
===T===
columnCount = findObject(tableName).columnCount
* [[:Category:Tools::Squish::Iterating through a table|Category:Tools -&gt; Squish -&gt; Iterating_through_a_table]]
rowCount = findObject(tableName).rowCount
 
===Categories:===


* [[:Category:Spanish|Spanish]]
for col in range(columnCount):
* [[:Category:Tools|Tools]]
for row in range(rowCount):
** [[:Category:Tools::Squish|Squish]]
item = waitForObject("{column='"'' str(col) + "' container='" + tableName + "' row='" + str(row) + "' type='QModelIndex'}")
* [[:Category:Tools::Squish::Iterating through a table|Iterating_through_a_table]]
test.verify(item.text != "")<code>

Latest revision as of 08:41, 8 December 2018

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

Iterando a través de una tabla

Hay varias formas de recorrer una tabla con script de test para utilizarlo cuando se necesita verificar o tomar una decisión sobre un determinado conjunto de filas o columnas. En los siguientes ejemplos vamos a utilizar los tres métodos para verificar que no hay celdas vacías en una tabla.

Al final, el uso de cualquiera de estos tres enfoques sería simplemente:

verifyNoEmptyCells(":MyQTableWidget")<code>

== Usando la API de Qt ==

Este acercamiento usa la API de Qt para acceder al modelo directamente e iterar entre las filas y las columnas de la tabla.

def verifyNoEmptyCells(tableName):

table = waitForObject(tableName)
model = table.model()
columnCount = model.columnCount()
rowCount = model.rowCount()

for col in range(columnCount):

for row in range(rowCount):
itemText = str(model.data(model.index(row, col), Qt.DisplayRole).toString())

test.verify(itemText != "")

== Usando waitForObjectItem() ==

Usando waitForObjectItem() se puede acceder a items de un widget especifico, tales como las acciones en un menú o en este caso, las celdas de una tabla. Se necesitan dos parámetros, el primero es el nombre del objeto primario y el segundo es la identificación del elemento. Para las celdas de una tabla, que es de dos números enteros en forma de fila / columna.

def verifyNoEmptyCells(tableName):

table = waitForObject(tableName)
columnCount = table.columnCount
rowCount = table.rowCount

for col in range(columnCount):

for row in range(rowCount):
item = waitForObjectItem(tableName, str(row)+"/"str(col))

test.verify(item.text != "")

== Usando nombres reales ==
Squish ofrece dos formas de identificar los objetos en un script de tests, ya sea usando el nombre simbólico que se asigna a una entrada en el mapa del objetos, o usar el nombre real que muestra todas las propiedades y su valor esperado en una cadena de identificación. Detrás de escena, el nombre simbólico se mapea al nombre real, usando el nombre simbólico generalmente hace que el script sea más legible.

Al utilizar el nombre real para identificar las celdas, podemos cambiar los valores esperados de las propiedades y por lo tanto el acceso a las diferentes celdas de la tabla como se ve a continuación.

def verifyNoEmptyCells(tableName):

waitFor("object.exists(tableName)")
columnCount = findObject(tableName).columnCount
rowCount = findObject(tableName).rowCount
for col in range(columnCount):
for row in range(rowCount):
item = waitForObject("{column='" str(col) + "' container='" + tableName + "' row='" + str(row) + "' type='QModelIndex'}")
test.verify(item.text != "")