Commit 4fab4b01760d5aef65ebc87045522477cb1b5436
1 parent
2c46fae0
NewTend single+malty+add items keyword
Showing
1 changed file
with
59 additions
and
145 deletions
| ... | ... | @@ -27,206 +27,113 @@ ${locator.tenderId} jquery=h3 |
| 27 | 27 | Click Element id=submit-login-button |
| 28 | 28 | Wait Until Page Contains Element xpath=//div[@class="introjs-overlay"] 100 |
| 29 | 29 | |
| 30 | - | |
| 31 | 30 | Створити тендер |
| 32 | 31 | [Arguments] @{ARGUMENTS} |
| 33 | 32 | [Documentation] |
| 34 | 33 | ... ${ARGUMENTS[0]} == username |
| 35 | 34 | ... ${ARGUMENTS[1]} == tender_data |
| 35 | + | |
| 36 | 36 | ## Inicialisation |
| 37 | 37 | ${items}= Get From Dictionary ${ARGUMENTS[1].data} items |
| 38 | 38 | ${title}= Get From Dictionary ${ARGUMENTS[1].data} title |
| 39 | 39 | ${description}= Get From Dictionary ${ARGUMENTS[1].data} description |
| 40 | 40 | ${budget}= Get From Dictionary ${ARGUMENTS[1].data.value} amount |
| 41 | 41 | ${step_rate}= Get From Dictionary ${ARGUMENTS[1].data.minimalStep} amount |
| 42 | - | |
| 43 | - ${items_description}= Get From Dictionary ${items[0]} description | |
| 44 | - ${quantity}= Get From Dictionary ${items[0]} quantity | |
| 45 | - ${cpv}= Get From Dictionary ${items[0].classification} description_ua | |
| 46 | - ${dkpp_desc}= Get From Dictionary ${items[0].additionalClassifications[0]} description | |
| 47 | - ${dkpp_id}= Get From Dictionary ${items[0].additionalClassifications[0]} id | |
| 48 | - ${unit}= Get From Dictionary ${items[0].unit} name | |
| 49 | - | |
| 50 | 42 | ${start_date}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} startDate |
| 51 | 43 | ${end_date}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} endDate |
| 52 | 44 | ${enquiry_start_date}= Get From Dictionary ${ARGUMENTS[1].data.enquiryPeriod} startDate |
| 53 | 45 | ${enquiry_end_date}= Get From Dictionary ${ARGUMENTS[1].data.enquiryPeriod} endDate |
| 54 | - ${deliverydate_end_date}= Get From Dictionary ${items[0].deliveryDate} endDate | |
| 55 | - | |
| 56 | - ${countryName}= Get From Dictionary ${items[0].deliveryAddress} countryName | |
| 57 | - ${ZIP}= Get From Dictionary ${items[0].deliveryAddress} postalCode | |
| 58 | - ${region}= Get From Dictionary ${items[0].deliveryAddress} region | |
| 59 | - ${locality}= Get From Dictionary ${items[0].deliveryAddress} locality | |
| 60 | - ${streetAddress}= Get From Dictionary ${items[0].deliveryAddress} streetAddress | |
| 61 | -## | |
| 46 | + | |
| 62 | 47 | Selenium2Library.Switch Browser ${ARGUMENTS[0]} |
| 63 | 48 | Go To ${USERS.users['${username}'].homepage} |
| 64 | 49 | Wait Until Page Contains Element xpath=//a[@href="#/create-tender"] 100 |
| 65 | 50 | Click Link xpath=//a[@href="#/create-tender"] |
| 66 | - Wait Until Page Contains Новый тендер 100 | |
| 51 | + Wait Until Page Contains Новый тендер 100 | |
| 67 | 52 | # Input fields tender |
| 68 | 53 | Input text name=tenderName ${title} |
| 69 | - Input text name=tenderDescription ${description} | |
| 54 | + Input text name=tenderDescription ${description} | |
| 70 | 55 | Input text id=budget ${budget} |
| 71 | 56 | Click Element id=with-nds |
| 72 | 57 | Input text id=step ${step_rate} |
| 73 | -## 1-st Item ifo | |
| 74 | - Input text id=itemDescription0 ${items_description} | |
| 75 | - Input text id=quantity0 ${quantity} | |
| 76 | - Click Element xpath=//a[@class="dropdown-toggle ng-binding"] | |
| 77 | - Click Element xpath=//a[contains(text(),'${unit}')] | |
| 78 | -# Set CPV | |
| 79 | - Click Element id=classifier10 | |
| 80 | - Wait Until Page Contains Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] 100 | |
| 81 | - Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${cpv} | |
| 82 | - Wait Until Page Contains Element xpath=//span[contains(text(),'${cpv}')] 20 | |
| 83 | - Click Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] | |
| 84 | - Click Element xpath=//button[@class="btn btn-default btn-lg pull-right choose ng-binding"] | |
| 85 | -# Set ДКПП | |
| 86 | - Click Element id=classifier20 | |
| 87 | - Wait Until Page Contains Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] 100 | |
| 88 | - Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${dkpp_desc} | |
| 89 | - Wait Until Page Contains Element xpath=//span[contains(text(),'${dkpp_id}')] 100 | |
| 90 | - Click Element xpath=//span[contains(text(),'${dkpp_id}')]/../..//input[@class="ng-pristine ng-untouched ng-valid"] | |
| 91 | - Click Element xpath=//button[@class="btn btn-default btn-lg pull-right choose ng-binding"] | |
| 92 | -# Set Delivery Address | |
| 93 | - Click Element id=deliveryAddress0 | |
| 94 | - Wait Until Page Contains Element xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] 100 | |
| 95 | - Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${countryName} | |
| 96 | - Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${ZIP} | |
| 97 | - Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${region} | |
| 98 | - Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${locality} | |
| 99 | - Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${streetAddress} | |
| 100 | - Click Element xpath=//button[@class="btn btn-lg single-btn ng-binding"] | |
| 101 | -# Set Item Datetime | |
| 102 | - Set datetime end-date-delivery0 ${deliverydate_end_date} | |
| 103 | -## | |
| 58 | +# Add Item(s) | |
| 59 | + Додати придмет ${items[0]} 0 | |
| 60 | + Run Keyword If '${mode}' == 'multi' Додати багато придметів items | |
| 104 | 61 | # Set tender datatimes |
| 105 | 62 | Set datetime start-date-registration ${start_date} |
| 106 | 63 | Set datetime end-date-registration ${end_date} |
| 107 | 64 | Set datetime end-date-qualification ${enquiry_end_date} |
| 108 | 65 | Set datetime start-date-qualification ${enquiry_start_date} |
| 109 | - | |
| 110 | - Run Keyword If '${mode}' == 'multi' Додати придмет items | |
| 111 | - | |
| 66 | +# Save | |
| 112 | 67 | Click Element xpath=//button[@class="btn btn-lg btn-default cancel pull-right ng-binding"] |
| 113 | 68 | Wait Until Page Contains Element xpath=//div[@ng-click="goHome()"] 30 |
| 114 | 69 | Click Element xpath=//div[@ng-click="goHome()"] |
| 115 | -### harcode Idis bacause issues on the Newtend side, to remove after fix: | |
| 116 | - ${tender_UAid}= Convert To String UA-2015-07-06-000105 | |
| 117 | - ${tender_id}= Convert To String 192c86c7d8b74c1081d1a9b2db0faba2 | |
| 118 | - | |
| 119 | -### ${tender_UAid}= Get Text xpath=//div[@class="title"] | |
| 120 | - | |
| 121 | - ${Ids} Create List ${tender_UAid} ${tender_id} | |
| 70 | +# Get Ids | |
| 71 | + Wait Until Page Contains Element xpath=//div[@class="title"] 30 | |
| 72 | + ${tender_UAid}= Get Text xpath=//div[@class="title"] | |
| 73 | + ${current_location}= Get Location | |
| 74 | + ${tender_id}= Get Substring ${current_location} -41 -9 | |
| 75 | + ${Ids} Create List ${tender_UAid} ${tender_id} | |
| 122 | 76 | [return] ${Ids} |
| 123 | 77 | |
| 78 | + | |
| 124 | 79 | Set datetime |
| 125 | 80 | [Arguments] @{ARGUMENTS} |
| 126 | 81 | [Documentation] |
| 127 | 82 | ... ${ARGUMENTS[0]} == control_id |
| 128 | 83 | ... ${ARGUMENTS[1]} == date |
| 129 | 84 | #Pick Date |
| 130 | - Click Element xpath=//input[@id="${ARGUMENTS[0]}"]/../span[@class="calendar-btn"] | |
| 131 | - Wait Until Page Contains Element xpath=//td[@class="text-center ng-scope"] 30 | |
| 85 | + Click Element xpath=//input[@id="${ARGUMENTS[0]}"]/../span[@class="calendar-btn"] | |
| 86 | + Wait Until Page Contains Element xpath=//td[@class="text-center ng-scope"] 30 | |
| 132 | 87 | ${datapicker_id}= Get Element Attribute xpath=//input[@id="${ARGUMENTS[0]}"]/..//td[@class="text-center ng-scope"]@id |
| 133 | - ${datapicker_id}= Get Substring ${datapicker_id} 0 -1 | |
| 134 | - ${date_index}= newtend_date_picker_index ${ARGUMENTS[1]} | |
| 135 | - ${datapicker_id}= Convert To String ${datapicker_id}${date_index} | |
| 136 | - Click Element xpath=//input[@id="${ARGUMENTS[0]}"]/..//td[@id="${datapicker_id}"]/button | |
| 88 | + ${datapicker_id}= Get Substring ${datapicker_id} 0 -1 | |
| 89 | + ${date_index}= newtend_date_picker_index ${ARGUMENTS[1]} | |
| 90 | + ${datapicker_id}= Convert To String ${datapicker_id}${date_index} | |
| 91 | + Click Element xpath=//input[@id="${ARGUMENTS[0]}"]/..//td[@id="${datapicker_id}"]/button | |
| 137 | 92 | #Set time |
| 138 | 93 | ${hous}= Get Substring ${ARGUMENTS[1]} 11 13 |
| 139 | 94 | ${minutes}= Get Substring ${ARGUMENTS[1]} 14 16 |
| 140 | 95 | Input text xpath=//input[@id="${ARGUMENTS[0]}"]/../..//input[@ng-model="hours"] ${hous} |
| 141 | 96 | Input text xpath=//input[@id="${ARGUMENTS[0]}"]/../..//input[@ng-model="minutes"] ${minutes} |
| 142 | 97 | |
| 143 | - | |
| 144 | 98 | Додати придмет |
| 145 | 99 | [Arguments] @{ARGUMENTS} |
| 146 | 100 | [Documentation] |
| 147 | - ... ${ARGUMENTS[0]} == items | |
| 148 | - | |
| 149 | -## Get values for 2-nd item | |
| 150 | - ${items_description1}= Get From Dictionary ${items[1]} description | |
| 151 | - ${quantity1}= Get From Dictionary ${items[1]} quantity | |
| 152 | - ${cpv1}= Get From Dictionary ${items[1].classification} description_ua | |
| 153 | - ${dkpp_desc1}= Get From Dictionary ${items[1].additionalClassifications[0]} description | |
| 154 | - ${dkpp_id1}= Get From Dictionary ${items[1].additionalClassifications[0]} id | |
| 155 | - ${unit1}= Get From Dictionary ${items[1].unit} name | |
| 156 | - | |
| 157 | - ${deliverydate_end_date1}= Get From Dictionary ${items[1].deliveryDate} endDate | |
| 158 | - | |
| 159 | - ${countryName1}= Get From Dictionary ${items[1].deliveryAddress} countryName | |
| 160 | - ${ZIP1}= Get From Dictionary ${items[1].deliveryAddress} postalCode | |
| 161 | - ${region1}= Get From Dictionary ${items[1].deliveryAddress} region | |
| 162 | - ${locality1}= Get From Dictionary ${items[1].deliveryAddress} locality | |
| 163 | - ${streetAddress1}= Get From Dictionary ${items[1].deliveryAddress} streetAddress | |
| 164 | - | |
| 165 | -## Get values for 3-rd item | |
| 166 | - ${items_description2}= Get From Dictionary ${items[2]} description | |
| 167 | - ${quantity2}= Get From Dictionary ${items[2]} quantity | |
| 168 | - ${cpv2}= Get From Dictionary ${items[2].classification} description_ua | |
| 169 | - ${dkpp_desc2}= Get From Dictionary ${items[2].additionalClassifications[0]} description | |
| 170 | - ${dkpp_id2}= Get From Dictionary ${items[2].additionalClassifications[0]} id | |
| 171 | - ${unit2}= Get From Dictionary ${items[2].unit} name | |
| 172 | - | |
| 173 | - ${deliverydate_end_date2}= Get From Dictionary ${items[2].deliveryDate} endDate | |
| 174 | - | |
| 175 | - ${countryName2}= Get From Dictionary ${items[2].deliveryAddress} countryName | |
| 176 | - ${ZIP2}= Get From Dictionary ${items[2].deliveryAddress} postalCode | |
| 177 | - ${region2}= Get From Dictionary ${items[2].deliveryAddress} region | |
| 178 | - ${locality2}= Get From Dictionary ${items[2].deliveryAddress} locality | |
| 179 | - ${streetAddress2}= Get From Dictionary ${items[2].deliveryAddress} streetAddress | |
| 180 | - | |
| 181 | -## Get values for 4-th item | |
| 182 | - ${items_description3}= Get From Dictionary ${items[3]} description | |
| 183 | - ${quantity3}= Get From Dictionary ${items[3]} quantity | |
| 184 | - ${cpv3}= Get From Dictionary ${items[3].classification} description_ua | |
| 185 | - ${dkpp_desc3}= Get From Dictionary ${items[3].additionalClassifications[0]} description | |
| 186 | - ${dkpp_id3}= Get From Dictionary ${items[3].additionalClassifications[0]} id | |
| 187 | - ${unit3}= Get From Dictionary ${items[3].unit} name | |
| 188 | - | |
| 189 | - ${deliverydate_end_date3}= Get From Dictionary ${items[3].deliveryDate} endDate | |
| 190 | - | |
| 191 | - ${countryName3}= Get From Dictionary ${items[3].deliveryAddress} countryName | |
| 192 | - ${ZIP3}= Get From Dictionary ${items[3].deliveryAddress} postalCode | |
| 193 | - ${region3}= Get From Dictionary ${items[3].deliveryAddress} region | |
| 194 | - ${locality3}= Get From Dictionary ${items[3].deliveryAddress} locality | |
| 195 | - ${streetAddress3}= Get From Dictionary ${items[3].deliveryAddress} streetAddress | |
| 196 | - | |
| 197 | - | |
| 198 | - Click Element xpath=//a[@class="icon-black plus-black remove-field ng-scope"] | |
| 199 | -###переробити на наступний ітем | |
| 200 | - | |
| 201 | -# Input text id=itemDescription0 ${items_description} | |
| 202 | - Input text id=itemDescription1 ${items_description1} | |
| 203 | -# Input text id=quantity0 ${quantity} | |
| 204 | - Input text id=quantity1 ${quantity1} | |
| 205 | -### to fix | |
| 206 | - Click Element xpath=//a[@class="dropdown-toggle ng-binding"] | |
| 207 | - Click Element xpath=(//span[contains(@class, 'caret')][./text()='единицы измерения']) | |
| 208 | - | |
| 209 | -<a aria-expanded="false" aria-haspopup="true" class="dropdown-toggle ng-binding" dropdown-toggle=""> | |
| 210 | - единицы измерения <span class="caret"></span> | |
| 211 | - </a> | |
| 212 | - Click Element xpath=//a[contains(text(),'${unit1}')] | |
| 213 | - | |
| 101 | + ... ${ARGUMENTS[0]} == items_n | |
| 102 | + ... ${ARGUMENTS[1]} == index | |
| 103 | +## Get values for item | |
| 104 | + ${items_description}= Get From Dictionary ${ARGUMENTS[0]} description | |
| 105 | + ${quantity}= Get From Dictionary ${ARGUMENTS[0]} quantity | |
| 106 | + ${cpv}= Get From Dictionary ${ARGUMENTS[0].classification} description_ua | |
| 107 | + ${dkpp_desc}= Get From Dictionary ${ARGUMENTS[0].additionalClassifications[0]} description | |
| 108 | + ${dkpp_id}= Get From Dictionary ${ARGUMENTS[0].additionalClassifications[0]} id | |
| 109 | + ${unit}= Get From Dictionary ${ARGUMENTS[0].unit} name | |
| 110 | + ${deliverydate_end_date}= Get From Dictionary ${ARGUMENTS[0].deliveryDate} endDate | |
| 111 | + ${countryName}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} countryName | |
| 112 | + ${ZIP}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} postalCode | |
| 113 | + ${region}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} region | |
| 114 | + ${locality}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} locality | |
| 115 | + ${streetAddress}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} streetAddress | |
| 116 | +# Add item | |
| 117 | + Input text id=itemDescription${ARGUMENTS[1]} ${items_description} | |
| 118 | + Input text id=quantity${ARGUMENTS[1]} ${quantity} | |
| 119 | + Click Element xpath=//a[contains(text(), "единицы измерения")] | |
| 120 | + Click Element xpath=//a[contains(text(), "единицы измерения")]/..//a[contains(text(), '${unit}')] | |
| 214 | 121 | # Set CPV |
| 215 | - Click Element id=classifier11 | |
| 122 | + Click Element id=classifier1${ARGUMENTS[1]} | |
| 216 | 123 | Wait Until Page Contains Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] 100 |
| 217 | - Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${cpv1} | |
| 218 | - Wait Until Page Contains Element xpath=//span[contains(text(),'${cpv1}')] 20 | |
| 124 | + Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${cpv} | |
| 125 | + Wait Until Page Contains Element xpath=//span[contains(text(),'${cpv}')] 20 | |
| 219 | 126 | Click Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] |
| 220 | 127 | Click Element xpath=//button[@class="btn btn-default btn-lg pull-right choose ng-binding"] |
| 221 | 128 | # Set ДКПП |
| 222 | - Click Element id=classifier21 | |
| 129 | + Click Element id=classifier2${ARGUMENTS[1]} | |
| 223 | 130 | Wait Until Page Contains Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] 100 |
| 224 | - Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${dkpp_desc1} | |
| 225 | - Wait Until Page Contains Element xpath=//span[contains(text(),'${dkpp_id1}')] 100 | |
| 226 | - Click Element xpath=//span[contains(text(),'${dkpp_id1}')]/../..//input[@class="ng-pristine ng-untouched ng-valid"] | |
| 131 | + Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${dkpp_desc} | |
| 132 | + Wait Until Page Contains Element xpath=//span[contains(text(),'${dkpp_id}')] 100 | |
| 133 | + Click Element xpath=//span[contains(text(),'${dkpp_id}')]/../..//input[@class="ng-pristine ng-untouched ng-valid"] | |
| 227 | 134 | Click Element xpath=//button[@class="btn btn-default btn-lg pull-right choose ng-binding"] |
| 228 | 135 | # Set Delivery Address |
| 229 | - Click Element id=deliveryAddress1 | |
| 136 | + Click Element id=deliveryAddress${ARGUMENTS[1]} | |
| 230 | 137 | Wait Until Page Contains Element xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] 100 |
| 231 | 138 | Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${countryName} |
| 232 | 139 | Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${ZIP} |
| ... | ... | @@ -235,9 +142,16 @@ Set datetime |
| 235 | 142 | Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${streetAddress} |
| 236 | 143 | Click Element xpath=//button[@class="btn btn-lg single-btn ng-binding"] |
| 237 | 144 | # Set Item Datetime |
| 238 | - Set datetime end-date-delivery1 ${deliverydate_end_date1} | |
| 239 | -### | |
| 240 | - Debug | |
| 145 | + Set datetime end-date-delivery${ARGUMENTS[1]} ${deliverydate_end_date} | |
| 146 | + | |
| 147 | +Додати багато придметів | |
| 148 | + [Arguments] @{ARGUMENTS} | |
| 149 | + [Documentation] | |
| 150 | + ... ${ARGUMENTS[0]} == items | |
| 151 | + ${Items_length}= Get Length ${items} | |
| 152 | + : FOR ${INDEX} IN RANGE 1 ${Items_length} | |
| 153 | + \ Click Element xpath=//a[@class="icon-black plus-black remove-field ng-scope"] | |
| 154 | + \ Додати придмет ${items[${INDEX}]} ${INDEX} | |
| 241 | 155 | |
| 242 | 156 | |
| 243 | 157 | ... | ... |
Please
register
or
login
to post a comment