2012-04-02 3 views
1

J'essaye de diviser une chaîne de date (04.05.2012) en 3 sous-chaînes pour la manipulation de chaîne plus tard. Lorsque je lance le code ci-dessous dans un éditeur javascript normal (dans Eclipse), cela fonctionne. En d'autres termes, dString [2] renvoie correctement 2012. Lorsque je cours le code ci-dessous dans Selenium IDE, il divise la chaîne de date en 9 caractères, au lieu des 3 sous-chaînes désirées. Quels changements dois-je apporter au code ci-dessous? Ou est-ce un bug avec la mise en œuvre de Selenium ...?Sélénium split date string exemple de travail?

Merci Tous, -Sam

<tr> 
    <td>store</td> 
    <td>04.05.2012</td> 
    <td>flight_date</td> 
</tr> 
<tr> 
    <td>storeEval</td> 
    <td>dList = '${flight_date}'.split('.'); </td> 
    <td>dsplit1 </td> 
</tr> 
<tr> 
    <td>echo</td> 
    <td>${dsplit1}</td> 
    <td></td> 
</tr> 
<tr> 
    <td>storeEval</td> 
    <td>day = '${dsplit1}'[9]</td> 
    <td>dsplit2</td> 
</tr> 
<!--this returns 2--> 
<tr> 
    <td>echo</td> 
    <td>${dsplit2}</td> 
    <td></td> 
</tr> 

Répondre

1

Essayez

<tr> 
    <td>storeEval</td> 
    <td>day = storedVars.dsplit1[2]</td> 
    <td>dsplit2</td> 
</tr> 

au lieu de

<tr> 
    <td>storeEval</td> 
    <td>day = '${dsplit1}'[9]</td> 
    <td>dsplit2</td> 
</tr> 

il vous donnera une année (2012). storedVars.dsplit1 [0] et storedVars.dsplit1 [1] vous donneront 04 et 05 en conséquence. Ou vous pouvez utiliser storeEval | dList[2] | dsplit2 simple. Dans ce cas, vous pouvez utiliser getEval | dList = '${flight_date}'.split('.'); au lieu de storeEval | dList = '${flight_date}'.split('.'); | dsplit1

+0

Merci! Cela a fait l'affaire: storeEval | dList [2] | dsplit2 – gorbysbm

1

est-il traite . comme tout caractère dans une expression régulière?

Essayez échapper

'${flight_date}'.split('\.'); 

ou

'${flight_date}'.split(/\./g); 
+0

Cela semblait vraiment prometteur, mais ce n'était pas ça. Merci pour la tentative. – gorbysbm