Frage

Ich möchte Teil einer ID speichern, und den Rest wegzuwerfen. Zum Beispiel habe ich ein HTML-Element mit dem id ‚element-12345‘. Ich will ‚Element-‘ werfen und halten ‚12345‘. Wie kann ich das erreichen?

Ich kann den Wert erfassen und Echo, wie folgt aus:

| storeAttribute | //pathToMyElement@id | myId |
| echo | ${!-myId-!} | |

Wenn ich den Test ausführen, bekomme ich so etwas wie folgt aus:

| storeAttribute | //pathToMyElement@id | myId |
| echo | ${myId} | element-12345 |

Ich bin die Aufnahme mit der Selenium IDE, und kopieren Sie den Test über in Fitnesse, das Selen-Brücke Gerät nicht benutzen. Das Problem ist, ich bin mit einer sauberen Datenbank jedes Mal, wenn ich den Test ausführen, mit zufälligen IDs, die ich brauche in meinem Test zu erfassen und zu nutzen.

War es hilfreich?

Lösung

Die Lösung ist die JavaScript-Funktion replace() mit storeEval zu verwenden:

| storeAttribute | //pathToMyElement@id                                   | elementID |
| storeEval      | '${elementID}'.replace("element-", "")                 | myID      |

Wenn ich nun echo myID bekomme ich nur die ID:

| echo | ${myID} | 12345 |

Andere Tipps

/ element - (\ d +) / i

Das ist ein regulärer Ausdruck, der die Zahlen nach dem Bindestrich erfassen würde.

So etwas Macht Arbeit:

| storeAttribute | fn:replace(//pathToMyElement@id,"^element-","") | myId |

regex Dazu erfordert XPath 2.0 -. Nicht sicher, welche Version Selenium Geräte

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top