2017-05-15 1 views
0

J'utilise une source de données XML dans soapUI. Une seule cellule de la ligne "Selected" a une valeur = selected, une autre cellule de la ligne "Selected" est vide. Par exemple:SoapUI Xml Datasource lecture null row

Selected    Value 

         12210 
         12813 
selected    12213 
         12214 
         12215 
         12216 

Dans mon exemple, je dois obtenir la valeur "12213" en utilisant un script groovy.

Si j'ai essayé

def Solected = context.expand('${DataSource1#selected}') 
def Value = context.expand('${DataSource1#value}') 

Je reçois result = 12216

Quelqu'un pourrait-il s'il vous plaît laissez-moi savoir comment faire ce travail?

Répondre

0

Par défaut, lorsque vous récupérez les lignes de la source de données, la dernière ligne est renvoyée. vous devez exécuter le testcase avec un dataloop pour lire toutes les lignes.

Si vous ne voulez que les lignes sélectionnées, dans votre script groovy, vous pouvez faire une instruction if pour aller directement au dataloop si le champ sélectionné est vide.

if(context.expand('${DataSource1#selected}') == ""){ 
    testRunner.gotoStepByName('DataLoop') 
} 
+0

Je ne suis pas bon dans la boucle de données et la source de données. Pouvez-vous expliquer plus en détail? J'ai un cas de test "DataSource1" qui consiste en une table comme dans mon exemple ci-dessus. –

+0

Il vaudrait mieux que vous expliquiez ce que vous essayez d'accomplir ici. Pourquoi utilisez-vous une source de données en premier lieu? Ce qu'il dit ci-dessus est que si la valeur sélectionnée n'a pas de valeur, alors passez à la boucle de votre source de données qui passera à la rangée de données suivante et réessayez. Vous pouvez lire à leur sujet ici. https://support.smartbear.com/readyapi/docs/testing/data-driven/tutorials/functional/loop.html – canpan14