2017-08-09 1 views
0

Ich versuche, die Anzahl aller Zeilen in einer Tabelle, die auf der Seite als 10, 20 oder 50 Zeilen Tabelle angezeigt werden können, zu zählen. Ich habe 71 Datensätze in der Datenbank, also auf der Seite, wenn ich 10 Zeilen pro Seite auswähle, gibt es 8 Tabellenlinks. Der folgende Code funktioniert einwandfrei und gibt die Summe der Zeilen bis zur 6. Seite zurück. Dort wird angezeigt, dass der aggregierte Wert 60 ist. In der nächsten Iteration werden 10 Datensätze der 7. Seite jedoch nicht gezählt und es wird nur 1 zurückgegeben 71. Es scheint eine Seite in diesem Prozess zu ignorieren.Robot Framework Fehler beim Zählen von Zeilen aus Tabelle

Nach Hemanthvrms Kommentar unten habe ich in den HTML-Code geschaut und festgestellt, dass dieses Problem auf das Bereichsproblem in der Seitennavigationstabelle zurückzuführen ist. Diese Seite Navigationstabelle hat 10 Boxen <Prev>|1|2|3|4|5|...|8|<Next>

Die XPaths hier reichen von // [@ id = "study_paginate"]/ul/li [2]/a auf // [@ id = "study_paginate" ]/ul/li [8]/a

Aber wenn die Seite 5 angeklickt wird, die Navigationstabelle Änderungen

<Prev>|1|...|4|5|6|7|8|<Next>

Aber die XPaths bleibt gleich für die relativen Positionen, so vorher // [@ id = "study_paginate"]/ul/li [6]/a bezogen auf p Alter 5, und nach dem Klicken auf Seite 5, das gleiche // [@ id = "study_paginate"]/ul/li [6]/a bezieht sich jetzt auf Seite 6. Da das System bereits diesen XPath geklickt hat (Seite 5), so nach fünf Klicks klickt // * [@ id = "study_paginate"]/ul/li [7]/a, was nun auf Seite 7 verweist. also ist die Seite 6 komplett weggelassen.

SAS_Temp_Tests 
[Tags] TEMP 
Open Browser http://localhost:5000/login/ Chrome 
Maximize Browser Window 
Wait Until Element Is Visible id=submit 
Input Text id=email ${User_Email} 
Input Password password ${User_PW} 
Click Element id=submit 
sleep 2s 
Click Element ${User_Menu Link} 
Wait Until Element Is Visible ${User_menu_Study_admin_Panel Link} 
Click Element ${User_menu_Study_admin_Panel Link} 
sleep 3s 
Comment Click Element xpath=//*[@id="study_length"]/label/select/option[4] 
${rows}= Get Matching Xpath Count //*[@id="study"]/tbody/tr 
Log ${rows} 
${Row_num}= Evaluate 0 
Set Global Variable ${Row_num} 
Log ${Row_num} 
: FOR ${x} IN RANGE 2 9999999 
\ ${page}= Run Keyword And Return Status Element Should Be Visible xpath=//*[@id="study_paginate"]/ul/li[${x}]/a 
    ${y} Evaluate ${x}+1 
\ ${No_Page} Run Keyword And Return Status Element Should Not Be Visible xpath=//*[@id="study_paginate"]/ul/li[${y}]/a 
\ Exit For Loop If ${No_Page} 
\ Click Element xpath=//*[@id="study_paginate"]/ul/li[${x}]/a 
\ Wait Until Element Is Visible xpath=//*[@id="study"] 
\ sleep 1s 
\ ${rows}= Get Matching Xpath Count //*[@id="study"]/tbody/tr 
\ ${Row_num} Evaluate ${Row_num}+${rows} 
\ Log ${Row_num} 
Close All Browsers 

Mit diesem Update, irgendwelche Vorschläge wie kann ich das Problem überwinden?

Antwort

-1

Alles sieht gut aus

* Haben Sie nur 7 $ vorbei getestet {x}? Wenn ja, dann hast du 1 oder 10?
* Haben Sie das Tabellenformat in 7 mit 6 verglichen?

+0

Hallo, Ich habe das Problem aktualisiert, nachdem ich noch einmal in den HTML-Code geschaut habe. Bitte überprüfen Sie und lassen Sie mich wissen, wenn Sie irgendwelche Vorschläge haben. – nhrcpt

Verwandte Themen