2015-08-04 4 views
0

В принципе, я хотел бы учитывать високосные годы в тесте на календарь. Если это високосный год, то monthDays [1] будет перезаписан числом 29. Трудность заключается в назначении одного элемента в массиве и использовании операторов IF в Selenium IDE.Как написать сценарий Selenium IDE для календарного високосного года?

Любая помощь будет оценена по достоинству.

<!--Initialize Days in Each Month--> 
<tr> 
    <td>storeEval</td> 
    <td>new Array(31,28,31,30,31,30,31,31,30,31,30,31)</td> 
    <td>monthDays</td> 
</tr> 
<tr> 
    <td>echo</td> 
    <td>${monthDays}</td> 
    <td></td> 
</tr> 
<!--Correct for Leap year--> 
<!--Testing for Year 2000 by substacting 15 from 2015 below --> 
<tr> 
    <td>storeEval</td> 
    <td>new Date().getFullYear()-15;</td> 
    <td>checkYear</td> 
</tr> 
<!--Syntax Error below--> 
<tr> 
    <td>storeEval</td> 
    <td>javascript{if([storedVars['checkYear']]%400==0 
      {[storedVars['monthDays'][1]] = 29}}</td> 
    <td>monthDays[1]</td> 
</tr> 
<!--*** Else If %100, then NOT Leap year ***--> 
<!--*** Else If %4, then Leap year ***--> 
+1

Какое ваше точное требование? Вы хотите проверить, имеет ли месяц feb 29 дней или нет? –

+0

Чтобы обновить массив monthDays за февраль правильно, если это високосный год. Таким образом, значение в monthDays [1] будет равно 29, если это високосный год или 28, если это не так. – felicia888

+0

Зачем вам это нужно знать? Это потому, что вам нужен последний день месяца? Я считаю, что есть утилиты, которые могли бы выполнить это, манипулируя объектом Date. См. Http://stackoverflow.com/questions/8175521/javascript-to-find-leap-year – DMart

ответ

0

Это похоже на работу с использованием тернарного оператора. Трудная часть находила команду «runScript», так как собственный JavaScript-код среды IDE не разрешал назначение члена массива.

<!--Initialize Days in Each Month--> 
<tr> 
    <td>storeEval</td> 
    <td>new Array(31,28,31,30,31,30,31,31,30,31,30,31)</td> 
    <td>monthDays</td> 
</tr> 
<!--Initialize Name of each Month--> 
<tr> 
    <td>storeEval</td> 
    <td>new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December')</td> 
    <td>months</td> 
</tr> 
<!--Initialize Name of each Weekday--> 
<tr> 
    <td>storeEval</td> 
    <td>new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday')</td> 
    <td>weekdays</td> 
</tr> 
<!--Correct for Leap year--> 
<tr> 
    <td>storeEval</td> 
    <td>new Date().getFullYear()</td> 
    <td>checkYear</td> 
</tr> 
<tr> 
    <td>storeEval</td> 
    <td>((([storedVars['checkYear']]%4===0) &amp;([storedVars['checkYear']]%100!=0)) || ([storedVars['checkYear']]%400==0))&nbsp;&nbsp;&nbsp;?&nbsp;&nbsp;29 : 28</td> 
    <td>daysInFeb</td> 
</tr> 
<!--Note: Use runScript for array assignment. IDE cannot do array assignment !--> 
<tr> 
    <td>runScript</td> 
    <td>javascript{storedVars['monthDays'][1]=storedVars['daysInFeb']}</td> 
    <td></td> 
</tr> 
<tr> 
    <td>echo</td> 
    <td>${monthDays}</td> 
    <td></td> 
</tr> 
<tr> 
    <td>echo</td> 
    <td>javascript{storedVars['monthDays'][1]}</td> 
    <td></td> 
</tr> 
Смежные вопросы