2016-07-29 18 views
1

ich schon geschrieben so ähnlich:Wie bekomme ich die Nummer der Zeile, wo ich einen bestimmten Wert in RobotFramework finden könnte?

Check privileges for PDTA 
    ${end}= Get Matching Xpath Count //*[@id="listForm:displayDataTable:tbody"]/tr 
    ${start}= Set Variable 0 
    : FOR ${index} IN RANGE ${start} ${end} 
    \ ${status}= Run Keyword And Ignore Error Element Should Contain listForm:displayDataTable:${index} su ${index} 

Und die Protokollausgabe ist:

output.html

Wie man sehen kann ich die Anzahl der Reihe zu bekommen, wo ich den Wert finden konnte " su '. Dieser Wert kann in einer Zeile mit der Nummer 6 gefunden werden. Die Variable $ {end} ist gleich der Anzahl aller Zeilen in der Tabelle.

Weiß jemand, wie man diese Nummer bekommt? Vielleicht gibt es ein Stichwort, das mir helfen könnte, oder? Danke im Voraus !!!

+0

Sie möchten die Zeilennummer ausgeben, wo Sie 'su' gefunden haben? Ist es das, was du sagst? – shicky

+0

Ja, ich möchte die Zeilennummer, wo ich 'su' gefunden habe – pingwin850

Antwort

2
: FOR ${index} IN RANGE ${start} ${end} 
\ ${Name}= Get Text listForm:displayDataTable:${index} 
\ ${IsEqual}= Run Keyword And Return Status Should Be Equal ${Name} Su 
\ ${RowNumber}= Set Variable ${index} 
\ Run Keyword If '${IsEqual}'=='True' Run Keywords Log Rownumber is ${RowNumber} AND Exit For Loop 

U kann das versuchen. Die Variable $ {RowNumber} erhält die Zeilennummer mit dem Text "Su".

+0

Ihre Antwort löste meine Frage, danke! :) – pingwin850

+1

Wird es immer nur eine Zeile sein? Das oben genannte Problem kann zu Problemen führen, wenn Sie ein Vielfaches erwarten. Aber um damit fertig zu werden, entfernen Sie einfach den Ausgang der for-Schleife. – shicky

+0

Ja, es wird immer eine Zeile sein. Es ist ein einzigartiger Wert. Ich brauchte diese Zeilennummer, um auf eine bestimmte Schaltfläche zu klicken. Ok, danke für Ratschläge :) – pingwin850

0

Als Teil Ihrer FOR-Schleife, möchte ich hinzufügen:

Run Keyword If '${status}' == 'PASS' Log ${index} 

Wenn Sie es tatsächlich verwenden müssen dann setzen Sie einfach eine Variable oder anhängen, um eine Liste Variable oder etwas