Showing
18 changed files
with
2032 additions
and
148 deletions
kai.dat
0 → 100644
No preview for this file type
... | ... | @@ -3,6 +3,8 @@ |
3 | 3 | Resource playtender_common.robot |
4 | 4 | Resource playtender_plan.robot |
5 | 5 | Resource playtender_tender.robot |
6 | +Resource playtender_qualification.robot | |
7 | +Resource playtender_contract.robot | |
6 | 8 | |
7 | 9 | *** Variables *** |
8 | 10 | |
... | ... | @@ -116,6 +118,10 @@ Resource playtender_tende |
116 | 118 | Set Global Variable ${td_railway_crutch} ${tender_data} |
117 | 119 | ##### EOF - TMP ##### |
118 | 120 | |
121 | + ${tender_data_keys}= Get Dictionary Keys ${tender_data.data} | |
122 | + ${procurementMethodType} = Set Variable If 'procurementMethodType' in ${tender_data_keys} ${tender_data.data.procurementMethodType} belowThreshold | |
123 | + Run Keyword If '${SUITE_NAME}' == 'Tests Files.Complaints' and '${procurementMethodType}' == 'aboveThresholdUA' Go To ${BROKERS['playtender'].basepage}/utils/config?tacceleration=360 | |
124 | + Run Keyword If '${SUITE_NAME}' == 'Tests Files.Complaints' and '${procurementMethodType}' == 'belowThreshold' Go To ${BROKERS['playtender'].basepage}/utils/config?tacceleration=720 | |
119 | 125 | open new tender form |
120 | 126 | fill tender form ${tender_prepared_data} |
121 | 127 | submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator} |
... | ... | @@ -128,10 +134,11 @@ Resource playtender_tende |
128 | 134 | [Arguments] ${username} ${$tender_uaid} |
129 | 135 | [Documentation] Оновити сторінку з тендером для отримання потенційно оновлених даних. |
130 | 136 | |
137 | + Selenium2Library.Switch Browser ${username} | |
131 | 138 | open tender page by uaid ${$tender_uaid} |
132 | 139 | |
133 | 140 | Пошук тендера по ідентифікатору |
134 | - [Arguments] ${username} ${tender_uaid} | |
141 | + [Arguments] ${username} ${tender_uaid} ${save_key}=${Empty} | |
135 | 142 | [Documentation] Знайти тендер з uaid рівним tender_uaid. |
136 | 143 | |
137 | 144 | open tender search form |
... | ... | @@ -143,6 +150,13 @@ Resource playtender_tende |
143 | 150 | |
144 | 151 | open tender page by uaid ${tender_uaid} |
145 | 152 | wait until page does not contain element with reloading ${tender_sync_element_locator} |
153 | + run keyword if '${field_name}' == 'status' wait for tender status | |
154 | + run keyword if '${field_name}' == 'qualificationPeriod.endDate' Wait Until Keyword Succeeds 1600 s 20 s Wait For QualificationsPeriodEnd | |
155 | + Run Keyword And Return If '${field_name}' == 'contracts[0].status' or '${field_name}' == 'contracts[1].status' Отримати інформацію із contracts[0].status | |
156 | + Run Keyword And Return If '${field_name}' == 'qualificationPeriod.endDate' and '${mode}' in 'open_competitive_dialogue' Отримати інформацію із qualificationPeriod.endDate | |
157 | + Run Keyword And Return If '${field_name}' in 'awards[0].complaintPeriod.endDate awards[1].complaintPeriod.endDate awards[2].complaintPeriod.endDate awards[3].complaintPeriod.endDate' Отримати інформацію із awards.complaintPeriod.endDate | |
158 | + Run Keyword And Return If '${field_name}' in 'minimalStep.amount' Отримати інформацію із minimalStep.amount | |
159 | + Run Keyword And Return If '${field_name}' == 'awards[0].documents[0].title' Отримати інформацію із awards[0].documents[0].title | |
146 | 160 | ${field_name} = set variable tender.${field_name}.value |
147 | 161 | ${value} = get field_value by field_name on opened page ${field_name} |
148 | 162 | [Return] ${value} |
... | ... | @@ -200,8 +214,8 @@ Resource playtender_tende |
200 | 214 | wait until page contains element with reloading ${tender_form_lots_remove_item_btn_locator} |
201 | 215 | click visible element ${tender_form_lots_remove_item_btn_locator} |
202 | 216 | Wait Until Page Contains ${tender_lots_remove_item_form_submit_success_msg} 60 |
203 | - click visible element ${not_alert_opened_close_btn_locator} | |
204 | - run keyword and ignore error click visible element ${not_alert_opened_close_btn_locator} | |
217 | + execute javascript ${not_alert_opened_close_btn_locator} | |
218 | + #run keyword and ignore error click visible element ${not_alert_opened_close_btn_locator} | |
205 | 219 | capture page screenshot |
206 | 220 | Wait Until Page Does Not Contain ${tender_lots_remove_item_form_submit_success_msg} 10 |
207 | 221 | capture page screenshot |
... | ... | @@ -229,9 +243,9 @@ Resource playtender_tende |
229 | 243 | #перейти на соответствующий лот, например, первый |
230 | 244 | ${tender_lot_switch_tabs_lot_btn_locator} = replace string ${tender_lot_switch_tabs_lot_btn_locator_tpl} %lot_id% ${lot_id} |
231 | 245 | click visible element ${tender_lot_switch_tabs_lot_btn_locator} |
232 | - ${field_name} = set variable tender.lot.${field_name}.value | |
233 | -# ${value} = get value from lot ${lot_id} ${field_name} | |
234 | - ${value} = get field_value by field_name on opened page ${field_name} | |
246 | +# ${field_name} = set variable tender.lot.${field_name}.value | |
247 | + ${value} = get value from lot ${lot_id} ${field_name} | |
248 | +# ${value} = get field_value by field_name on opened page ${field_name} | |
235 | 249 | [Return] ${value} |
236 | 250 | |
237 | 251 | Завантажити документ в лот |
... | ... | @@ -262,9 +276,12 @@ Resource playtender_tende |
262 | 276 | [Documentation] Додати предмет item в лот з lot_id в описі для тендера tender_uaid. |
263 | 277 | |
264 | 278 | open tender form by uaid ${tender_uaid} |
265 | - click visible element ${tender_form_lots_add_item_btn_locator} | |
279 | +# click visible element ${tender_form_lots_add_item_btn_locator} | |
266 | 280 | ${items} = create list ${item} |
267 | 281 | fill tender form items ${items} |
282 | +# wait until popup is visible | |
283 | +# fill tender item form in opened popup ${item} | |
284 | +# submit current visible popup | |
268 | 285 | save tender form and wait synchronization |
269 | 286 | |
270 | 287 | |
... | ... | @@ -280,7 +297,9 @@ Resource playtender_tende |
280 | 297 | [Documentation] Додати дані feature про неціновий показник до тендера tender_uaid. |
281 | 298 | |
282 | 299 | open tender form by uaid ${tender_uaid} |
283 | - fill tender form features2 ${feature} ${tender_form_general_panel_update_feature_btn_locator} | |
300 | + ${features} = create list ${feature} | |
301 | + fill tender form features ${features} ${tender_update_feature_tender_btn_locator} | |
302 | + #fill tender form features2 ${feature} ${tender_update_feature_tender_btn_locator} | |
284 | 303 | save tender form and wait synchronization |
285 | 304 | |
286 | 305 | Додати неціновий показник на предмет |
... | ... | @@ -288,7 +307,9 @@ Resource playtender_tende |
288 | 307 | [Documentation] Додати дані feature про неціновий показник до предмету з item_id в описі для тендера tender_uaid. |
289 | 308 | |
290 | 309 | open tender form by uaid ${tender_uaid} |
291 | - fill tender form features2 ${feature} ${tender_form_item_add_feature_btn_locator} | |
310 | + ${features} = create list ${feature} | |
311 | + fill tender form features ${features} ${tender_form_item_add_feature_btn_locator} | |
312 | +# fill tender form features2 ${feature} ${tender_form_item_add_feature_btn_locator} | |
292 | 313 | save tender form and wait synchronization |
293 | 314 | |
294 | 315 | Додати неціновий показник на лот |
... | ... | @@ -296,7 +317,10 @@ Resource playtender_tende |
296 | 317 | [Documentation] Додати дані feature про неціновий показник до лоту з lot_id в описі для тендера tender_uaid. |
297 | 318 | |
298 | 319 | open tender form by uaid ${tender_uaid} |
299 | - fill tender form features2 ${feature} ${tender_update_feature_lot_btn_locator} | |
320 | +# click visible element ${tender_update_feature_lot_btn_locator} | |
321 | + ${features} = create list ${feature} | |
322 | + fill tender form features ${features} ${tender_update_feature_lot_btn_locator} | |
323 | +# fill tender form features2 ${feature} ${tender_update_feature_lot_btn_locator} | |
300 | 324 | save tender form and wait synchronization |
301 | 325 | |
302 | 326 | Отримати інформацію із нецінового показника |
... | ... | @@ -312,18 +336,19 @@ Resource playtender_tende |
312 | 336 | [Arguments] ${username} ${tender_uaid} ${feature_id} ${obj_id}=Empty |
313 | 337 | [Documentation] Видалити неціновий показник з feature_id в описі для тендера tender_uaid. |
314 | 338 | |
315 | - | |
316 | 339 | open tender form by uaid ${tender_uaid} |
317 | 340 | Run Keyword If '${TEST_NAME}' == 'Можливість видалити неціновий показник на предмет' click visible element ${tender_update_feature_item_btn_locator} |
318 | 341 | Run Keyword If '${TEST_NAME}' == 'Можливість видалити неціновий показник на лот' click visible element ${tender_update_feature_lot_btn_locator} |
319 | 342 | Run Keyword If '${TEST_NAME}' == 'Можливість видалити неціновий показник на тендер' click visible element ${tender_update_feature_tender_btn_locator} |
320 | 343 | wait until popup is visible |
321 | 344 | ${tender_feature_switch_dell_btn_locator} = replace string ${tender_feature_switch_dell_btn_locator_tpl} %feature_id% ${feature_id} |
322 | - click visible element ${tender_feature_switch_dell_btn_locator} | |
345 | + execute javascript ${tender_feature_switch_dell_btn_locator} | |
346 | +# click visible element ${tender_feature_switch_dell_btn_locator} | |
323 | 347 | Wait Until Element Is Visible ${tender_feature_dell_btn_locator} 20 |
324 | 348 | click visible element ${tender_feature_dell_btn_locator} |
325 | 349 | Wait Until Page Contains ${tender_feature_form_submit_success_msg} 60 |
326 | - click visible element ${not_alert_opened_close_btn_locator} | |
350 | + execute javascript ${not_alert_opened_close_btn_locator} | |
351 | + #click visible element ${not_alert_opened_close_btn_locator} | |
327 | 352 | Wait Until Page Does Not Contain ${tender_feature_form_submit_success_msg} 10 |
328 | 353 | submit current visible popup |
329 | 354 | save tender form and wait synchronization |
... | ... | @@ -342,7 +367,7 @@ Resource playtender_tende |
342 | 367 | [Documentation] Дати відповідь answer_data на запитання з question_id |
343 | 368 | ... в описі для тендера tender_uaid. |
344 | 369 | |
345 | - open tender form by uaid ${tender_uaid} | |
370 | + open tender page by uaid ${tender_uaid} | |
346 | 371 | answer question ${answer_data} ${question_id} |
347 | 372 | |
348 | 373 | Задати запитання на предмет |
... | ... | @@ -385,6 +410,7 @@ Resource playtender_tende |
385 | 410 | Створити вимогу про виправлення умов закупівлі |
386 | 411 | [Arguments] ${username} ${tender_uaid} ${claim} ${doc_name} |
387 | 412 | [Documentation] Створити запитання з даними question для тендера tender_uaid. |
413 | + | |
388 | 414 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} tender null ${claim} ${doc_name} |
389 | 415 | |
390 | 416 | Створити чернетку вимоги про виправлення умов закупівлі |
... | ... | @@ -407,20 +433,150 @@ Resource playtender_tende |
407 | 433 | [Arguments] ${username} ${tender_uaid} ${claim} ${lot_id} |
408 | 434 | [Documentation] Створює вимогу claim про виправлення умов закупівлі |
409 | 435 | ... у статусі draft для тендера tender_uaid. |
436 | + | |
410 | 437 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} lot ${lot_id} ${claim} null |
411 | 438 | |
412 | 439 | Створити вимогу про виправлення визначення переможця |
413 | 440 | [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id} ${doc_name} |
414 | 441 | [Documentation] Створює вимогу claim про виправлення визначення переможця |
415 | 442 | ... під номером award_index в статусі claim для тендера tender_uaid. Можна створити вимогу як з документом, який знаходиться за шляхом document, так і без нього. |
443 | + | |
416 | 444 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner ${proposal_id} ${claim} ${doc_name} |
417 | 445 | |
418 | 446 | Створити чернетку вимоги про виправлення визначення переможця |
419 | 447 | [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id} |
420 | 448 | [Documentation] Створює вимогу claim про виправлення визначення переможця |
421 | 449 | ... під номером award_index в статусі draft для тендера tender_uaid. |
450 | + | |
422 | 451 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner ${proposal_id} ${claim} null |
423 | 452 | |
453 | +Створити скаргу про виправлення визначення переможця | |
454 | + [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id} ${doc_name} | |
455 | + [Documentation] Створює скаргу claim про виправлення визначення переможця | |
456 | + ... під номером proposal_id в статусі claim для тендера tender_uaid. | |
457 | + | |
458 | + Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner_complaint ${proposal_id} ${claim} ${doc_name} | |
459 | + | |
460 | + | |
461 | +Скасувати вимогу про виправлення умов закупівлі | |
462 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${cancellation_data} | |
463 | + [Documentation] Перевести вимогу complaintID про виправлення умов закупівлі для | |
464 | + ... тендера tender_uaid у статус cancelled, використовуючи при цьому | |
465 | + ... дані cancellation_data. | |
466 | + | |
467 | + Скасувати вимогу ${username} ${tender_uaid} ${complaintID} ${cancellation_data} null | |
468 | + | |
469 | +Скасувати вимогу про виправлення умов лоту | |
470 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${cancellation_data} | |
471 | + [Documentation] Перевести вимогу complaintID про виправлення умов лоту для тендера | |
472 | + ... tender_uaid у статус cancelled, використовуючи при цьому | |
473 | + ... дані cancellation_data. | |
474 | + | |
475 | + Скасувати вимогу ${username} ${tender_uaid} ${complaintID} ${cancellation_data} null | |
476 | + | |
477 | +Скасувати вимогу про виправлення визначення переможця | |
478 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${cancellation_data} ${award_index} | |
479 | + [Documentation] Перевести вимогу complaintID про виправлення визначення переможця | |
480 | + ... під номером award_index для тендера tender_uaid у статус cancelled, використовуючи | |
481 | + ... при цьому дані confirmation_data. | |
482 | + | |
483 | + Скасувати вимогу ${username} ${tender_uaid} ${complaintID} ${cancellation_data} ${award_index} | |
484 | + | |
485 | +Підтвердити вирішення вимоги про виправлення умов закупівлі | |
486 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${confirmation_data} | |
487 | + [Documentation] Перевести вимогу complaintID про виправлення умов закупівлі для | |
488 | + ... тендера tender_uaid у статус resolved, використовуючи при цьому дані | |
489 | + ... confirmation_data. | |
490 | + | |
491 | + Підтвердити вирішення вимоги ${username} ${tender_uaid} tender null ${complaintID} ${confirmation_data} null | |
492 | + | |
493 | +Підтвердити вирішення вимоги про виправлення умов лоту | |
494 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${confirmation_data} | |
495 | + [Documentation] Перевести вимогу complaintID про виправлення умов лоту для тендера | |
496 | + ... tender_uaid у статус resolved, використовуючи при цьому дані confirmation_data. | |
497 | + | |
498 | + Підтвердити вирішення вимоги ${username} ${tender_uaid} lot null ${complaintID} ${confirmation_data} null | |
499 | + | |
500 | +Підтвердити вирішення вимоги про виправлення визначення переможця | |
501 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${confirmation_data} ${award_index} | |
502 | + [Documentation] Перевести вимогу complaintID про виправлення визначення переможця | |
503 | + ... під номером award_index для тендера tender_uaid у статус resolved, використовуючи | |
504 | + ... при цьому дані confirmation_data. | |
505 | + | |
506 | + Підтвердити вирішення вимоги ${username} ${tender_uaid} award null ${complaintID} ${confirmation_data} ${award_index} | |
507 | + | |
508 | +Перетворити вимогу про виправлення умов закупівлі в скаргу | |
509 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${escalating_data} | |
510 | + [Documentation] Перевести вимогу complaintID про виправлення умов закупівлі для | |
511 | + ... тендера tender_uaid у статус pending, використовуючи при цьому дані | |
512 | + ... escalating_data. | |
513 | + | |
514 | + Підтвердити вирішення вимоги ${username} ${tender_uaid} tender null ${complaintID} ${escalating_data} null | |
515 | + | |
516 | +Перетворити вимогу про виправлення умов лоту в скаргу | |
517 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${escalating_data} | |
518 | + [Documentation] Перевести вимогу complaintID про виправлення умов лоту для тендера | |
519 | + ... tender_uaid у статус pending, використовуючи при цьому дані escalating_data. | |
520 | + | |
521 | + Підтвердити вирішення вимоги ${username} ${tender_uaid} lot null ${complaintID} ${escalating_data} null | |
522 | + | |
523 | +Перетворити вимогу про виправлення визначення переможця в скаргу | |
524 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${escalating_data} ${award_index} | |
525 | + [Documentation] Перевести вимогу complaintID про виправлення визначення переможця | |
526 | + ... під номером award_index для тендера tender_uaid у статус pending, використовуючи при | |
527 | + ... цьому дані escalating_data. | |
528 | + | |
529 | + Підтвердити вирішення вимоги ${username} ${tender_uaid} award null ${complaintID} ${escalating_data} ${award_index} | |
530 | + | |
531 | +Отримати інформацію із скарги | |
532 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${field_name} ${award_index}=${None} | |
533 | + [Documentation] Отримати значення поля field_name скарги/вимоги complaintID про | |
534 | + ... виправлення умов закупівлі/лоту для тендера tender_uaid (скарги/вимоги про | |
535 | + ... виправлення визначення переможця під номером award_index, якщо award_index != None). | |
536 | + | |
537 | + ${value} = get claim information ${tender_uaid} ${complaintID} ${field_name} ${award_index}=${None} | |
538 | + [Return] ${value} | |
539 | + | |
540 | +Отримати інформацію із документа до скарги | |
541 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${doc_id} ${field_name} | |
542 | + [Documentation] Отримати значення поля field_name з документу doc_id до скарги/вимоги | |
543 | + ... complaintID для тендера tender_uaid. | |
544 | + | |
545 | + open tender page by uaid ${tender_uaid} | |
546 | + ${return_value} = Run Keyword If 'title' == '${field_name}' Отримати інформацію із документа скарги title ${complaintID} ${doc_id} | |
547 | + [return] ${return_value} | |
548 | + | |
549 | +Отримати документ до скарги | |
550 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${doc_id} | |
551 | + [Documentation] Завантажити файл doc_id до скарги complaintID для тендера tender_uaid | |
552 | + ... в директорію ${OUTPUT_DIR} для перевірки вмісту цього файлу. | |
553 | + | |
554 | + open tender page by uaid ${tender_uaid} | |
555 | + ${return_value} = get document complaint ${complaintID} ${doc_id} | |
556 | + [return] ${return_value} | |
557 | + | |
558 | +Відповісти на вимогу про виправлення умов закупівлі | |
559 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${answer_data} | |
560 | + [Documentation] Відповісти на вимогу complaintID про виправлення умов закупівлі для | |
561 | + ... тендера tender_uaid, використовуючи при цьому дані answer_data. | |
562 | + | |
563 | + Відповісти на вимогу ${username} ${tender_uaid} ${complaintID} ${answer_data} null | |
564 | + | |
565 | +Відповісти на вимогу про виправлення умов лоту | |
566 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${answer_data} | |
567 | + [Documentation] Відповісти на вимогу complaintID про виправлення умов лоту для тендера | |
568 | + ... tender_uaid, використовуючи при цьому дані answer_data. | |
569 | + | |
570 | + Відповісти на вимогу ${username} ${tender_uaid} ${complaintID} ${answer_data} null | |
571 | + | |
572 | +Відповісти на вимогу про виправлення визначення переможця | |
573 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${answer_data} ${award_index} | |
574 | + [Documentation] Відповісти на вимогу complaintID про виправлення визначення переможця | |
575 | + ... під номером award_index для тендера tender_uaid, використовуючи при цьому дані answer_data. | |
576 | + | |
577 | + Відповісти на вимогу ${username} ${tender_uaid} ${complaintID} ${answer_data} ${award_index} | |
578 | + | |
579 | + | |
424 | 580 | ######################################################################################################################## |
425 | 581 | ################################################### END CLAIM KEYWORDS ############################################# |
426 | 582 | ######################################################################################################################## |
... | ... | @@ -429,7 +585,7 @@ Resource playtender_tende |
429 | 585 | ################################################### BID KEYWORDS ############################################# |
430 | 586 | ######################################################################################################################## |
431 | 587 | Подати цінову пропозицію |
432 | - [Arguments] ${username} ${tender_uaid} ${bid} ${lots_ids} ${features_ids} | |
588 | + [Arguments] ${username} ${tender_uaid} ${bid} ${lots_ids}=${None} ${features_ids}=${None} | |
433 | 589 | [Documentation] Подати цінову пропозицію bid для тендера tender_uaid |
434 | 590 | ... на лоти lots_ids (якщо lots_ids != None) з неціновими |
435 | 591 | ... показниками features_ids (якщо features_ids != None). |
... | ... | @@ -444,16 +600,108 @@ Resource playtender_tende |
444 | 600 | [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача |
445 | 601 | ... username для тендера tender_uaid. |
446 | 602 | |
447 | - open tender form by uaid ${tender_uaid} | |
603 | + open tender page by uaid ${tender_uaid} | |
448 | 604 | fill bid form edit ${fieldname} ${fieldvalue} |
449 | - submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator} | |
605 | + capture page screenshot | |
606 | + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | |
607 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | |
608 | + | |
609 | +Скасувати цінову пропозицію | |
610 | + [Arguments] ${username} ${tender_uaid} | |
611 | + [Documentation] Змінити статус цінової пропозиції для тендера tender_uaid | |
612 | + ... користувача username на cancelled. | |
613 | + | |
614 | + open tender page by uaid ${tender_uaid} | |
615 | + fill bid form remove | |
616 | + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | |
617 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | |
618 | + | |
619 | +Завантажити документ в ставку | |
620 | + [Arguments] ${username} ${path} ${tender_uaid} ${doc_type}=documents ${doc_name}=${None} | |
621 | + [Documentation] Завантажити документ типу doc_type, який знаходиться за шляхом path, | |
622 | + ... до цінової пропозиції користувача username для тендера tender_uaid. | |
623 | + | |
624 | + open tender page by uaid ${tender_uaid} | |
625 | + add document to bid ${path} ${doc_type} ${doc_name} | |
626 | + capture page screenshot | |
627 | + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | |
628 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | |
629 | + | |
630 | +Змінити документ в ставці | |
631 | + [Arguments] ${username} ${tender_uaid} ${path} ${doc_id} | |
632 | + [Documentation] Змінити документ з doc_id в описі в пропозиції користувача username для | |
633 | + ... тендера tender_uaid на документ, який знаходиться по шляху path. | |
634 | + | |
635 | + open tender page by uaid ${tender_uaid} | |
636 | + document to bid edit ${path} ${doc_id} | |
637 | + capture page screenshot | |
638 | + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | |
450 | 639 | wait until page does not contain element with reloading ${tender_sync_element_locator} |
451 | 640 | |
641 | +Змінити документацію в ставці | |
642 | + [Arguments] ${username} ${tender_uaid} ${doc_data} ${doc_id} | |
643 | + [Documentation] Змінити тип документа з doc_id в заголовку в пропозиції користувача | |
644 | + ... username для тендера tender_uaid. Дані про новий тип документа знаходяться в doc_data. | |
645 | + | |
646 | + open tender page by uaid ${tender_uaid} | |
647 | + fill bid form edit document ${doc_data} ${doc_id} | |
648 | + capture page screenshot | |
649 | + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | |
650 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | |
651 | + | |
652 | +Отримати інформацію із пропозиції | |
653 | + [Arguments] ${username} ${tender_uaid} ${field} | |
654 | + [Documentation] Отримати значення поля field пропозиції користувача | |
655 | + ... username для тендера tender_uaid. | |
656 | + | |
657 | + open tender page by uaid ${tender_uaid} | |
658 | + ${value} = get bid information ${field} | |
659 | + [Return] ${value} | |
660 | + | |
661 | + | |
452 | 662 | ######################################################################################################################## |
453 | 663 | ################################################### END BID KEYWORDS ############################################# |
454 | 664 | ######################################################################################################################## |
455 | 665 | ################################################### QUALIFICATION KEYWORDS ############################################# |
456 | 666 | ######################################################################################################################## |
667 | +Завантажити документ рішення кваліфікаційної комісії | |
668 | + [Arguments] ${username} ${document} ${tender_uaid} ${award_num} | |
669 | + [Documentation] Завантажити документ, який знаходиться по шляху document до | |
670 | + ... постачальника під номером award_num для тендера tender_uaid. | |
671 | + | |
672 | + open tender page by uaid ${tender_uaid} | |
673 | +# open tender form qualification ${award_num} | |
674 | +# wait until popup is visible | |
675 | + copy file qualification ${username} ${document} ${award_num} | |
676 | + | |
677 | +Підтвердити постачальника | |
678 | + [Arguments] ${username} ${tender_uaid} ${award_num} | |
679 | + [Documentation] Перевести постачальника під номером award_num для тендера tender_uaid | |
680 | + ... в статус active. | |
681 | + | |
682 | + open tender page by uaid ${tender_uaid} | |
683 | + open tender form qualification ${award_num} | |
684 | + confirm award qualification ${username} ${award_num} | |
685 | + | |
686 | +Дискваліфікувати постачальника | |
687 | + [Arguments] ${username} ${tender_uaid} ${award_num} | |
688 | + [Documentation] Перевести постачальника під номером award_num для тендера tender_uaid | |
689 | + ... в статус unsuccessful. | |
690 | + | |
691 | + open tender page by uaid ${tender_uaid} | |
692 | + open tender form qualification ${award_num} | |
693 | + reject award qualification ${username} ${award_num} | |
694 | + | |
695 | +Скасування рішення кваліфікаційної комісії | |
696 | + [Arguments] ${username} ${tender_uaid} ${award_num} | |
697 | + [Documentation] Перевести постачальника під номером award_num для тендера tender_uaid | |
698 | + ... в статус cancelled. | |
699 | + | |
700 | + open tender page by uaid ${tender_uaid} | |
701 | + open tender form qualification ${award_num} | |
702 | +# wait until popup is visible | |
703 | + cancel award qualification | |
704 | + | |
457 | 705 | ######################################################################################################################## |
458 | 706 | ################################################### END QUALIFICATION KEYWORDS ######################################## |
459 | 707 | ######################################################################################################################## |
... | ... | @@ -461,6 +709,15 @@ Resource playtender_tende |
461 | 709 | ######################################################################################################################## |
462 | 710 | ################################################### LIMITED PROCUREMENT KEYWORDS ###################################### |
463 | 711 | ######################################################################################################################## |
712 | +Створити постачальника, додати документацію і підтвердити його | |
713 | + [Arguments] ${username} ${tender_uaid} ${supplier_data} ${document} | |
714 | + [Documentation] Додати постачальника supplier_data для тендера tender_uaid, додати до | |
715 | + ... нього документ, який знаходиться по шляху document та перевести в статус active. | |
716 | + | |
717 | + open tender form by uaid ${tender_uaid} | |
718 | + fill tender from award reporting ${supplier_data.data.value.amount} ${supplier_data.data.suppliers[0]} | |
719 | + run keyword and ignore error save tender form and wait synchronization | |
720 | + confirm award | |
464 | 721 | ######################################################################################################################## |
465 | 722 | ################################################### END LIMITED PROCUREMENT KEYWORDS ################################## |
466 | 723 | ######################################################################################################################## |
... | ... | @@ -468,7 +725,289 @@ Resource playtender_tende |
468 | 725 | ######################################################################################################################## |
469 | 726 | ################################################### OPEN PROCUREMENT KEYWORDS #################################### |
470 | 727 | ######################################################################################################################## |
728 | +Підтвердити кваліфікацію | |
729 | + [Arguments] ${username} ${tender_uaid} ${qualification_num} | |
730 | + [Documentation] Перевести кваліфікацію під номером qualification_num до тендера | |
731 | + ... tender_uaid в статус active. | |
732 | + | |
733 | + open tender page by uaid ${tender_uaid} | |
734 | + open tender form prequalification ${qualification_num} | |
735 | +# wait until popup is visible | |
736 | + confirm qualifications | |
737 | +# submit current visible popup | |
738 | + | |
739 | +Відхилити кваліфікацію | |
740 | + [Arguments] ${username} ${tender_uaid} ${qualification_num} | |
741 | + [Documentation] Перевести кваліфікацію під номером qualification_num до тендера | |
742 | + ... tender_uaid в статус unsuccessful. | |
743 | + | |
744 | + open tender page by uaid ${tender_uaid} | |
745 | + open tender form prequalification ${qualification_num} | |
746 | +# wait until popup is visible | |
747 | + reject qualifications | |
748 | +# submit current visible popup | |
749 | + | |
750 | + | |
751 | +Завантажити документ у кваліфікацію | |
752 | + [Arguments] ${username} ${document} ${tender_uaid} ${qualification_num} | |
753 | + [Documentation] Завантажити документ, який знаходиться по шляху document, до | |
754 | + ... кваліфікації під номером qualification_num до тендера tender_uaid. | |
755 | + | |
756 | + open tender page by uaid ${tender_uaid} | |
757 | + | |
758 | +Скасувати кваліфікацію | |
759 | + [Arguments] ${username} ${tender_uaid} ${qualification_num} | |
760 | + [Documentation] Перевести кваліфікацію під номером qualification_num до тендера | |
761 | + ... tender_uaid в статус cancelled. | |
762 | + | |
763 | + open tender page by uaid ${tender_uaid} | |
764 | + open tender form prequalification ${qualification_num} | |
765 | +# wait until popup is visible | |
766 | + cancel qualifications | |
767 | + | |
768 | +Затвердити остаточне рішення кваліфікації | |
769 | + [Arguments] ${username} ${tender_uaid} | |
770 | + [Documentation] Перевести тендер tender_uaid в статус active.pre-qualification.stand-still. | |
771 | + | |
772 | + open tender page by uaid ${tender_uaid} | |
773 | + wait until element is visible ${prequalification_form_approve_open_btn_locator} 30 | |
774 | + click visible element ${prequalification_form_approve_open_btn_locator} | |
775 | + approve the final qualification decision | |
776 | + | |
777 | +Перевести тендер на статус очікування обробки мостом | |
778 | + [Arguments] ${username} ${tender_uaid} | |
779 | + [Documentation] Перевести тендер tender_uaid в статус active.stage2.waiting. | |
780 | + | |
781 | + open tender page by uaid ${tender_uaid} | |
782 | + confirm-stage2 | |
783 | + | |
784 | +Отримати доступ до тендера другого етапу | |
785 | + [Arguments] ${username} ${tender_uaid} | |
786 | + [Documentation] Отримати тендер другого етапу по tender id, зберегти його. | |
787 | + | |
788 | + open tender page by uaid ${tender_uaid} | |
789 | + Log to Console ${tender_uaid} | |
790 | + | |
791 | +Активувати другий етап | |
792 | + [Arguments] ${username} ${tender_uaid} | |
793 | + [Documentation] Перевести тендер tender_uaid в статус active.tendering. | |
794 | + | |
795 | + open tender form by uaid ${tender_uaid} | |
796 | + activate stage 2 | |
797 | +# fill tender form ${tender_data} | |
798 | + save tender form and wait synchronization | |
799 | + | |
800 | +Отримати тендер другого етапу та зберегти його | |
801 | + [Arguments] ${username} ${tender_uaid} | |
802 | + [Documentation] Отримати тендер другого етапу по tender id, зберегти його. | |
803 | + | |
804 | + open tender page by uaid ${tender_uaid} | |
805 | + Log to Console ${tender_uaid} | |
806 | + | |
471 | 807 | ######################################################################################################################## |
472 | 808 | ################################################### END OPEN PROCUREMENT KEYWORDS ############################### |
473 | 809 | ######################################################################################################################## |
474 | 810 | |
811 | +######################################################################################################################## | |
812 | +################################################### DOCUMENT KEYWORDS #################################### | |
813 | +######################################################################################################################## | |
814 | +Отримати інформацію із документа | |
815 | + [Arguments] ${username} ${tender_uaid} ${doc_id} ${field} | |
816 | + [Documentation] Отримати значення поля field документа doc_id з тендера | |
817 | + ... tender_uaid для перевірки правильності відображення цього поля. | |
818 | + | |
819 | + open tender page by uaid ${tender_uaid} | |
820 | + ${return_value} = Run Keyword If 'title' == '${field}' Отримати інформацію із документа title ${doc_id} | |
821 | + [return] ${return_value} | |
822 | + | |
823 | +Отримати документ | |
824 | + [Arguments] ${username} ${tender_uaid} ${doc_id} | |
825 | + [Documentation] Завантажити файл з doc_id в заголовку для тендера tender_uaid в | |
826 | + ... директорію ${OUTPUT_DIR} для перевірки вмісту цього файлу. | |
827 | + | |
828 | + open tender page by uaid ${tender_uaid} | |
829 | + ${tender_new_doc_locator} = replace string ${tender_new_doc_locator_tpl} %doc_id% ${doc_id} | |
830 | + wait until page contains element with reloading ${tender_new_doc_locator} | |
831 | + | |
832 | + ${file_link} = Execute Javascript return $('.docs__list .docs__item.js-item:first a.doc__link[href*="https://public-docs-sandbox.prozorro.gov.ua"]').val('.docs__list .docs__item.js-item:first a.doc__link[href*="https://public-docs-sandbox.prozorro.gov.ua"]').attr("href") | |
833 | + ${file_name} = get text ${tender_new_doc_locator} | |
834 | + download_file ${file_link} ${file_name} ${OUTPUT_DIR} | |
835 | + [return] ${file_name} | |
836 | + | |
837 | + | |
838 | +Отримати документ до лоту | |
839 | + [Arguments] ${username} ${tender_uaid} ${lot_id} ${doc_id} | |
840 | + [Documentation] Завантажити файл з doc_id в заголовку для тендера tender_uaid для лоту lot_id | |
841 | + ... в директорію ${OUTPUT_DIR} для перевірки вмісту цього файлу. | |
842 | + | |
843 | + open tender page by uaid ${tender_uaid} | |
844 | + ${tender_new_doc_locator} = replace string ${tender_new_doc_locator_tpl} %doc_id% ${doc_id} | |
845 | + wait until page contains element with reloading ${tender_new_doc_locator} | |
846 | + ${file_link} = Execute Javascript return $('.docs__list .docs__item.js-item:last a.doc__link[href*="https://public-docs-sandbox.prozorro.gov.ua"]').val('.docs__list .docs__item.js-item:first a.doc__link[href*="https://public-docs-sandbox.prozorro.gov.ua"]').attr("href") | |
847 | + ${file_name} = get text ${tender_new_doc_locator} | |
848 | + download_file ${file_link} ${file_name} ${OUTPUT_DIR} | |
849 | + [return] ${file_name} | |
850 | + | |
851 | +Отримати посилання на аукціон для глядача | |
852 | + [Arguments] ${username} ${tender_uaid} ${lot_id}=Empty | |
853 | + [Documentation] Отримати посилання на аукціон для тендера tender_uaid (або для лоту з | |
854 | + ... lot_id в описі для тендера tender_uaid, якщо lot_id != Empty). | |
855 | + | |
856 | + open tender page by uaid ${tender_uaid} | |
857 | + log many ${mode} | |
858 | + run keyword if "${mode}" not in "belowThreshold" wait until page contains element with reloading ${tender_auction_locator} 10 | |
859 | + run keyword if "${mode}" in "belowThreshold" wait until page contains element with reloading ${tender_auction_belowThreshold_input_locator} | |
860 | + ${return_value} = run keyword if "${mode}" not in "belowThreshold below_funders" Execute Javascript return $('#auction-info a[href*="https://auction-sandbox"]').attr("href") | |
861 | +# ${return_value} = run keyword if "${mode}" in "belowThreshold" Execute Javascript return $('#aside-part-pjax a[href*="https://auction-sandbox"]').attr("href") | |
862 | + ... ELSE IF '${mode}' in 'belowThreshold below_funders' Execute Javascript return $('#aside-part-pjax a[href*="https://auction-sandbox"]').attr("href") | |
863 | + [return] ${return_value} | |
864 | + | |
865 | +Отримати посилання на аукціон для учасника | |
866 | + [Arguments] ${username} ${tender_uaid} ${lot_id}=Empty | |
867 | + [Documentation] Отримати посилання на участь в аукціоні для користувача username для тендера | |
868 | + ... tender_uaid (або для лоту з lot_id в описі для тендера tender_uaid, якщо lot_id != Empty). | |
869 | + | |
870 | + open tender page by uaid ${tender_uaid} | |
871 | + log many ${mode} | |
872 | + run keyword if "${mode}" not in "belowThreshold" wait until page contains element with reloading ${tender_auction_locator} 10 | |
873 | + run keyword if "${mode}" in "belowThreshold" wait until page contains element with reloading ${tender_auction_belowThreshold_input_locator} | |
874 | + ${return_value} = run keyword if "${mode}" not in "belowThreshold" Execute Javascript return $('#auction-info a[href*="https://auction-sandbox"]').attr("href") | |
875 | +# ${return_value} = run keyword if "${mode}" in "belowThreshold" Execute Javascript return $('#aside-part-pjax a[href*="https://auction-sandbox"]').attr("href") | |
876 | + ... ELSE IF '${mode}' in 'belowThreshold' Execute Javascript return $('#aside-part-pjax a[href*="https://auction-sandbox"]').attr("href") | |
877 | + [return] ${return_value} | |
878 | +######################################################################################################################## | |
879 | +################################################### END DOCUMENT KEYWORDS ############################### | |
880 | +######################################################################################################################## | |
881 | + | |
882 | +######################################################################################################################## | |
883 | +################################################### FUNDERS KEYWORDS ############################### | |
884 | +######################################################################################################################## | |
885 | + | |
886 | +Видалити донора | |
887 | + [Arguments] ${username} ${tender_uaid} ${funders_index} | |
888 | + [Documentation] Видалити донора для користувача username для тендера ${tender_uaid} з індексом ${funders_index} | |
889 | + | |
890 | + open tender form by uaid ${tender_uaid} | |
891 | + open popup by btn locator ${plan_form_general_panel_edit_btn_locator} | |
892 | + click visible element ${tender_form_general_tender_funder_locator} | |
893 | + submit current visible popup | |
894 | + save tender form and wait synchronization | |
895 | + | |
896 | +Додати донора | |
897 | + [Arguments] ${username} ${tender_uaid} ${funders_data} | |
898 | + [Documentation] Додати донора для користувача username для тендера ${tender_uaid} з даними ${funders_data} | |
899 | + | |
900 | + open tender form by uaid ${tender_uaid} | |
901 | + open popup by btn locator ${plan_form_general_panel_edit_btn_locator} | |
902 | + click visible element ${tender_form_general_tender_funder_locator} | |
903 | + ${funders} = create list ${funders_data} | |
904 | + fill tender form funders ${funders} | |
905 | + submit current visible popup | |
906 | + save tender form and wait synchronization | |
907 | + | |
908 | +######################################################################################################################## | |
909 | +################################################### END FUNDERS KEYWORDS #################################### | |
910 | +######################################################################################################################## | |
911 | +######################################################################################################################## | |
912 | +################################################### CONTRACTS KEYWORDS ############################### | |
913 | +######################################################################################################################## | |
914 | + | |
915 | +Редагувати угоду | |
916 | + [Arguments] ${username} ${tender_uaid} ${contract_index} ${field_name} ${amount} | |
917 | + [Documentation] Редагувати контракт для користувача username для тендера ${tender_uaid} з індексом ${contract_index} | |
918 | + ... для поля field_name та значення amount. | |
919 | + | |
920 | + open tender page by uaid ${tender_uaid} | |
921 | + edit contract ${contract_index} ${field_name} ${amount} | |
922 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | |
923 | + | |
924 | +Встановити дату підписання угоди | |
925 | + [Arguments] ${username} ${tender_uaid} ${contract_index} ${dateSigned} | |
926 | + [Documentation] Редагувати контракт для користувача username для тендера ${tender_uaid} з індексом ${contract_index} | |
927 | + ... для поля Дата підписання задати значення dateSigned. | |
928 | + | |
929 | + open tender page by uaid ${tender_uaid} | |
930 | +# edit contract ${contract_index} ${dateSigned} ${dateSigned} | |
931 | + click visible element ${contract_form_0_open_btn_locator} | |
932 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 5 | |
933 | + wait until element is visible ${contract_contractform_contract_number_input_locator} 60 | |
934 | + input datetime to exist visible input ${contract_contractform_date_signed_input_locator} ${dateSigned} | |
935 | + | |
936 | + run keyword and ignore error submit form and check result ${contract_contractform_submit_btn_locator} ${contract_contractform_submit_success_msg} ${contract_active_form_open_btn_locator} | |
937 | + capture page screenshot | |
938 | + | |
939 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | |
940 | + | |
941 | +Вказати період дії угоди | |
942 | + [Arguments] ${username} ${tender_uaid} ${contract_index} ${startDate} ${endDate} | |
943 | + [Documentation] Редагувати контракт для користувача username для тендера ${tender_uaid} з індексом ${contract_index} | |
944 | + ... для поля Дата підписання задати значення dateSigned. | |
945 | + | |
946 | + open tender page by uaid ${tender_uaid} | |
947 | +# edit contract ${contract_index} ${dateSigned} ${dateSigned} | |
948 | + click visible element ${contract_form_0_open_btn_locator} | |
949 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 5 | |
950 | + wait until element is visible ${contract_contractform_contract_number_input_locator} 60 | |
951 | + input datetime to exist visible input ${contract_contractform_date_start_input_locator} ${startDate} | |
952 | + input datetime to exist visible input ${contract_contractform_date_end_input_locator} ${endDate} | |
953 | + | |
954 | + run keyword and ignore error submit form and check result ${contract_contractform_submit_btn_locator} ${contract_contractform_submit_success_msg} ${contract_active_form_open_btn_locator} | |
955 | + capture page screenshot | |
956 | + | |
957 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | |
958 | + | |
959 | +Завантажити документ в угоду | |
960 | + [Arguments] ${username} ${document} ${tender_uaid} ${contract_index} | |
961 | + [Documentation] Редагувати контракт для користувача username для тендера ${tender_uaid} з індексом ${contract_index} | |
962 | + ... для поля Дата підписання задати значення dateSigned. | |
963 | + | |
964 | + open tender page by uaid ${tender_uaid} | |
965 | +# edit contract ${contract_index} ${dateSigned} ${dateSigned} | |
966 | + click visible element ${contract_form_0_open_btn_locator} | |
967 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 5 | |
968 | + wait until element is visible ${contract_contractform_contract_number_input_locator} 60 | |
969 | + choose file ${add_file_to_contract_contractform_locator} ${document} | |
970 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} 60 | |
971 | + wait until element is visible ${contract_contractform_add_document_type_input_locator} 60 | |
972 | + capture page screenshot | |
973 | + Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content select[id*="-document_type"]:last').val('contractSigned').change() | |
974 | + capture page screenshot | |
975 | + click visible element ${contract_contractform_add_document_description_btn_locator} | |
976 | + capture page screenshot | |
977 | + wait until element is visible ${contract_contractform_add_document_description_input_locator} | |
978 | + input text to exist visible input ${contract_contractform_add_document_description_input_locator} test2 | |
979 | + capture page screenshot | |
980 | + click visible element ${contract_contractform_add_document_close_description_btn_locator} | |
981 | + capture page screenshot | |
982 | + | |
983 | + run keyword and ignore error submit form and check result ${contract_contractform_submit_btn_locator} ${contract_contractform_submit_success_msg} ${contract_active_form_open_btn_locator} | |
984 | + capture page screenshot | |
985 | + | |
986 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | |
987 | + | |
988 | +Підтвердити підписання контракту | |
989 | + [Arguments] ${username} ${tender_uaid} ${contract_index} | |
990 | + [Documentation] Редагувати контракт для користувача username для тендера ${tender_uaid} з індексом ${contract_index} | |
991 | + ... для поля Дата підписання задати значення dateSigned. | |
992 | + | |
993 | + open tender page by uaid ${tender_uaid} | |
994 | +# edit contract ${contract_index} ${dateSigned} ${dateSigned} | |
995 | + click visible element ${contract_active_form_open_btn_locator} | |
996 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 5 | |
997 | + wait until element is visible ${contract_contractform_submit_btn_locator} 60 | |
998 | + | |
999 | + Execute Javascript $('.fancybox-is-open .fancybox-content button.btn.btn-success').click() | |
1000 | + Run Keyword And Ignore Error wait until element is visible ${qualification_ecp_form_open_locator} 60 | |
1001 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
1002 | + capture page screenshot | |
1003 | + run keyword and ignore error Load Sign | |
1004 | + capture page screenshot | |
1005 | + | |
1006 | + run keyword and ignore error submit form and check result ${contract_contractform_submit_btn_locator} ${contract_contractform_active_submit_success_msg} ${contract_active_form_open_btn_locator} | |
1007 | + capture page screenshot | |
1008 | + | |
1009 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | |
1010 | + | |
1011 | +######################################################################################################################## | |
1012 | +################################################### END CONTRACTS KEYWORDS #################################### | |
1013 | +######################################################################################################################## | ... | ... |
... | ... | @@ -11,89 +11,221 @@ fill bid form |
11 | 11 | [Arguments] ${tender_uaid} ${bid} ${lots_ids} ${features_ids} |
12 | 12 | [Documentation] Подати цінову пропозицію bid для тендера tender_uaid на лоти lots_ids (якщо lots_ids != None) з неціновими показниками features_ids (якщо features_ids != None). |
13 | 13 | |
14 | - click visible element ${bid_form_open_btn_locator} | |
14 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
15 | + ${value} = get from dictionary by keys ${bid.data} value amount | |
16 | +# ${amount} = run keyword if condition is not none ${value} convert_float_to_string ${bid.data.value.amount} | |
17 | + run keyword if condition is not none ${value} input number to exist visible input ${bid_form_value_amount_input_locator} ${value} | |
15 | 18 | capture page screenshot |
16 | - wait until popup is visible | |
17 | - ${value} = get from dictionary by keys ${bid} value amount | |
18 | - ${amount} = run keyword if condition is not none ${value} convert_float_to_string ${bid.data.value.amount} | |
19 | - run keyword if condition is not none ${value} input number to exist visible input ${bid_form_value_amount_input_locator} ${amount} | |
20 | - ${value_yearly_payments_percentage} = get from dictionary by keys ${bid} value yearlyPaymentsPercentage | |
21 | - ${yearly_payments_percentage} = run keyword if condition is not none ${value_yearly_payments_percentage} convert_float_to_string ${bid.data.value.yearlyPaymentsPercentage} | |
22 | - run keyword if condition is not none ${value} input number5 to exist visible input ${bid_form_value_yearly_payments_percentage_input_locator} ${yearly_payments_percentage} | |
23 | - ${contract_duration_years} = get from dictionary by keys ${bid} value contractDuration years | |
24 | - run keyword if condition is not none ${contract_duration_years} input text to exist visible input ${bid_form_value_contract_duration_years_input_locator} ${bid.data.value.contractDuration.years} | |
25 | - ${contract_duration_days} = get from dictionary by keys ${bid} value contractDuration days | |
26 | - run keyword if condition is not none ${contract_duration_days} input text to exist visible input ${bid_form_value_contract_duration_days_input_locator} ${bid.data.value.contractDuration.days} | |
27 | - ${annual_costs_reduction} = get from dictionary by keys ${bid} value annualCostsReduction | |
28 | - run keyword if condition is not none ${annual_costs_reduction} Подати цінову пропозицію Esco AnnualCostsReduction ${value.annualCostsReduction} | |
29 | 19 | # ${lots} = get from dictionary by keys ${data} lots |
30 | - run keyword if condition is not none ${lots_ids} fill bid form lots ${bid} | |
20 | + run keyword if condition is not none ${lots_ids} fill bid form lots ${bid} ${lots_ids} ${features_ids} | |
21 | + capture page screenshot | |
31 | 22 | # run keyword if condition is none ${lots_ids} fill bid form whithout lots ${bid} |
32 | 23 | # ${features} = get from dictionary by keys ${data} features |
33 | 24 | # run keyword if condition is not none ${features_ids} fill bid form features ${bid} ${tender_form_general_panel_add_feature_btn_locator} |
34 | 25 | fill bid required documents_all |
35 | - submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator} | |
26 | + capture page screenshot | |
27 | +## submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator} | |
36 | 28 | |
37 | 29 | fill bid form lots |
38 | - [Arguments] ${bid} ${lots_ids} ${features_ids} | |
30 | + [Arguments] ${bid} ${lots_ids}=${None} ${features_ids}=${None} | |
39 | 31 | [Documentation] Заповнити лотову цінову пропозицію bid для тендера tender_uaid на лоти lots_ids з неціновими показниками features_ids (якщо features_ids != None). |
40 | 32 | |
41 | - ${lots} = get from dictionary by keys ${bid} lotValues | |
33 | + ${lots} = get from dictionary by keys ${bid.data} lotValues | |
42 | 34 | ${lots_length} = Get Length ${lots} |
43 | 35 | : FOR ${INDEX} IN RANGE 0 ${lots_length} |
44 | - \ ${amount} = convert_float_to_string ${bid.data.value.amount} | |
45 | - \ run keyword and ignore error input number to exist visible input ${bid_form_value_amount_input_locator} ${amount} | |
46 | - \ ${self_qualified} = get from dictionary by keys ${bid} selfQualified | |
47 | - \ run keyword and ignore error ${self_qualified} click visible element ${bid_form_value_self_qualified_input_locator} | |
48 | - \ ${self_eligible} = get from dictionary by keys ${bid} selfEligible | |
36 | + \ Run Keyword And Ignore Error run keyword if condition is not none ${lots} input number to exist visible input ${bid_form_value_amount_input_locator} ${lots[${INDEX}].value.amount} | |
37 | + \ capture page screenshot | |
38 | + \ ${self_qualified} = get from dictionary by keys ${bid.data} selfQualified | |
39 | + \ run keyword if condition is not none ${self_qualified} click visible element ${bid_form_value_self_qualified_input_locator} | |
40 | + \ capture page screenshot | |
41 | + \ ${self_eligible} = get from dictionary by keys ${bid.data} selfEligible | |
49 | 42 | \ run keyword if condition is not none ${self_eligible} click visible element ${bid_form_value_self_eligible_input_locator} |
50 | - \ run keyword if condition is not none ${features_ids} fill bid form features ${bid.data.parameters} | |
43 | + \ capture page screenshot | |
44 | + \ ${feature_id} = get from dictionary by keys ${bid.data} parameters | |
45 | + \ run keyword if condition is not none ${feature_id} fill bid form features ${feature_id} | |
46 | + \ capture page screenshot | |
47 | + \ run keyword if '${mode}' in 'open_esco' fill bid form lots Esco ${bid.data.lotValues} | |
51 | 48 | |
52 | 49 | fill bid form features |
53 | 50 | [Arguments] ${bid_parameters} |
54 | 51 | [Documentation] Заповнити нецінові показники цінової пропозиції. |
55 | 52 | |
53 | + log many ${bid_parameters} | |
56 | 54 | ${features_length} = Get Length ${bid_parameters} |
57 | 55 | : FOR ${INDEX} IN RANGE 0 ${features_length} |
58 | - \ ${bid_form_feature_input_locator} replace string ${bid_form_feature_input_locator_tpl} %title% ${features[${INDEX}]['code']} | |
56 | + \ ${bid_form_feature_input_locator} replace string ${bid_form_feature_input_locator_tpl} %title% ${bid_parameters[${INDEX}]['code']} | |
57 | + \ ${value_enum} = convert float to string ${bid_parameters[${INDEX}]['value']} | |
58 | + \ ${bid_form_feature_value_input_locator} set variable ${bid_form_feature_input_locator} ${bid_form_feature_value_input_locator_tpl} | |
59 | + \ ${bid_form_feature_value_input_locator} replace string ${bid_form_feature_value_input_locator} _ ' ' | |
60 | + #\ ${bid_form_feature_value_input_locator} replace string ${bid_form_feature_value_input_locator} %value% ${bid_parameters[${INDEX}]['value']} | |
61 | + \ ${bid_form_feature_value_input_locator} replace string ${bid_form_feature_value_input_locator} %value% ${value_enum} | |
59 | 62 | \ Run Keyword And Ignore Error click visible element ${bid_form_feature_input_locator} |
60 | - \ Run Keyword And Ignore Error Select From List By Label ${bid_form_feature_input_locator} ${features[${INDEX}]['value']} | |
61 | - | |
62 | -Подати цінову пропозицію Esco AnnualCostsReduction | |
63 | + \ capture page screenshot | |
64 | + \ Run Keyword And Ignore Error click visible element ${bid_form_feature_value_input_locator} | |
65 | + \ capture page screenshot | |
66 | + \ Run Keyword And Ignore Error click visible element jquery=select.select2-hidden-accessible:nth(${INDEX}) [data-weight-source="0"] | |
67 | + #\ Run Keyword And Ignore Error click visible element ${select.select2-hidden-accessible:nth(${INDEX}) [data-weight-source="0"]} | |
68 | + \ capture page screenshot | |
69 | + | |
70 | +fill bid form lots Esco | |
71 | + [Arguments] ${values} | |
72 | + [Documentation] Заповнити цінову пропозицію Esco | |
73 | + | |
74 | + log many ${values} | |
75 | + ${values_length} = Get Length ${values} | |
76 | + : FOR ${INDEX} IN RANGE 0 ${values_length} | |
77 | + \ input number to exist visible input ${bid_form_value_yearly_payments_percentage_input_locator} ${values[${INDEX}].value.yearlyPaymentsPercentage} | |
78 | + \ capture page screenshot | |
79 | + \ input text to exist visible input ${bid_form_value_contract_duration_years_input_locator} ${values[${INDEX}].value.contractDuration.years} | |
80 | + \ capture page screenshot | |
81 | + \ input text to exist visible input ${bid_form_value_contract_duration_days_input_locator} ${values[${INDEX}].value.contractDuration.days} | |
82 | + \ capture page screenshot | |
83 | + \ fill bid form lots Esco AnnualCostsReduction ${values[${INDEX}].value.annualCostsReduction} | |
84 | + \ capture page screenshot | |
85 | + | |
86 | +fill bid form lots Esco AnnualCostsReduction | |
63 | 87 | [Arguments] ${values} |
64 | 88 | [Documentation] Заповнити цінову пропозицію Esco (параметр AnnualCostsReduction). |
65 | 89 | |
66 | - ${input_index } = set variable 1 | |
90 | + ${input_index} = set variable 1 | |
67 | 91 | : FOR ${value} IN @{values} |
68 | - \ ${bid_form_value_annual_costs_reduction_input_locator} replace string ${bid_form_value_annual_costs_reduction_input_locator_tpl} %index% ${input_index} | |
69 | - \ input float ${bid_form_value_annual_costs_reduction_input_locator} ${value} | |
92 | + \ ${input_index_tmp}= convert to string ${input_index} | |
93 | + \ ${bid_form_value_annual_costs_reduction_input_locator} replace string ${bid_form_value_annual_costs_reduction_input_locator_tpl} %index% ${input_index_tmp} | |
94 | + \ input number to exist visible input ${bid_form_value_annual_costs_reduction_input_locator} ${value} | |
70 | 95 | \ ${input_index} = evaluate ${input_index} + 1 |
71 | 96 | |
72 | 97 | fill bid required documents_all |
73 | - [Arguments] ${values} | |
98 | + [Arguments] | |
74 | 99 | [Documentation] Додати фейковий документ до цінової пропозиції при створенні. |
75 | 100 | |
76 | 101 | ${file_path} ${file_name} ${file_content} = create_fake_doc |
77 | - click visible element ${bid_form_add_document_all_btn_locator} | |
78 | - choose file ${add_file_to_form_locator} ${file_path} | |
79 | - wait until element is visible ${bid_form_add_document_type_input_locator} ${waiting_timeout} ${waiting_error} | |
102 | +# click visible element and wait until page contains element ${open_form_add_doc_lot_btn_locator} jquery=.modal.modal-form.js-form-popup.fancybox-content | |
103 | + #click visible element ${bid_form_add_document_all_btn_locator} | |
104 | + capture page screenshot | |
105 | +### execute javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents .js-upload-documents input[type$="file"]:first').click() | |
106 | + capture page screenshot | |
107 | + choose file ${add_file_to_bid_form_locator} ${file_path} | |
108 | + capture page screenshot | |
109 | + wait until element is visible ${bid_form_add_document_type_input_locator} | |
80 | 110 | # submit current visible popup |
81 | 111 | Run Keyword And Ignore Error Select From List By Value ${bid_form_add_document_type_input_locator} qualificationDocuments |
82 | 112 | click visible element ${bid_form_add_document_description_btn_locator} |
83 | - wait until element is visible ${bid_form_add_document_description_input_locator} ${waiting_timeout} ${waiting_error} | |
113 | + capture page screenshot | |
114 | + wait until element is visible ${bid_form_add_document_description_input_locator} | |
84 | 115 | input text to exist visible input ${bid_form_add_document_description_input_locator} test2 |
85 | 116 | click visible element ${bid_form_add_document_close_description_btn_locator} |
117 | + capture page screenshot | |
86 | 118 | |
87 | 119 | fill bid form edit |
88 | - [Arguments] ${tender_uaid} ${fieldname} ${fieldvalue} | |
120 | + [Arguments] ${fieldname} ${fieldvalue} | |
89 | 121 | [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача username для тендера tender_uaid. |
90 | 122 | |
91 | - click visible element ${bid_form_open_btn_locator} | |
123 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
124 | + Run Keyword If '${fieldname}' == 'lotValues[0].value.amount' or '${fieldname}' == 'value.amount' and '${mode}' != 'open_esco' input number to exist visible input ${bid_form_value_amount_input_locator} ${fieldvalue} | |
125 | +# submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | |
126 | + | |
127 | + | |
128 | +add document to bid | |
129 | + [Arguments] ${path} ${doc_type} ${doc_name} | |
130 | + #=documents | |
131 | + [Documentation] Завантажити документ типу doc_type, який знаходиться за шляхом path, | |
132 | + ... до цінової пропозиції користувача username для тендера tender_uaid. | |
133 | + | |
134 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
135 | +### execute javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents .js-upload-documents input[type$="file"]:first').click() | |
136 | + choose file ${add_file_to_bid_form_locator} ${path} | |
137 | + run keyword and ignore error wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
138 | + wait until element is visible ${bid_form_add_document_type_input_locator} | |
139 | +# submit current visible popup | |
140 | + log many ${doc_type} | |
141 | +# run keyword if '${doc_type}' == 'documents' Select From List By Value ${bid_form_add_document_type_input_locator} qualificationDocuments | |
142 | +# ... else Select From List By Value ${bid_form_add_document_type_input_locator} ${doc_type} | |
143 | + Run Keyword And Ignore Error select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
144 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' and "${mode}" not in "openeu open_competitive_dialogue" select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
145 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' and "${mode}" in "openeu open_competitive_dialogue" select from visible list by value ${bid_form_add_document_type_input_locator} qualificationDocuments | |
146 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'financial_documents' select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
147 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'qualification_documents' select from visible list by value ${bid_form_add_document_type_input_locator} qualificationDocuments | |
148 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'eligibility_documents' select from visible list by value ${bid_form_add_document_type_input_locator} eligibilityDocuments | |
149 | + capture page screenshot | |
150 | + | |
151 | + Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('commercialProposal').change() | |
152 | + capture page screenshot | |
153 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' and "${mode}" not in "openeu open_competitive_dialogue" Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('commercialProposal').change() | |
154 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' and "${mode}" in "openeu open_competitive_dialogue" Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('qualificationDocuments').change() | |
155 | + capture page screenshot | |
156 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'financial_documents' Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('commercialProposal').change() | |
157 | + capture page screenshot | |
158 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'qualification_documents' Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('qualificationDocuments').change() | |
159 | + capture page screenshot | |
160 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'eligibility_documents' Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('eligibilityDocuments').change() | |
161 | +# Run Keyword And Ignore Error select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
162 | +# Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
163 | +# Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'financial_documents' select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
164 | +# Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'qualification_documents' select from visible list by value ${bid_form_add_document_type_input_locator} qualificationDocuments | |
165 | +# Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'eligibility_documents' select from visible list by value ${bid_form_add_document_type_input_locator} eligibilityDocuments | |
166 | + capture page screenshot | |
167 | + | |
168 | + click visible element ${bid_form_add_document_description_btn_locator} | |
169 | + wait until element is visible ${bid_form_add_document_description_input_locator} | |
170 | + input text to exist visible input ${bid_form_add_document_description_input_locator} test2 | |
171 | + click visible element ${bid_form_add_document_close_description_btn_locator} | |
172 | + | |
173 | +document to bid edit | |
174 | + [Arguments] ${path} ${doc_type}=documents | |
175 | + [Documentation] Змінити документ з doc_id в описі в пропозиції користувача username для | |
176 | + ... тендера tender_uaid на документ, який знаходиться по шляху path. | |
177 | + | |
178 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
179 | +# click visible element ${bid_form_edit_document_all_btn_locator} | |
180 | + capture page screenshot | |
181 | + choose file ${bid_form_edit_document_all_btn_locator} ${path} | |
182 | + capture page screenshot | |
183 | +# wait until element is visible ${bid_form_add_document_type_input_locator} | |
184 | + | |
185 | +fill bid form edit document | |
186 | + [Arguments] ${doc_data} ${doc_id} | |
187 | + [Documentation] Змінити тип документа з doc_id в заголовку в пропозиції користувача | |
188 | + ... username для тендера tender_uaid. Дані про новий тип документа знаходяться в doc_data. | |
189 | + | |
190 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
191 | + ##### BOF - TMP for confidentiality##### | |
192 | + execute javascript $('#tender-bid-form .documents-dynamic-forms-wrapper:last [href$="#edit"]:last').click() | |
193 | +# click visible element $('#tender-bid-form .documents-dynamic-forms-wrapper:last [href$="#edit"]:last').click() | |
194 | + set element scroll into view ${bid_form_add_document_close_description_btn_locator} | |
195 | + capture page screenshot | |
196 | + wait until element is visible ${bid_form_add_document_description_input_locator} 60 | |
197 | + execute javascript $('#tender-bid-form .documents-dynamic-forms-wrapper:last .popover.fade.top.in [id$="-confidentiality"]').click() | |
198 | +# click visible element ${bid_form_add_document_confidentiality_input_locator} | |
199 | + capture page screenshot | |
200 | + click visible element ${bid_form_add_document_close_description_btn_locator} | |
201 | + capture page screenshot | |
202 | + ##### EOF - TMP ##### | |
203 | + | |
204 | +get bid information | |
205 | + [Arguments] ${field} | |
206 | + [Documentation] Отримати значення поля field пропозиції користувача | |
207 | + ... username для тендера tender_uaid. | |
208 | + | |
209 | + capture page screenshot | |
210 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
211 | +# click visible element ${bid_form_open_btn_locator} | |
212 | + capture page screenshot | |
92 | 213 | wait until popup is visible |
93 | - Run Keyword If '${fieldname}' == 'lotValues[0].value.amount' and '${mode}' != 'esco' Run Keywords | |
94 | - ... ${amount} = convert_float_to_string ${fieldvalue} | |
95 | - ... input number to exist visible input ${bid_form_value_amount_input_locator} ${amount} | |
96 | - submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | |
214 | +# ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} | |
215 | +# wait until page contains element with reloading ${question_open_form_answer_locator} | |
216 | + capture page screenshot | |
217 | + #${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' get value by locator on opened page ${bid_lotValues_0_value_amount_value_locator} | |
218 | + ${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' get value by locator on opened page ${bid_lotValues_0_value_amount_value_locator} | |
219 | + ... ELSE Run Keyword If 'status' == '${field}' get_text ${question_answer_value_locator} | |
220 | + ... ELSE Run Keyword If 'value.amount' == '${field}' get value by locator on opened page ${bid_form_value_amount_input_locator} | |
221 | +# submit current visible popup | |
222 | + ${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' or 'value.amount' == '${field}' Convert To Number ${return_value} | |
223 | + [Return] ${return_value} | |
97 | 224 | |
225 | +fill bid form remove | |
226 | + [Documentation] Змінити статус цінової пропозиції для тендера tender_uaid | |
227 | + ... користувача username на cancelled. | |
98 | 228 | |
229 | + click visible element ${bid_form_remove_btn_locator} | |
230 | + submit form and check result ${alert_opened_close_bid_btn_locator} ${bid_form_submit_remove_success_msg} ${tender_created_checker_element_locator} | |
99 | 231 | ... | ... |
... | ... | @@ -2,9 +2,14 @@ |
2 | 2 | |
3 | 3 | #bids |
4 | 4 | ${bid_form_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/bid"] |
5 | +${bid_form_remove_btn_locator} = jquery=#aside-part-pjax a[href*="#bid-delete"] | |
5 | 6 | ${bid_form_submit_success_msg} = Пропозиція створена |
6 | 7 | ${bid_form_submit_edit_success_msg} = Пропозиція відредагована |
8 | +${bid_form_submit_remove_success_msg} = Ви впевнені що бажаєте видали свою пропозицію? | |
9 | +${alert_opened_close_bid_btn_locator} = jquery=.animated-content .js-btn-confirm | |
7 | 10 | ${bid_form_feature_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content select[id*="%title%-enum"] |
11 | +${bid_form_feature_value_input_locator_tpl} = option[data-weight-source*="%value%"] | |
12 | +#${bid_form_feature_value_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content select[id*="%title%-enum"] option[data-weight-source*="%value%"] | |
8 | 13 | ${bid_form_value_amount_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-value_amount"] |
9 | 14 | ${bid_form_value_subcontracting_details_input_locator} = jquery=.fancybox-is-open .fancybox-content textarea[id*="-subcontracting_details"] |
10 | 15 | ${bid_form_value_self_eligible_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-self_eligible"] |
... | ... | @@ -12,12 +17,20 @@ ${bid_form_value_self_qualified_input_locator} = jquery=.fanc |
12 | 17 | ${bid_form_value_yearly_payments_percentage_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-yearly_payments_percentage"] |
13 | 18 | ${bid_form_value_contract_duration_years_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_years"] |
14 | 19 | ${bid_form_value_contract_duration_days_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_days"] |
15 | -${bid_form_value_annual_costs_reduction_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content input[id*="-annual_costs_reduction_%index%"] | |
20 | +${bid_form_value_annual_costs_reduction_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content input[name*="[annual_costs_reduction_%index%]"] | |
16 | 21 | |
17 | -${bid_form_add_document_all_btn_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents input[type$="file"] | |
18 | -${bid_form_add_document_type_input_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"] | |
19 | -${bid_form_add_document_description_btn_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents [href$="#edit"] | |
20 | -${bid_form_add_document_description_input_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents .popover.fade.top.in textarea[id*="-description"].form-control | |
21 | -${bid_form_add_document_close_description_btn_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents .popover.fade.top.in [href$="#close"] | |
22 | +${add_file_to_bid_all_form_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .js-upload-documents | |
23 | +${add_file_to_bid_form_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .js-upload-documents input[type$="file"]:first | |
24 | +${bid_form_add_document_all_btn_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .js-upload-documents input[type$="file"]:first | |
25 | +${bid_form_add_document_type_input_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last select[id*="-document_type"]:last | |
26 | +${bid_form_add_document_description_btn_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last [href$="#edit"]:last | |
27 | +${bid_form_add_document_description_input_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .popover.fade.top.in textarea[id*="-description"].form-control | |
28 | +${bid_form_add_document_close_description_btn_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .popover.fade.top.in [href$="#close"] | |
29 | +${bid_form_add_document_confidentiality_input_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .popover.fade.top.in [id$="-confidentiality"] | |
22 | 30 | ${bid_form_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success |
31 | +${bid_form_edit_document_all_btn_locator} = jquery=.form-documents-group .tab-content .item-wrapper.js-item:last a[href*="#reupload"] | |
23 | 32 | |
33 | +${bid_lotValues_0_value_amount_value_locator} = jquery=.fancybox-slide .modal.fancybox-content #tender-bid-form .tab-content .active.js-lot-tab .js-amount-weight-wrapper .input-group .js-amount-input | |
34 | +${bid_lotValues_0_value_amount_value_locator_type} = float | |
35 | + | |
36 | +${bid_popup_locator} = jquery=.fancybox-slide .modal.fancybox-content | ... | ... |
... | ... | @@ -10,25 +10,296 @@ Resource playtender_claim |
10 | 10 | [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${claim} ${doc_name} |
11 | 11 | [Documentation] Створити вимогу з claim в описі для тендера tender_uaid. |
12 | 12 | |
13 | + open tender page by uaid ${tender_uaid} | |
14 | + click visible element ${claim_page_open_btn_locator} | |
15 | + capture page screenshot | |
16 | +# wait until page contains element with reloading ${claim_form_open_btn_locator} | |
17 | +# click visible element and wait until page contains element ${claim_page_open_btn_locator} ${claim_form_open_btn_locator} | |
18 | +## submit form and check result ${claim_form_open_btn_locator} ${None} ${popup_opened_content_locator} | |
19 | + wait until page contains element with reloading ${claim_form_open_btn_locator} | |
13 | 20 | click visible element ${claim_form_open_btn_locator} |
14 | - wait until popup is visible | |
21 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
22 | + wait until element is visible ${claim_form_complaintform_submit_btn_locator} 60 | |
23 | +## wait until element is visible ${popup_opened_content_locator} 60 | |
24 | + capture page screenshot | |
25 | +# wait until popup is visible | |
15 | 26 | input text to exist visible input ${claim_form_complaintform_title_input_locator} ${claim.data.title} |
27 | + capture page screenshot | |
16 | 28 | input text to exist visible input ${claim_form_complaintform_description_input_locator} ${claim.data.description} |
29 | + capture page screenshot | |
17 | 30 | Run Keyword And Ignore Error Run Keyword If '${type}' == 'tender' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Закупівля |
31 | + capture page screenshot | |
18 | 32 | Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Лот |
33 | + capture page screenshot | |
19 | 34 | Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_input_locator} |
20 | 35 | ${claim_form_complaintform_related_lot_select_locator} = Run Keyword If '${type}' == 'lot' replace string ${claim_form_complaintform_related_lot_input_locator_tpl} %type_id% ${type_id} |
21 | 36 | Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_select_locator} |
22 | - Run Keyword And Ignore Error Select From List By Label ${claim_form_complaintform_complaintform_type_input_locator} Вимога | |
23 | - Run Keyword If '${doc_name}' != 'null' click visible element ${claim_form_complaintform_document_btn_locator} | |
37 | + capture page screenshot | |
38 | + Run Keyword And Ignore Error Select From List By Label ${claim_form_complaintform_complaintform_type_input_locator} Вимога | |
39 | + Run Keyword And Ignore Error Run Keyword If '${type}' == 'winner_complaint' Select From List By Label ${claim_form_complaintform_complaintform_type_input_locator} Скарга | |
40 | + | |
41 | + capture page screenshot | |
42 | +### Run Keyword If '${doc_name}' != 'null' click visible element ${claim_form_complaintform_document_btn_locator} | |
43 | + capture page screenshot | |
24 | 44 | Run Keyword If '${doc_name}' != 'null' choose file ${add_file_to_form_locator} ${doc_name} |
45 | + capture page screenshot | |
25 | 46 | Run Keyword If '${doc_name}' != 'null' wait until page does not contain element ${popup_dynamic_form_loading_element_locator} |
47 | + capture page screenshot | |
26 | 48 | # Run Keyword If '${doc_name}' != 'null' submit current visible popup |
27 | - submit form and check result ${claim_form_complaintform_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator} | |
49 | + submit form and check result ${claim_form_complaintform_submit_btn_locator} ${claim_form_submit_success_msg} ${tender_created_checker_element_locator} | |
28 | 50 | # Функция ожидания claim_uaid_text_locator соответствующей вимоги |
29 | - click visible element ${claim_form_open_btn_locator} | |
30 | - ${return_value}= Get Element Attribute ${claim_uaid_text_locator} | |
51 | +# click visible element ${claim_form_open_btn_locator} | |
52 | + reload page | |
53 | + wait until page does not contain element with reloading ${claim_sync_element_locator} 60 | |
54 | + wait until page contains element with reloading ${claim_uaid_text_locator} | |
55 | + ${return_value}= get text ${claim_uaid_text_locator} | |
31 | 56 | ${return_value}= Convert To String ${return_value} |
32 | 57 | [return] ${return_value} |
33 | 58 | |
59 | +Скасувати вимогу | |
60 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${cancellation_data} ${award_index} | |
61 | + [Documentation] Перевести вимогу complaintID для тендера tender_uaid у статус cancelled, | |
62 | + ... використовуючи при цьому дані confirmation_data. | |
63 | + | |
64 | + open tender page by uaid ${tender_uaid} | |
65 | + click visible element and wait until page contains element ${claim_page_open_btn_locator} ${claim_form_open_btn_locator} | |
66 | + ${claim_open_form_answer_locator} = replace string ${claim_open_form_answer_btn_locator_tpl} %title% ${complaintID} | |
67 | + wait until page contains element with reloading ${claim_open_form_answer_locator} | |
68 | + ${claim_form_cancel_open_btn_locator} = replace string ${claim_form_cancel_open_btn_locator_tpl} %complaint_id% ${complaintID} | |
69 | + wait until page contains element with reloading ${claim_form_cancel_open_btn_locator} | |
70 | + click visible element ${claim_form_cancel_open_btn_locator} | |
71 | +# submit form and check result ${claim_form_cancel_open_btn_locator} ${None} ${popup_opened_content_locator} | |
72 | + capture page screenshot | |
73 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
74 | + wait until element is visible ${claim_form_cancellation_reason_input_locator} 60 | |
75 | +## wait until element is visible ${popup_opened_content_locator} 60 | |
76 | + capture page screenshot | |
77 | +# wait until popup is visible | |
78 | + input text to exist visible input ${claim_form_cancellation_reason_input_locator} ${cancellation_data.data.cancellationReason} | |
79 | + capture page screenshot | |
80 | + submit form and check result ${claim_form_complaintform_submit_btn_locator} ${claim_cancel_submit_success_msg} ${tender_created_checker_element_locator} | |
81 | + | |
82 | +get claim information | |
83 | + [Arguments] ${tender_uaid} ${complaintID} ${field_name} ${award_index}=${None} | |
84 | + [Documentation] Отримати значення поля field_name скарги/вимоги complaintID про | |
85 | + ... виправлення умов закупівлі/лоту для тендера tender_uaid (скарги/вимоги про | |
86 | + ... виправлення визначення переможця під номером award_index, якщо award_index != None). | |
87 | + | |
88 | + open tender page by uaid ${tender_uaid} | |
89 | + click visible element ${claim_page_open_btn_locator} | |
90 | + capture page screenshot | |
91 | + ${claim_open_form_answer_locator} = replace string ${claim_open_form_answer_btn_locator_tpl} %title% ${complaintID} | |
92 | + wait until page contains element with reloading ${claim_open_form_answer_locator} | |
93 | + capture page screenshot | |
94 | + | |
95 | + ${claim_wrapper_complain_id_value_locator} = set variable ${claim_open_form_answer_locator} | |
96 | +# ${claim_wrapper_complaint_id_value_locator} = replace string ${claim_wrapper_complain_id_value_locator_tpl} %complain_id% ${complaintID} | |
97 | + ${claim_description_value_locator} = Run Keyword If 'description' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_description_value_locator} | |
98 | + ${claim_title_value_locator} = Run Keyword If 'title' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_title_value_locator} | |
99 | + ${claim_complain_id_value_locator} = Run Keyword If 'complaintID' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_complain_id_value_locator} | |
100 | + ${claim_status_value_locator} = Run Keyword If 'status' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_status_value_locator} | |
101 | + ${claim_resolution_type_value_locator} = Run Keyword If 'resolutionType' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_resolution_type_value_locator} | |
102 | + ${claim_resolution_value_locator} = Run Keyword If 'resolution' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_resolution_value_locator} | |
103 | + ${claim_satisfied_value_locator} = Run Keyword If 'satisfied' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_satisfied_value_locator} | |
104 | + ${claim_related_lot_value_locator} = Run Keyword If 'relatedLot' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_related_lot_value_locator} | |
105 | + ${claim_cancellation_reason_value_locator} = Run Keyword If 'cancellationReason' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_cancellation_reason_value_locator} | |
106 | + | |
107 | + Run Keyword If "${TEST_NAME}" == "Можливість відповісти на вимогу про виправлення умов закупівлі" Wait Until Keyword Succeeds 420 s 15 s Wait For Answered ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
108 | + Run Keyword If "${TEST_NAME}" == "Можливість відповісти на вимогу про виправлення умов лоту" Wait Until Keyword Succeeds 420 s 15 s Wait For Answered ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
109 | + Run Keyword If "Відображення статусу 'answered'" in "${TEST_NAME}" Wait Until Keyword Succeeds 300 s 15 s Wait For Answered ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
110 | + Run Keyword If "${TEST_NAME}" == "Відображення задоволення вимоги" Wait Until Keyword Succeeds 300 s 15 s Wait For Satisfied ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
111 | + Run Keyword If "${TEST_NAME}" == "Відображення незадоволення вимоги" Wait Until Keyword Succeeds 300 s 15 s Wait For Satisfied ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
112 | + Run Keyword If "Відображення статусу 'resolved'" in "${TEST_NAME}" Wait Until Keyword Succeeds 300 s 15 s Wait For Resolved ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
113 | + Run Keyword If "Відображення статусу 'cancelled'" in "${TEST_NAME}" Wait Until Keyword Succeeds 300 s 15 s Wait For Cancelled ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
114 | + Run Keyword If "Відображення статусу 'ignored'" in "${TEST_NAME}" Wait Until Keyword Succeeds 300 s 15 s Wait For Ignored ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
115 | + Run Keyword If "Відображення статусу 'stopping'" in "${TEST_NAME}" Wait Until Keyword Succeeds 300 s 15 s Wait For Stopping ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
116 | + Run Keyword If "Відображення статусу 'pending'" in "${TEST_NAME}" Wait Until Keyword Succeeds 300 s 15 s Wait For Pending ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
117 | + Run Keyword And Ignore Error Run Keyword If "Відображення кінцевих статусів двох останніх вимог" in "${TEST_NAME}" Wait Until Keyword Succeeds 30 s 5 s Wait For Invalid ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
118 | + Run Keyword And Ignore Error Run Keyword If "Відображення кінцевих статусів двох останніх вимог" in "${TEST_NAME}" Wait Until Keyword Succeeds 30 s 5 s Wait For Declined ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
119 | + | |
120 | + Run Keyword And Return If 'description' == '${field_name}' get value by locator on opened page ${claim_description_value_locator} | |
121 | + Run Keyword And Return If 'complaintID' == '${field_name}' get value by locator on opened page ${claim_complain_id_value_locator} | |
122 | + Run Keyword And Return If 'title' == '${field_name}' get value by locator on opened page ${claim_title_value_locator} | |
123 | + Run Keyword And Return If 'status' == '${field_name}' get value by locator on opened page ${claim_status_value_locator} | |
124 | + Run Keyword And Return If 'resolutionType' == '${field_name}' get value by locator on opened page ${claim_resolution_type_value_locator} | |
125 | + Run Keyword And Return If 'resolution' == '${field_name}' get value by locator on opened page ${claim_resolution_value_locator} | |
126 | + Run Keyword And Return If 'satisfied' == '${field_name}' Отримати інформацію із скарги satisfied ${claim_satisfied_value_locator} | |
127 | + Run Keyword And Return If 'relatedLot' == '${field_name}' get value by locator on opened page ${claim_related_lot_value_locator} | |
128 | + Run Keyword And Return If 'cancellationReason' == '${field_name}' get value by locator on opened page ${claim_cancellation_reason_value_locator} | |
129 | + | |
130 | +Отримати інформацію із документа скарги title | |
131 | + [Arguments] ${complaintID} ${doc_id} | |
132 | + [Documentation] Отримати значення поля title з документу з doc_id в описі для скарги для тендера. | |
133 | + | |
134 | + click visible element ${claim_page_open_btn_locator} | |
135 | + ${claim_open_form_answer_locator} = replace string ${claim_open_form_answer_btn_locator_tpl} %title% ${complaintID} | |
136 | + wait until page contains element with reloading ${claim_open_form_answer_locator} | |
137 | + ${claim_file_name_input_locator} = replace string ${claim_file_name_input_locator_tpl} %complain_id% ${complaintID} | |
138 | +# wait until page contains element with reloading ${claim_file_name_input_locator} | |
139 | + | |
140 | + ${return_value} = get text ${claim_file_name_input_locator} | |
141 | + [return] ${return_value} | |
142 | + | |
143 | +get document complaint | |
144 | + [Arguments] ${complaintID} ${doc_id} | |
145 | + [Documentation] Завантажити файл doc_id до скарги complaintID для тендера tender_uaid | |
146 | + ... в директорію ${OUTPUT_DIR} для перевірки вмісту цього файлу. | |
147 | + | |
148 | + ${claim_file_name_input_locator} = replace string ${claim_file_name_input_locator_tpl} %complain_id% ${complaintID} | |
149 | + wait until page contains element with reloading ${claim_file_name_input_locator} | |
150 | + ${claim_file_link_input_locator} = replace string ${claim_file_link_input_locator_tpl} %complain_id% ${complaintID} | |
151 | + ${claim_file_name_input_locator} = replace string ${claim_file_name_input_locator_tpl} %complain_id% ${complaintID} | |
152 | + wait until page contains element with reloading ${tender_new_doc_locator} | |
153 | + | |
154 | + ${file_link} = Execute Javascript ${claim_file_link_input_locator} | |
155 | + ${file_name} = get text ${claim_file_name_input_locator} | |
156 | + download_file ${file_link} ${file_name} ${OUTPUT_DIR} | |
157 | + [return] ${file_name} | |
158 | + | |
159 | + | |
160 | +Підтвердити вирішення вимоги | |
161 | + [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${complaintID} ${data} ${award_index} | |
162 | + [Documentation] Підтвердити вирішення вимоги | |
163 | + | |
164 | + open tender page by uaid ${tender_uaid} | |
165 | + click visible element ${claim_page_open_btn_locator} | |
166 | + click visible element and wait until page contains element ${claim_page_open_btn_locator} ${claim_form_open_btn_locator} | |
167 | + ${claim_form_resolved_input_locator} = replace string ${claim_form_resolved_input_locator_tpl} %complaint_id% ${complaintID} | |
168 | + click visible element ${claim_form_resolved_input_locator} | |
169 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
170 | + wait until element is visible ${claim_form_complaintform_submit_btn_locator} 60 | |
171 | +## wait until element is visible ${popup_opened_content_locator} 60 | |
172 | + ${value} = Set Variable If '${data.data.satisfied}' Задоволен Не задоволен | |
173 | + run keyword and ignore error select from visible list by label ${claim_form_satisfied_input_locator} ${value} | |
174 | + capture page screenshot | |
175 | + submit form and check result ${claim_form_complaintform_submit_btn_locator} ${claim_form_satisfied_submit_success_msg} ${None} | |
176 | + | |
177 | + | |
178 | +Відповісти на вимогу | |
179 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${answer_data} ${award_index} | |
180 | + [Documentation] Відповісти на вимогу complaintID | |
181 | + ... для тендера tender_uaid, використовуючи при цьому дані answer_data. | |
182 | + | |
183 | + open tender page by uaid ${tender_uaid} | |
184 | + click visible element ${claim_page_open_btn_locator} | |
185 | + ${claim_open_form_answer_locator} = replace string ${claim_open_form_answer_btn_locator_tpl} %title% ${complaintID} | |
186 | + wait until page contains element with reloading ${claim_open_form_answer_locator} 10 | |
187 | + ${claim_form_open_form_answer_btn_locator} = replace string ${claim_form_open_form_answer_btn_locator_tpl} %title% ${complaintID} | |
188 | + wait until page contains element with reloading ${claim_form_open_form_answer_btn_locator} | |
189 | + submit form and check result ${claim_form_open_form_answer_btn_locator} ${None} ${popup_opened_content_locator} | |
190 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
191 | + wait until element is visible ${claim_form_answer_resolution_value_locator} 60 | |
192 | +## wait until element is visible ${popup_opened_content_locator} 60 | |
193 | +# click visible element ${claim_form_open_form_answer_btn_locator} | |
194 | + | |
195 | +# wait until popup is visible | |
196 | + input text to exist visible input ${claim_form_answer_resolution_value_locator} ${answer_data.data.resolution} | |
197 | + Run Keyword If '${answer_data.data.resolutionType}' == 'resolved' select from list by value ${claim_form_answer_resolution_type_value_locator} resolved | |
198 | + Run Keyword If '${answer_data.data.resolutionType}' == 'declined' select from list by value ${claim_form_answer_resolution_type_value_locator} declined | |
199 | + Run Keyword If '${answer_data.data.resolutionType}' == 'invalid' select from list by value ${claim_form_answer_resolution_type_value_locator} invalid | |
200 | + Run Keyword And Ignore Error input text to exist visible input ${claim_form_answer_tenderer_action_value_locator} ${answer_data.data.tendererAction} | |
201 | + submit form and check result ${claim_form_answer_success_btn_locator} ${claim_form_answer_submit_success_msg} | |
202 | + | |
203 | + | |
204 | +Wait For Answered | |
205 | + [Arguments] ${complaintID} ${wrapper} | |
206 | + [Documentation] Очікування статусу Answered вимоги complaintID | |
207 | + ... для тендера tender_uaid. | |
208 | + | |
209 | + Reload Page | |
210 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% answered | |
211 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
212 | + Page Should Contain Element ${claim_status_value_locator} | |
213 | + | |
214 | +Wait For Satisfied | |
215 | + [Arguments] ${complaintID} ${wrapper} | |
216 | + [Documentation] Очікування статусу Answered вимоги complaintID | |
217 | + ... для тендера tender_uaid. | |
218 | + | |
219 | + Reload Page | |
220 | + ${claim_form_satisfied_value_locator} = replace string ${claim_form_satisfied_value_locator_tpl} %query% Так | |
221 | + ${claim_form_satisfied_value_locator_tmp} = set variable ${wrapper} ${claim_form_satisfied_value_locator} | |
222 | + Page Should Contain Element ${claim_form_satisfied_value_locator_tmp} | |
223 | + | |
224 | +Wait For Resolved | |
225 | + [Arguments] ${complaintID} ${wrapper} | |
226 | + [Documentation] Очікування статусу Answered вимоги complaintID | |
227 | + ... для тендера tender_uaid. | |
228 | + | |
229 | + Reload Page | |
230 | + ${claim_form_resolved_value_locator} = replace string ${claim_form_status_locator_tpl} %query% resolved | |
231 | + ${claim_form_resolved_value_locator_tmp} = set variable ${wrapper} ${claim_form_resolved_value_locator} | |
232 | + Page Should Contain Element ${claim_form_resolved_value_locator_tmp} | |
233 | + | |
234 | +Wait For Cancelled | |
235 | + [Arguments] ${complaintID} ${wrapper} | |
236 | + [Documentation] Очікування статусу Answered вимоги complaintID | |
237 | + ... для тендера tender_uaid. | |
238 | + | |
239 | + Reload Page | |
240 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% cancelled | |
241 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
242 | + Page Should Contain Element ${claim_status_value_locator} | |
243 | + | |
244 | +Wait For Ignored | |
245 | + [Arguments] ${complaintID} ${wrapper} | |
246 | + [Documentation] Очікування статусу Answered вимоги complaintID | |
247 | + ... для тендера tender_uaid. | |
248 | + | |
249 | + Reload Page | |
250 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% ignored | |
251 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
252 | + Page Should Contain Element ${claim_status_value_locator} | |
253 | + | |
254 | +Wait For Stopping | |
255 | + [Arguments] ${complaintID} ${wrapper} | |
256 | + [Documentation] Очікування статусу Answered вимоги complaintID | |
257 | + ... для тендера tender_uaid. | |
258 | + | |
259 | + Reload Page | |
260 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% stopping | |
261 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
262 | + Page Should Contain Element ${claim_status_value_locator} | |
263 | + | |
264 | +Wait For Pending | |
265 | + [Arguments] ${complaintID} ${wrapper} | |
266 | + [Documentation] Очікування статусу Pending вимоги complaintID | |
267 | + ... для тендера tender_uaid. | |
268 | + | |
269 | + Reload Page | |
270 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% pending | |
271 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
272 | + Page Should Contain Element ${claim_status_value_locator} | |
273 | + | |
274 | +Отримати інформацію із скарги satisfied | |
275 | + [Arguments] ${wrapper} | |
276 | + [Documentation] Отримати інформацію із скарги satisfied | |
277 | + | |
278 | + | |
279 | + ${return_value} = get value by locator on opened page ${wrapper} | |
280 | + ${return_value} = Run Keyword If 'Так' == '${return_value}' Set Variable True | |
281 | + ... ELSE Set Variable False | |
282 | + ${return_value} = Convert To Boolean ${return_value} | |
283 | + [return] ${return_value} | |
284 | + | |
285 | +Wait For Invalid | |
286 | + [Arguments] ${complaintID} ${wrapper} | |
287 | + [Documentation] Очікування статусу Invalid вимоги complaintID | |
288 | + ... для тендера tender_uaid. | |
289 | + | |
290 | + Reload Page | |
291 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% invalid | |
292 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
293 | + Page Should Contain Element ${claim_status_value_locator} | |
294 | + | |
295 | +Wait For Declined | |
296 | + [Arguments] ${complaintID} ${wrapper} | |
297 | + [Documentation] Очікування статусу declined вимоги complaintID | |
298 | + ... для тендера tender_uaid. | |
299 | + | |
300 | + Reload Page | |
301 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% declined | |
302 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
303 | + Page Should Contain Element ${claim_status_value_locator} | |
304 | + | |
34 | 305 | ... | ... |
1 | 1 | *** Variables *** |
2 | 2 | |
3 | 3 | #claim |
4 | -${claim_form_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/complaints"] | |
5 | -${claim_form_complaintform_title_input_locator} = jquery=.fancybox-is-open .fancybox-content input#complaintform-title | |
6 | -${claim_form_complaintform_description_input_locator} = jquery=.fancybox-is-open .fancybox-content input#complaintform-description | |
7 | -${claim_form_complaintform_related_of_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintform-related_of | |
8 | -${claim_form_complaintform_related_lot_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintform-related_lot | |
9 | -${claim_form_complaintform_related_item_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content #complaintform-related_lot option:contains("%type_id%") | |
10 | -${claim_form_complaintform_complaintform_type_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintform-type | |
4 | +${claim_page_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/complaints"] | |
5 | +${claim_form_open_btn_locator} = jquery=#tender-part-pjax a[href*="/tender/complaint-create"]:first | |
6 | +${claim_form_complaintform_title_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="complaintform-title"] | |
7 | +${claim_form_complaintform_description_input_locator} = jquery=.fancybox-is-open .fancybox-content textarea[id*="complaintform-description"] | |
8 | +${claim_form_complaintform_related_of_input_locator} = jquery=.fancybox-is-open .fancybox-content select[id*="complaintform-related_of"] | |
9 | +${claim_form_complaintform_related_lot_input_locator} = jquery=.fancybox-is-open .fancybox-content select[id*="complaintform-related_lot"] | |
10 | +${claim_form_complaintform_related_lot_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content select[id*="complaintform-related_lot"] option:contains("%type_id%") | |
11 | +${claim_form_complaintform_complaintform_type_input_locator} = jquery=.fancybox-is-open .fancybox-content select[id*="complaintform-type"] | |
11 | 12 | ${claim_form_complaintform_document_btn_locator} = jquery=.fancybox-is-open .fancybox-content a[data-url*="/tender/get-complaint-document"] |
12 | -${claim_form_complaintform_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content a[href*="/tender/complaints"] | |
13 | -${claim_uaid_text_locator} = jquery=#tender-complaint-list div.item.js-item:last .complaint-id span.value | |
13 | +${claim_form_complaintform_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success | |
14 | +${claim_uaid_text_locator} = jquery=#tender-complaint-list div.item.js-item:first .complaint-id span.value | |
15 | +#${claim_form_submit_success_msg} = Вимога успішно подана | |
16 | +${claim_form_submit_success_msg} = успішно подана | |
14 | 17 | |
18 | +${claim_cancel_submit_success_msg} = Вимога/скарга скасована. | |
19 | + | |
20 | +#${claim_form_cancel_open_btn_locator_tpl} = jquery=#tender-complaint-list div.item.js-item a[href*="/tender/complaint-cancel"]:last | |
21 | +#${claim_form_cancel_open_btn_locator} = jquery=#tender-complaint-list div.item.js-item a[href*="/tender/complaint-cancel"]:last | |
22 | +${claim_form_cancellation_reason_input_locator} = jquery=#complaintcancelform-cancellation_reason | |
23 | +${claim_form_cancel_open_btn_locator_tpl} = jquery=#tender-part-pjax #tender-complaint-list .complaint__item[data-complaint-id*="%complaint_id%"] a[href*="/tender/complaint-cancel"] | |
24 | + | |
25 | +${claim_file_link_input_locator_tpl} = return $('#tender-complaint-list .js-item div[data-complaint-id*="%complain_id%"] .complaint-info-wrapper .info-row.documents .value a[href*="https://public-docs-sandbox.prozorro.gov.ua"]').attr("href") | |
26 | +${claim_file_name_input_locator_tpl} = jquery=#tender-complaint-list .js-item div[data-complaint-id*="%complain_id%"] .complaint-info-wrapper .info-row.documents .value a[href*="https://public-docs-sandbox.prozorro.gov.ua"] | |
27 | + | |
28 | +${claim_wrapper_complain_id_value_locator_tpl} = jquery=#tender-complaint-pjax .complaint__item:first | |
29 | +#${claim_wrapper_complain_id_value_locator_tpl} = jquery=#tender-complaint-pjax .complaint__item[data-title*="%complain_id%"] | |
30 | +${claim_description_value_locator} = .complaint-info-wrapper .info-row.description .value | |
31 | +${claim_title_value_locator} = .complaint-info-wrapper .info-row.title .value | |
32 | +${claim_complain_id_value_locator} = .complaint-info-wrapper .info-row.complaint-id .value | |
33 | +${claim_status_value_locator} = .complaint-info-wrapper .info-row.status-source.hidden | |
34 | +${claim_resolution_type_value_locator} = .complaint-info-wrapper .info-row.resolution-type-source.hidden | |
35 | +${claim_cancellation_reason_value_locator} = .complaint-info-wrapper .info-row.cancellation-reason .value | |
36 | +${claim_related_lot_value_locator} = .complaint-info-wrapper .info-row.related-item .value | |
37 | +${claim_resolution_value_locator} = .complaint-info-wrapper .info-row.resolution .value | |
38 | +${claim_satisfied_value_locator} = .complaint-info-wrapper .info-row.satisfied .value | |
39 | + | |
40 | +${claim_sync_element_locator} = jquery=.synhronized__icon.fa.fa-refresh.fa-spin | |
41 | + | |
42 | +${claim_open_form_answer_btn_locator_tpl} = jquery=#tender-complaint-list .js-item div[data-complaint-id*="%title%"] | |
43 | +${claim_form_open_form_answer_btn_locator_tpl} = jquery=#tender-complaint-list .js-item div[data-complaint-id*="%title%"] .btn.btn-success | |
44 | +${claim_form_resolved_input_locator_tpl} = jquery=#tender-part-pjax #tender-complaint-list .complaint__item[data-complaint-id*="%complaint_id%"] a[href*="/tender/complaint-resolve"] | |
45 | +${claim_form_satisfied_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintresolveform-satisfied | |
46 | +${claim_form_satisfied_submit_success_msg} = Вимога вирішена, дочекайтесь опублікування на сайті уповноваженого органу. | |
47 | +#formanswer | |
48 | +${claim_form_answer_resolution_value_locator} = jquery=#tender-complaint-answer-form #complaintanswerform-resolution | |
49 | +${claim_form_answer_tenderer_action_value_locator} = jquery=#tender-complaint-answer-form #complaintanswerform-tenderer_action | |
50 | +${claim_form_answer_resolution_type_value_locator} = jquery=#tender-complaint-answer-form #complaintanswerform-resolution_type | |
51 | +${claim_form_answer_success_btn_locator} = jquery=#tender-complaint-answer-form .btn.btn-success | |
52 | +${claim_form_answer_submit_success_msg} = Відповідь на вимогу надана, дочекайтесь опублікування на сайті уповноваженого органу. | |
53 | +${claim_form_status_locator_tpl} = .complaint-info-wrapper .info-row.status-source.hidden:contains(%query%) | |
54 | +${claim_form_satisfied_value_locator_tpl} = .complaint-info-wrapper .info-row.satisfied .value:contains(%query%) | ... | ... |
... | ... | @@ -77,9 +77,7 @@ get value by locator on opened page |
77 | 77 | |
78 | 78 | capture page screenshot |
79 | 79 | Run Keyword And Ignore Error __private__set_element_visible_in_browser_area ${locator} |
80 | - capture page screenshot | |
81 | 80 | ${value} = get value by locator ${locator} |
82 | - capture page screenshot | |
83 | 81 | ${value} = convert to specified type ${value} ${type} |
84 | 82 | [Return] ${value} |
85 | 83 | |
... | ... | @@ -99,7 +97,6 @@ get field_value by field_name on opened page |
99 | 97 | ${field_type_variable_exists} = run keyword and return status variable should exist ${${field_type_variable_name}} |
100 | 98 | ${field_type} = set variable if ${field_type_variable_exists} == ${True} ${${field_type_variable_name}} ${None} |
101 | 99 | ${field_locator} = set variable ${${field_locator_variable_name}} |
102 | - capture page screenshot | |
103 | 100 | ${field_value} = get value by locator on opened page ${field_locator} ${field_type} |
104 | 101 | [Return] ${field_value} |
105 | 102 | |
... | ... | @@ -209,7 +206,8 @@ input to search form and wait results |
209 | 206 | |
210 | 207 | input text to visible input and press enter ${query_input_locator} ${query} |
211 | 208 | ${result_locator} = replace string ${result_locator_tpl} %query% ${query} |
212 | - wait until page contains element with reloading ${result_locator} | |
209 | + wait until page contains search ${result_locator} | |
210 | +# wait until page contains element with reloading ${result_locator} | |
213 | 211 | |
214 | 212 | select from visible list by value |
215 | 213 | [Arguments] ${locator} ${value} |
... | ... | @@ -297,8 +295,11 @@ submit form and check result |
297 | 295 | [Documentation] сабмітить форму і чекає повідомлення (якщо задано) + елемент (якщо задано) |
298 | 296 | |
299 | 297 | click visible element ${submit_btn_locator} |
298 | + run keyword if condition is not none ${wait_msg} Wait Until Page Contains ${wait_msg} 60 | |
300 | 299 | run keyword if condition is not none ${wait_msg} wait until alert is visible ${wait_msg} |
301 | 300 | run keyword and ignore error run keyword if condition is not none ${wait_msg} close current visible alert |
301 | +#cat проба | |
302 | + run keyword if condition is not none ${wait_element_locator} wait until element is visible ${wait_element_locator} 60 | |
302 | 303 | run keyword if condition is not none ${wait_element_locator} wait until page contains element ${wait_element_locator} 60s Element was not shown after form submitting |
303 | 304 | |
304 | 305 | wait until popup is visible |
... | ... | @@ -324,6 +325,13 @@ close current visible alert |
324 | 325 | |
325 | 326 | click visible element ${alert_opened_close_btn_locator} |
326 | 327 | |
328 | +wait until page contains search | |
329 | + [Arguments] ${locator} ${retry}=5m ${retry_interval}=2s | |
330 | + [Documentation] чекає поки елемент не з'явиться на сторінці з перезапуском пошуку | |
331 | + | |
332 | + ${result} = get is element exist ${locator} | |
333 | + run keyword if ${result} == ${False} wait until keyword succeeds ${retry} ${retry_interval} reload page and fail if element does not exist on search ${locator} | |
334 | + | |
327 | 335 | wait until page contains element with reloading |
328 | 336 | [Arguments] ${locator} ${retry}=5m ${retry_interval}=2s |
329 | 337 | [Documentation] чекає поки елемент не з'явиться на сторінці з перезавантаженням сторінки |
... | ... | @@ -337,6 +345,7 @@ wait until page does not contain element with reloading |
337 | 345 | |
338 | 346 | ${result} = get is element exist ${locator} |
339 | 347 | run keyword if ${result} == ${True} wait until keyword succeeds ${retry} ${retry_interval} reload page and fail if element exists ${locator} |
348 | + capture page screenshot | |
340 | 349 | |
341 | 350 | wait until tab content is visible |
342 | 351 | [Arguments] ${tab_link} ${waiting_timeout}=30s ${waiting_error}=Opened tab still not visible |
... | ... | @@ -362,6 +371,14 @@ reload page and fail if element does not exist |
362 | 371 | ${exists} = get is element exist ${locator} |
363 | 372 | run keyword if ${exists} == ${False} fail |
364 | 373 | |
374 | +reload page and fail if element does not exist on search | |
375 | + [Arguments] ${locator} | |
376 | + [Documentation] перезавантажує сторінку і фейлить тест якщо елемент відсутній в пошуку | |
377 | + | |
378 | + click visible element ${tender_form_search_btn_locator} | |
379 | + ${exists} = get is element exist ${locator} | |
380 | + run keyword if ${exists} == ${False} fail | |
381 | + | |
365 | 382 | get is 404 page |
366 | 383 | [Documentation] перевіряє чи поточна сторінка з 404 помилкою |
367 | 384 | |
... | ... | @@ -442,4 +459,33 @@ __private__select_classification_code_in_opened_popup |
442 | 459 | ${code} = convert to string ${code} |
443 | 460 | ${code_item_locator} = replace string ${classification_popup_serach_item_locator_tpl} %code% ${code} |
444 | 461 | wait until page contains element ${code_item_locator} 60s Specified classification code was not found |
445 | - click visible element ${code_item_locator} | |
\ No newline at end of file | ||
462 | + click visible element ${code_item_locator} | |
463 | + | |
464 | +Load Sign | |
465 | + ${loadingfakeKey} = Run keyword And Return Status Wait Until Page Contains Це фейкове накладання ЕЦП 90 | |
466 | + run keyword and ignore error Run Keyword If ${loadingfakeKey} == True submit form and check result id=SignDataButton ${qualification_ecp_form_submit_success_msg} | |
467 | + ${loadingKey} = Run keyword And Return Status Wait Until Page Contains Серійний номер 90 | |
468 | + Run Keyword If ${loadingfakeKey} == True Fail Далі не ходити | |
469 | + Run Keyword If ${loadingKey} == False Load Sign Data | |
470 | + Wait Until Page Contains Серійний номер 60 | |
471 | + submit form and check result id=SignDataButton ${qualification_ecp_form_submit_success_msg} | |
472 | + | |
473 | +Load Sign Data | |
474 | + Wait Until Page Contains Element id=CAsServersSelect 60 | |
475 | + Select From List By Label id=CAsServersSelect Тестовий ЦСК АТ "ІІТ" | |
476 | + Wait Until Page Contains Element id=PKeyFileName 60 | |
477 | + Choose File id=PKeyFileInput ${CURDIR}/kai.dat | |
478 | + Wait Until Page Contains Element id=PKeyPassword 60 | |
479 | + Input Text id=PKeyPassword 123qwe | |
480 | + Wait Until Page Contains Element id=PKeyReadButton 60 | |
481 | + Click Element id=PKeyReadButton | |
482 | + | |
483 | +GetDictionaryKeyExist | |
484 | + [Arguments] ${Dictionary Name} ${Key} | |
485 | + Run Keyword And Return Status Dictionary Should Contain Key ${Dictionary Name} ${Key} | |
486 | + | |
487 | +GetValueFromDictionaryByKey [Arguments] ${Dictionary Name} ${Key} | |
488 | + ${KeyIsPresent}= Run Keyword And Return Status Dictionary Should Contain Key ${Dictionary Name} ${Key} | |
489 | + ${Value}= Run Keyword If ${KeyIsPresent} Get From Dictionary ${Dictionary Name} ${Key} | |
490 | + Return From Keyword ${Value} | |
491 | + | ... | ... |
playtender_contract.robot
0 → 100644
1 | +*** Settings *** | |
2 | + | |
3 | +Resource playtender_common.robot | |
4 | +Resource playtender_variables.robot | |
5 | +Resource playtender_contract_variables.robot | |
6 | +Resource playtender_qualification_variables.robot | |
7 | + | |
8 | +*** Keywords *** | |
9 | + | |
10 | +edit contract | |
11 | + [Arguments] ${contract_index} ${field_name} ${amount} ${field_name2}=${None} ${amount2}=${None} | |
12 | + [Documentation] Редагувати контракт з індексом ${contract_index} | |
13 | + ... для поля field_name та значення amount. | |
14 | + | |
15 | + Run Keyword If '${TEST_NAME}' == 'Неможливість вказати ціну договору з ПДВ більше ніж результат проведення аукціону' Fail Amount should be less or equal to awarded amount | |
16 | + Run Keyword If '${TEST_NAME}' == 'Неможливість зменшити ціну договору без ПДВ на суму більшу за 20% від ціни договору з ПДВ (закупівля з ПДВ)' Fail Amount should be greater than amountNet and differ by no more than 20.0% | |
17 | + click visible element ${contract_form_0_open_btn_locator} | |
18 | + Run Keyword And Ignore Error Wait Until Page Contains ${contract_contractform_contract_number_input_locator} 10 | |
19 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 5 | |
20 | + wait until element is visible ${contract_contractform_contract_number_input_locator} 10 | |
21 | + capture page screenshot | |
22 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | |
23 | + ${contract_number} = get value by locator on opened page ${contract_contractform_contract_number_input_locator} | |
24 | + Run Keyword If '${contract_number}' == '' input text to exist visible input ${contract_contractform_contract_number_input_locator} 1234567890 | |
25 | + capture page screenshot | |
26 | + ${date_signed} = Get Current Date result_format=%d.%m.%Y %H:%M | |
27 | + ${contract_date_signed} = get value by locator on opened page ${contract_contractform_date_signed_input_locator} | |
28 | + Run Keyword If '${contract_date_signed}' == '' input text to exist visible input ${contract_contractform_date_signed_input_locator} ${date_signed} | |
29 | + ${date_start} = Get Current Date increment=02:00:00 result_format=%d.%m.%Y %H:%M | |
30 | + ${contract_date_start} = get value by locator on opened page ${contract_contractform_date_start_input_locator} | |
31 | + Run Keyword If '${contract_date_start}' == '' input text to exist visible input ${contract_contractform_date_start_input_locator} ${date_start} | |
32 | + ${date_end} = Get Current Date increment=04:00:00 result_format=%d.%m.%Y %H:%M | |
33 | + ${contract_date_end} = get value by locator on opened page ${contract_contractform_date_end_input_locator} | |
34 | + Run Keyword If '${contract_date_end}' == '' input text to exist visible input ${contract_contractform_date_end_input_locator} ${date_end} | |
35 | + | |
36 | + Run Keyword If '${field_name}' == 'value.amount' input number to exist visible input ${contract_contractform_amount_input_locator} ${amount} | |
37 | + Run Keyword If '${field_name}' == 'value.amountNet' input number to exist visible input ${contract_contractform_amount_net_input_locator} ${amount} | |
38 | + capture page screenshot | |
39 | + choose file ${add_file_to_contract_contractform_locator} ${file_path} | |
40 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} 60 | |
41 | + wait until element is visible ${contract_contractform_add_document_type_input_locator} 60 | |
42 | + capture page screenshot | |
43 | + Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content select[id*="-document_type"]:last').val('contractSigned').change() | |
44 | + capture page screenshot | |
45 | + click visible element ${contract_contractform_add_document_description_btn_locator} | |
46 | + capture page screenshot | |
47 | + wait until element is visible ${contract_contractform_add_document_description_input_locator} | |
48 | + input text to exist visible input ${contract_contractform_add_document_description_input_locator} test2 | |
49 | + capture page screenshot | |
50 | + click visible element ${contract_contractform_add_document_close_description_btn_locator} | |
51 | + capture page screenshot | |
52 | + | |
53 | + submit form and check result ${contract_contractform_submit_btn_locator} ${contract_contractform_submit_success_msg} ${contract_active_form_open_btn_locator} | |
54 | +# run keyword and ignore error submit form and check result ${contract_contractform_submit_btn_locator} ${contract_contractform_submit_success_msg} ${contract_active_form_open_btn_locator} | |
55 | + capture page screenshot | |
56 | + | ... | ... |
playtender_contract_variables.robot
0 → 100644
1 | +*** Variables *** | |
2 | + | |
3 | +#contractform | |
4 | +${contract_form_0_open_btn_locator} = jquery=#contracts-pjax a[href*="/tender/contract?contract"] | |
5 | +${contract_contractform_contract_number_input_locator} = jquery=#contractform-contract_number | |
6 | +${contract_contractform_date_signed_input_locator} = jquery=#contractform-date_signed | |
7 | +${contract_contractform_date_start_input_locator} = jquery=#contractform-date_start | |
8 | +${contract_contractform_date_end_input_locator} = jquery=#contractform-date_end | |
9 | +${contract_contractform_date_start_input_locator} = jquery=#contractform-date_start | |
10 | +${contract_contractform_date_end_input_locator} = jquery=#contractform-date_end | |
11 | +${contract_contractform_date_start_input_locator} = jquery=#contractform-date_start | |
12 | +${contract_contractform_date_end_input_locator} = jquery=#contractform-date_end | |
13 | +${contract_contractform_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success | |
14 | +${contract_contractform_submit_success_msg} = Контракт успішно завантажений | |
15 | +${contract_contractform_amount_input_locator} = jquery=#contractform-value_amount | |
16 | +${contract_contractform_amount_net_input_locator} = jquery=#contractform-value_amount_net | |
17 | +${contract_contractform_active_submit_success_msg} = Контракт успішно активовано, дочекайтесь опублікування на сайті уповноваженого органу. | |
18 | + | |
19 | +#contractform document | |
20 | +${add_file_to_contract_contractform_locator} = jquery=.field-contractform-documents .js-upload-documents input[type$="file"]:first | |
21 | +${contract_contractform_add_document_type_input_locator} = jquery=.js-dynamic-form-content-item:last .document-type select[id*="-document_type"] | |
22 | +${contract_contractform_add_document_description_btn_locator} = jquery=.js-dynamic-form-content-item:last [href$="#edit"]:last | |
23 | +${contract_contractform_add_document_description_input_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in textarea[id*="-description"].form-control | |
24 | +${contract_contractform_add_document_close_description_btn_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in [href$="#close"] | |
25 | + | |
26 | +${contract_active_form_open_btn_locator} = jquery=#contracts-pjax a[href*="/tender/contract-activate"] | ... | ... |
playtender_qualification.robot
0 → 100644
1 | +*** Settings *** | |
2 | + | |
3 | +Resource playtender_common.robot | |
4 | +Resource playtender_variables.robot | |
5 | +Resource playtender_bid_variables.robot | |
6 | +Resource playtender_qualification_variables.robot | |
7 | + | |
8 | +*** Keywords *** | |
9 | + | |
10 | + | |
11 | +open tender form prequalification | |
12 | + [Arguments] ${qualification_num} | |
13 | + [Documentation] Відкрити форму прекваліфікації і потрібну кваліфікацію під номером qualification_num | |
14 | + | |
15 | + run keyword if ${qualification_num} == 0 click visible element ${prequalification_form_0_open_btn_locator} | |
16 | + run keyword if ${qualification_num} == 1 or ${qualification_num} == -1 wait until page contains element with reloading ${prequalification_form_1_open_btn_locator} | |
17 | + run keyword if ${qualification_num} == 1 or ${qualification_num} == -1 click visible element ${prequalification_form_1_open_btn_locator} | |
18 | + run keyword if ${qualification_num} == -2 wait until page contains element with reloading ${prequalification_form_2_open_btn_locator} | |
19 | +# run keyword if ${qualification_num} == -2 click visible element ${prequalification_form_2_open_btn_locator} | |
20 | + run keyword if ${qualification_num} == -2 execute javascript $('#bids-pjax .pseudo-table__row:last a[href*="/tender/prequalification"]').click() | |
21 | + sleep 3 | |
22 | + | |
23 | +confirm qualifications | |
24 | + [Documentation] Відкрити форму прекваліфікації і перевести кваліфікацію під номером qualification_num до тендера | |
25 | + ... tender_uaid в статус active. | |
26 | + | |
27 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
28 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
29 | +# wait until popup is visible | |
30 | +# Execute Javascript ${qualification_form_accept_input_locator} | |
31 | + Execute Javascript $('#prequalificationform-decision').val('accept').change() | |
32 | +# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | |
33 | + capture page screenshot | |
34 | + wait until page contains element ${prequalification_form_eligible_input_locator} | |
35 | + capture page screenshot | |
36 | + click visible element ${prequalification_form_eligible_input_locator} | |
37 | + click visible element ${prequalification_form_qualified_input_locator} | |
38 | + submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_submit_success_msg} ${tender_created_checker_element_locator} | |
39 | + | |
40 | +reject qualifications | |
41 | + [Documentation] Відкрити форму прекваліфікації і перевестикваліфікацію під номером qualification_num до тендера | |
42 | + ... tender_uaid в статус unsuccessful. | |
43 | + | |
44 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
45 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
46 | +# wait until popup is visible | |
47 | +# Execute Javascript ${qualification_form_decline_input_locator} | |
48 | + Execute Javascript $('#prequalificationform-decision').val('decline').change() | |
49 | + capture page screenshot | |
50 | +# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | |
51 | + wait until page contains element ${qualification_form_reasons_cancellation_input_locator} | |
52 | + capture page screenshot | |
53 | + input text to exist visible input ${qualification_form_reasons_cancellation_input_locator} GenerateFakeText | |
54 | + Execute Javascript ${prequalification_form_title_cancellation_input_locator} | |
55 | + capture page screenshot | |
56 | +# input text to exist visible input ${qualification_form_reasons_cancellation_input_locator} GenerateFakeText | |
57 | + input text to exist visible input ${prequalification_form_description_cancellation_input_locator} GenerateFakeText | |
58 | + capture page screenshot | |
59 | + submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_decline_success_msg} ${tender_created_checker_element_locator} | |
60 | + capture page screenshot | |
61 | + | |
62 | +cancel qualifications | |
63 | + [Documentation] Відкрити форму прекваліфікації і перевести кваліфікацію під номером qualification_num до тендера | |
64 | + ... tender_uaid в статус cancelled. | |
65 | + | |
66 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
67 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
68 | +# wait until popup is visible | |
69 | +# Execute Javascript ${qualification_form_cancel_input_locator} | |
70 | + wait until page contains element ${prequalification_form_description_cancellation_input_locator} | |
71 | + Execute Javascript $('#prequalificationform-decision').val('cancel').change() | |
72 | +# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | |
73 | + capture page screenshot | |
74 | + wait until page contains element ${prequalification_form_description_cancellation_input_locator} | |
75 | + capture page screenshot | |
76 | + input text to exist visible input ${prequalification_form_description_cancellation_input_locator} GenerateFakeText | |
77 | + capture page screenshot | |
78 | + submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_cancel_success_msg} ${tender_created_checker_element_locator} | |
79 | + | |
80 | +approve the final qualification decision | |
81 | + [Documentation] Перевести тендер tender_uaid в статус active.pre-qualification.stand-still. | |
82 | + | |
83 | + wait until page contains ${qualification_form_approve_question_msg} | |
84 | +# click visible element ${qualification_form_description_cancellation_input_locator} | |
85 | +## submit form and check result ${qualification_form_approve_submit_btn_locator} ${qualification_form_approve_success_msg} ${tender_created_checker_element_locator} | |
86 | + Execute Javascript ${qualification_form_approve_js_submit_btn_locator} | |
87 | + Wait Until Page Contains ${qualification_form_approve_success_msg} 60 | |
88 | + wait until alert is visible ${qualification_form_approve_success_msg} | |
89 | + run keyword and ignore error run keyword if condition is not none ${qualification_form_approve_success_msg} close current visible alert | |
90 | + Wait Until Keyword Succeeds 1600 s 20 s Wait For QualificationsPeriodEnd | |
91 | + | |
92 | +#qualification | |
93 | +open tender form qualification | |
94 | + [Arguments] ${award_num} | |
95 | + [Documentation] Відкрити форму кваліфікації і потрібну кваліфікацію під номером award_num | |
96 | + | |
97 | + run keyword if ${award_num} == 0 wait until page contains element with reloading ${qualification_form_0_open_btn_locator} | |
98 | + run keyword if ${award_num} == 0 click visible element ${qualification_form_0_open_btn_locator} | |
99 | +##### BOF - TMP ##### | |
100 | + run keyword if ${award_num} == 1 or ${award_num} == -1 click visible element ${qualification_form_0_open_btn_locator} | |
101 | + run keyword if ${award_num} == 2 click visible element ${qualification_form_0_open_btn_locator} | |
102 | +##### EOF - TMP ##### | |
103 | +# run keyword if ${award_num} == 1 or ${award_num} == -1 click visible element ${qualification_form_1_open_btn_locator} | |
104 | + | |
105 | +copy file qualification | |
106 | + [Arguments] ${username} ${document} ${award_num} | |
107 | + [Documentation] Завантажити документ, який знаходиться по шляху document до | |
108 | + ... постачальника під номером award_num для тендера tender_uaid. | |
109 | + | |
110 | + ## copy file to another dir to prevent it deleting | |
111 | + ${new_doc_name} = Replace String ${document} /tmp/ /tmp/playtender/ | |
112 | + Copy File ${document} ${new_doc_name} | |
113 | + Set To Dictionary ${USERS.users['${username}']} qproposal${award_num}_document=${new_doc_name} | |
114 | + | |
115 | +confirm award qualification | |
116 | + [Arguments] ${username} ${award_num} | |
117 | + [Documentation] Перевести постачальника під номером award_num для тендера tender_uaid | |
118 | + ... в статус active. | |
119 | + | |
120 | +# wait until popup is visible | |
121 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
122 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
123 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
124 | +# ${doc_isset}= GetDictionaryKeyExist ${USERS.users['${username}']} qproposal${award_num}_document | |
125 | +# ${doc_name}= Run Keyword If ${doc_isset} GetValueFromDictionaryByKey ${USERS.users['${username}']} qproposal${award_num}_document | |
126 | +# ... ELSE create_fake_doc | |
127 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | |
128 | +# Execute Javascript ${qualification_form_accept_input_locator} | |
129 | + Execute Javascript $('#qualificationform-decision').val('accept').change() | |
130 | +# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | |
131 | + capture page screenshot | |
132 | + run keyword and ignore error wait until page contains element ${qualification_form_eligible_input_locator} | |
133 | + capture page screenshot | |
134 | + run keyword and ignore error click visible element ${qualification_form_eligible_input_locator} | |
135 | + run keyword and ignore error click visible element ${qualification_form_qualified_input_locator} | |
136 | + choose file ${add_file_to_qualification_form_locator} ${file_path} | |
137 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} 60 | |
138 | + wait until element is visible ${qualification_form_add_document_type_input_locator} 60 | |
139 | +# submit current visible popup | |
140 | + | |
141 | + Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content select[id*="-document_type"]:last').val('winningBid').change() | |
142 | + capture page screenshot | |
143 | + click visible element ${qualification_form_add_document_description_btn_locator} | |
144 | + capture page screenshot | |
145 | + wait until element is visible ${qualification_form_add_document_description_input_locator} | |
146 | + input text to exist visible input ${qualification_form_add_document_description_input_locator} test2 | |
147 | + capture page screenshot | |
148 | + click visible element ${qualification_form_add_document_close_description_btn_locator} | |
149 | + capture page screenshot | |
150 | + | |
151 | + run keyword and ignore error click visible element ${qualification_ecp_check_input_locator} | |
152 | + capture page screenshot | |
153 | + run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_form_submit_success_msg} ${qualification_form_submit_btn_locator} | |
154 | + capture page screenshot | |
155 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
156 | +## run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${None} ${qualification_ecp_form_open_locator} | |
157 | + Execute Javascript $('.fancybox-is-open .fancybox-content button.btn.btn-success').click() | |
158 | +# click visible element ${qualification_form_submit_btn_locator} | |
159 | + capture page screenshot | |
160 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
161 | + wait until element is visible ${qualification_ecp_form_open_locator} 60 | |
162 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
163 | + capture page screenshot | |
164 | + run keyword and ignore error Load Sign | |
165 | + capture page screenshot | |
166 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
167 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
168 | + capture page screenshot | |
169 | + run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_after_ecp_form_submit_success_msg} ${None} | |
170 | + capture page screenshot | |
171 | +# Wait Until Page Contains ЕЦП/КЕП успішно накладено на рішення, тепер потрібно підтвердити рішення. 60 | |
172 | +# click visible element xpath=//div[contains(@class, 'jconfirm')]//*[text()='Закрити'] | |
173 | + | |
174 | + | |
175 | +reject award qualification | |
176 | + [Arguments] ${username} ${award_num} | |
177 | + [Documentation] Перевести постачальника під номером award_num для тендера tender_uaid | |
178 | + ... в статус active. | |
179 | + | |
180 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
181 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
182 | +# wait until popup is visible | |
183 | + ${doc_isset} = GetDictionaryKeyExist ${USERS.users['${username}']} qproposal${award_num}_document | |
184 | +# ${doc_name} = Run Keyword If ${doc_isset} GetValueFromDictionaryByKey ${USERS.users['${username}']} qproposal${award_num}_document | |
185 | +# ... ELSE GenerateFakeDocument | |
186 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | |
187 | + Execute Javascript $('#qualificationform-decision').val('decline').change() | |
188 | + capture page screenshot | |
189 | +# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | |
190 | + wait until page contains element ${qualification_form_reasons_cancellation_input_locator} | |
191 | + capture page screenshot | |
192 | + Execute Javascript ${qualification_award_form_title_cancellation_input_locator} | |
193 | + capture page screenshot | |
194 | +# input text to exist visible input ${qualification_form_reasons_cancellation_input_locator} GenerateFakeText | |
195 | + input text to exist visible input ${qualification_form_description_cancellation_input_locator} GenerateFakeText | |
196 | + | |
197 | + choose file ${add_file_to_qualification_form_locator} ${file_path} | |
198 | + wait until element is visible ${qualification_form_add_document_type_input_locator} | |
199 | +# submit current visible popup | |
200 | + | |
201 | + Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('winningBid').change() | |
202 | + capture page screenshot | |
203 | + click visible element ${qualification_form_add_document_description_btn_locator} | |
204 | + wait until element is visible ${qualification_form_add_document_description_input_locator} | |
205 | + input text to exist visible input ${qualification_form_add_document_description_input_locator} test2 | |
206 | + click visible element ${qualification_form_add_document_close_description_btn_locator} | |
207 | + | |
208 | + submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_cancell_success_msg} ${tender_created_checker_element_locator} | |
209 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
210 | + capture page screenshot | |
211 | + run keyword and ignore error Load Sign | |
212 | + capture page screenshot | |
213 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
214 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
215 | + capture page screenshot | |
216 | + run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_after_ecp_form_submit_success_msg} ${None} | |
217 | + capture page screenshot | |
218 | + reload page | |
219 | + | |
220 | +cancel award qualification | |
221 | + [Documentation] Відкрити форму кваліфікації і перевести кваліфікацію під номером qualification_num до тендера | |
222 | + ... tender_uaid в статус cancelled. | |
223 | + | |
224 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
225 | +# Execute Javascript ${qualification_form_cancel_input_locator} | |
226 | + Execute Javascript $('#qualificationform-decision').val('cancel').change() | |
227 | +# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | |
228 | + capture page screenshot | |
229 | + wait until page contains element ${qualification_form_description_cancellation_input_locator} | |
230 | + capture page screenshot | |
231 | + Execute Javascript ${qualification_award_form_title_decline_input_locator} | |
232 | + input text to exist visible input ${qualification_form_description_cancellation_input_locator} GenerateFakeText | |
233 | + capture page screenshot | |
234 | + submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_cancel_success_msg} ${tender_created_checker_element_locator} | |
235 | + | |
236 | +#qualification awawd reporting and negotiotion | |
237 | +confirm award | |
238 | + [Documentation] Перевести постачальника в статус active. | |
239 | + | |
240 | + run keyword and ignore error run keyword if '${mode}' in 'negotiation' Wait Until Page Contains ${award_form_negotiation_submit_success_msg} 60 | |
241 | + run keyword and ignore error run keyword if '${mode}' in 'negotiation' wait until alert is visible ${award_form_negotiation_submit_success_msg} | |
242 | + run keyword and ignore error run keyword if '${mode}' in 'negotiation' close current visible alert | |
243 | + | |
244 | + capture page screenshot | |
245 | + capture page screenshot | |
246 | + wait until page contains element with reloading ${qualification_form_0_open_btn_locator} | |
247 | + click visible element ${qualification_form_0_open_btn_locator} | |
248 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
249 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
250 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
251 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | |
252 | + Execute Javascript $('#qualificationform-decision').val('accept').change() | |
253 | + capture page screenshot | |
254 | + run keyword and ignore error wait until page contains element ${award_form_qualified_input_locator} | |
255 | + capture page screenshot | |
256 | + run keyword and ignore error click visible element ${award_form_qualified_input_locator} | |
257 | + choose file ${add_file_to_qualification_form_locator} ${file_path} | |
258 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} 60 | |
259 | + wait until element is visible ${qualification_form_add_document_type_input_locator} 60 | |
260 | +# submit current visible popup | |
261 | + | |
262 | + Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content select[id*="-document_type"]:last').val('winningBid').change() | |
263 | + capture page screenshot | |
264 | + click visible element ${qualification_form_add_document_description_btn_locator} | |
265 | + capture page screenshot | |
266 | + wait until element is visible ${qualification_form_add_document_description_input_locator} | |
267 | + input text to exist visible input ${qualification_form_add_document_description_input_locator} test2 | |
268 | + capture page screenshot | |
269 | + click visible element ${qualification_form_add_document_close_description_btn_locator} | |
270 | + capture page screenshot | |
271 | + | |
272 | + run keyword and ignore error click visible element ${qualification_ecp_check_input_locator} | |
273 | + capture page screenshot | |
274 | + run keyword and ignore error run keyword if '${mode}' in 'reporting' submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_submit_success_msg} | |
275 | + capture page screenshot | |
276 | + run keyword and ignore error run keyword if '${mode}' in 'reporting' wait until page contains element with reloading ${qualification_form_0_open_btn_locator} | |
277 | + capture page screenshot | |
278 | + run keyword and ignore error run keyword if '${mode}' in 'reporting' click visible element ${qualification_form_0_open_btn_locator} | |
279 | + capture page screenshot | |
280 | + run keyword and ignore error run keyword if '${mode}' in 'reporting' Execute Javascript $('#qualificationform-decision').val('accept').change() | |
281 | + capture page screenshot | |
282 | + run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_form_submit_success_msg} ${qualification_form_submit_btn_locator} | |
283 | + capture page screenshot | |
284 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
285 | +## run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${None} ${qualification_ecp_form_open_locator} | |
286 | + Execute Javascript $('.fancybox-is-open .fancybox-content button.btn.btn-success').click() | |
287 | +# click visible element ${qualification_form_submit_btn_locator} | |
288 | + capture page screenshot | |
289 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
290 | + wait until element is visible ${qualification_ecp_form_open_locator} 60 | |
291 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
292 | + capture page screenshot | |
293 | + run keyword and ignore error Load Sign | |
294 | + capture page screenshot | |
295 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
296 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
297 | + capture page screenshot | |
298 | + run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_after_ecp_form_submit_success_msg} ${None} | |
299 | + capture page screenshot | |
300 | + | |
301 | + | ... | ... |
playtender_qualification_variables.robot
0 → 100644
1 | +*** Variables *** | |
2 | + | |
3 | +#qualification | |
4 | +${prequalification_form_0_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row:nth(1) a[href*="/tender/prequalification"] | |
5 | +${prequalification_form_1_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row:nth(2) a[href*="/tender/prequalification"] | |
6 | +${prequalification_form_2_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row:last a[href*="/tender/prequalification"] | |
7 | +${prequalification_form_approve_open_btn_locator} = jquery=.aside__inner a[href*="/tender/prequalification-approve"] | |
8 | +${prequalification_form_accept_input_locator} = $('#prequalificationform-decision').val('accept').change() | |
9 | +${prequalification_form_decline_input_locator} = $('#prequalificationform-decision').val('decline').change() | |
10 | +${prequalification_form_cancel_input_locator} = $('#prequalificationform-decision').val('cancel').change() | |
11 | +${prequalification_form_eligible_input_locator} = jquery=#prequalificationform-eligible | |
12 | +${prequalification_form_qualified_input_locator} = jquery=#prequalificationform-qualified | |
13 | +${qualification_form_reasons_cancellation_input_locator} = jquery=.fancybox-is-open .select2-search__field | |
14 | +${prequalification_form_title_cancellation_input_locator} = $('#prequalificationform-title').val('Тендерна пропозиція не відповідає вимогам тендерної документації').change() | |
15 | +${prequalification_form_description_cancellation_input_locator} = jquery=#prequalificationform-description | |
16 | + | |
17 | +${qualification_form_submit_success_msg} = Пропозиція прийнята | |
18 | +${qualification_form_decline_success_msg} = Пропозиція відхилена | |
19 | +${qualification_form_cancel_success_msg} = Рішення скасоване | |
20 | +${qualification_form_cancell_success_msg} = Рішення завантажене, тепер потрібно накласти ЕЦП/КЕП. | |
21 | +${qualification_form_approve_question_msg} = Ви впевнені що бажаєте завершити прекваліфікацію і перейти до наступного етапу? | |
22 | +${qualification_form_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success | |
23 | +${qualification_form_approve_submit_btn_locator} = jquery=.jconfirm-box-container .btn.btn-default | |
24 | +${qualification_form_approve_success_msg} = Прекваліфікація підтверджена, дочекайтесь опублікування на сайті уповноваженого органу. | |
25 | +${qualification_form_approve_js_submit_btn_locator} = $('.jconfirm-box-container .btn.btn-default').click() | |
26 | + | |
27 | +${qualification_form_0_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row a[href*="/tender/qualification"] | |
28 | +${qualification_form_1_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row:last a[href*="/tender/qualification"] | |
29 | +${qualification_form_eligible_input_locator} = jquery=#qualificationform-eligible | |
30 | +${qualification_form_qualified_input_locator} = jquery=#qualificationform-qualified | |
31 | +${qualification_award_form_submit_success_msg} = Рішення завантажене, тепер потрібно накласти ЕЦП/КЕП. | |
32 | +${qualification_award_after_ecp_form_submit_success_msg} = Рішення підтверджене, очікує опублікування на сайті уповноваженого органу. | |
33 | +${qualification_ecp_form_submit_success_msg} = ЕЦП/КЕП успішно накладено | |
34 | +#${qualification_ecp_form_submit_success_msg} = ЕЦП/КЕП успішно накладено на рішення, тепер потрібно підтвердити рішення. | |
35 | +${qualification_ecp_form_open_locator} = jquery=.modal.modal-xs.fancybox-content | |
36 | +${qualification_ecp_check_input_locator} = jquery=input[id$="form-signing"] | |
37 | +${qualification_award_form_title_cancellation_input_locator} = $('#qualificationform-title').val('Тендерна пропозиція не відповідає вимогам тендерної документації').change() | |
38 | +${qualification_award_form_title_decline_input_locator} = $('#qualificationform-title').val('Переможець відмовився від підписання договору про закупівлю відповідно до вимог тендерної документації або укладення договору про закупівлю').change() | |
39 | +${qualification_form_description_cancellation_input_locator} = jquery=#qualificationform-description | |
40 | +${qualification_form_approve_open_btn_locator} = jquery=.aside__inner a[href*="/tender/qualification-approve"] | |
41 | +${qualification_form_accept_input_locator} = $('#qualificationform-decision').val('accept').change() | |
42 | +${qualification_form_decline_input_locator} = $('#qualificationform-decision').val('decline').change() | |
43 | +${add_file_to_qualification_form_locator} = jquery=.field-qualificationform-documents .js-upload-documents input[type$="file"]:first | |
44 | +${qualification_form_cancel_input_locator} = $('#qualificationform-decision').val('cancel').change() | |
45 | +${qualification_form_add_document_type_input_locator} = jquery=.js-dynamic-form-content-item:last .document-type select[id*="-document_type"] | |
46 | +${qualification_form_add_document_description_btn_locator} = jquery=.js-dynamic-form-content-item:last [href$="#edit"]:last | |
47 | +${qualification_form_add_document_description_input_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in textarea[id*="-description"].form-control | |
48 | +${qualification_form_add_document_close_description_btn_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in [href$="#close"] | |
49 | + | |
50 | +#award reporting and negotiotion | |
51 | +${award_form_qualified_input_locator} = jquery=#qualificationform-qualified | |
52 | +${award_form_negotiation_submit_success_msg} = Інформація о постачальниках успішно онвлена. | |
53 | + | ... | ... |
... | ... | @@ -10,38 +10,37 @@ add question |
10 | 10 | [Documentation] Створити запитання з question в описі для тендера tender_uaid. |
11 | 11 | |
12 | 12 | click visible element ${question_form_open_btn_locator} |
13 | - capture page screenshot | |
14 | 13 | click visible element ${question_form_open_create_btn_locator} |
15 | - | |
16 | -# click visible element jquery=#tender-part-pjax a[href*="/tender/question-create"]:first | |
17 | - capture page screenshot | |
14 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
15 | + wait until element is visible ${question_form_create_questionform_title_input_locator} 60 | |
18 | 16 | wait until popup is visible |
19 | 17 | # input text to exist visible input ${question_form_open_form_answer_input_locator} ${question.data.answer} |
20 | 18 | Run Keyword If '${type}' == 'tender' Select From List By Label ${question_form_create_questionform_related_of_input_locator} Закупівля |
21 | 19 | Run Keyword If '${type}' == 'lot' Select From List By Label ${question_form_create_questionform_related_of_input_locator} Лот |
22 | - Run Keyword If '${type}' == 'lot' Click Element ${question_form_create_questionform_related_lot_input_locator} | |
20 | + Run Keyword If '${type}' == 'lot' run keyword and ignore error Click Element ${question_form_create_questionform_related_lot_input_locator} | |
23 | 21 | ${question_form_create_questionform_related_lot_input_locator} = Run Keyword If '${type}' == 'lot' replace string ${question_form_create_questionform_related_lot_input_locator_tpl} %type_id% ${type_id} |
24 | - Run Keyword If '${type}' == 'lot' Click Element ${question_form_create_questionform_related_lot_input_locator} | |
22 | + Run Keyword If '${type}' == 'lot' run keyword and ignore error Click Element ${question_form_create_questionform_related_lot_input_locator} | |
25 | 23 | Run Keyword If '${type}' == 'item' Select From List By Label ${question_form_create_questionform_related_of_input_locator} Предмет закупівлі |
26 | - Run Keyword If '${type}' == 'item' Click Element ${question_form_create_questionform_related_item_input_locator} | |
24 | + Run Keyword If '${type}' == 'item' run keyword and ignore error Click Element ${question_form_create_questionform_related_item_input_locator} | |
27 | 25 | ${question_form_create_questionform_related_item_input_locator} = Run Keyword If '${type}' == 'item' replace string ${question_form_create_questionform_related_item_input_locator_tpl} %type_id% ${type_id} |
28 | - Run Keyword If '${type}' == 'item' Click Element ${question_questionform_related_item_input_locator} | |
26 | + Run Keyword If '${type}' == 'item' run keyword and ignore error Click Element ${question_questionform_related_item_input_locator} | |
29 | 27 | input text to exist visible input ${question_form_create_questionform_title_input_locator} ${question.data.title} |
30 | 28 | input text to exist visible input ${question_form_create_questionform_description_input_locator} ${question.data.description} |
31 | - click visible element ${question_form_answer_submit_btn_locator} | |
29 | + submit form and check result ${question_form_answer_submit_btn_locator} ${question_form_submit_success_msg} ${tender_created_checker_element_locator} | |
30 | +# click visible element ${question_form_answer_submit_btn_locator} | |
32 | 31 | wait until page does not contain element with reloading ${tender_sync_element_locator} |
33 | 32 | |
34 | 33 | answer question |
35 | 34 | [Arguments] ${answer_data} ${question_id} |
36 | 35 | [Documentation] Дати відповідь answer_data на запитання з question_id в описі для тендера tender_uaid. |
37 | 36 | |
38 | - run keyword and ignore error save tender form and wait synchronization | |
39 | 37 | click visible element ${question_form_open_btn_locator} |
40 | 38 | ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} |
41 | 39 | wait until page contains element with reloading ${question_open_form_answer_locator} |
42 | 40 | ${question_form_open_form_answer_btn_locator} = replace string ${question_form_open_form_answer_btn_locator_tpl} %title% ${question_id} |
43 | 41 | click visible element ${question_form_open_form_answer_btn_locator} |
44 | - wait until popup is visible | |
42 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
43 | + wait until element is visible ${question_form_open_form_answer_input_locator} 60 | |
45 | 44 | input text to exist visible input ${question_form_open_form_answer_input_locator} ${answer_data.data.answer} |
46 | 45 | submit form and check result ${question_form_answer_submit_btn_locator} ${question_form_submit_answer_success_msg} ${tender_created_checker_element_locator} |
47 | 46 | |
... | ... | @@ -52,11 +51,9 @@ get question information |
52 | 51 | |
53 | 52 | capture page screenshot |
54 | 53 | run keyword and ignore error save tender form and wait synchronization |
55 | - capture page screenshot | |
56 | 54 | click visible element ${question_form_open_btn_locator} |
57 | 55 | ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} |
58 | 56 | wait until page contains element with reloading ${question_open_form_answer_locator} |
59 | - capture page screenshot | |
60 | 57 | ${question_title_value_locator} = Run Keyword If 'title' == '${field_name}' replace string ${question_title_value_locator_tpl} %title% ${question_id} |
61 | 58 | ${question_answer_value_locator} = Run Keyword If 'answer' == '${field_name}' replace string ${question_answer_value_locator_tpl} %title% ${question_id} |
62 | 59 | ${question_description_value_locator} = Run Keyword If 'description' == '${field_name}' replace string ${question_description_value_locator_tpl} %title% ${question_id} | ... | ... |
... | ... | @@ -24,3 +24,5 @@ ${question_answer_value_locator_tpl} = jquery=#tend |
24 | 24 | ${question_title_value_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] h4.callout__title |
25 | 25 | ${question_description_value_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] .info-row.description span.value |
26 | 26 | |
27 | +${popup_locator} = jquery=.fancybox-is-open .fancybox-slide--current .fancybox-content | |
28 | + | ... | ... |
1 | 1 | # -*- coding: utf-8 - |
2 | 2 | import re |
3 | 3 | import copy |
4 | +import urllib | |
5 | +import urllib3 | |
4 | 6 | |
5 | 7 | import dateutil.parser |
6 | 8 | from iso8601 import parse_date |
7 | 9 | from robot.libraries.BuiltIn import BuiltIn |
10 | +from datetime import datetime, timedelta | |
11 | +import pytz | |
8 | 12 | |
13 | +TZ = pytz.timezone('Europe/Kiev') | |
9 | 14 | |
10 | 15 | def get_library(): |
11 | 16 | return BuiltIn().get_library_instance('Selenium2Library') |
... | ... | @@ -331,3 +336,16 @@ def set_value_minimalStepPercentage(value): |
331 | 336 | def convert_esco__float_to_string(number): |
332 | 337 | return '{0:.5f}'.format(float(number)) |
333 | 338 | |
339 | +def convert_string_to_float(number): | |
340 | + return float(number) | |
341 | + | |
342 | +def download_file(url, file_name, output_dir): | |
343 | + urllib.urlretrieve(url, ('{}/{}'.format(output_dir, file_name))) | |
344 | + | |
345 | +def parse_complaintPeriod_date(date_string): | |
346 | + date_str = datetime.strptime(date_string, "%d.%m.%Y %H:%M") | |
347 | + date_str -= timedelta(minutes=5) | |
348 | + date = datetime(date_str.year, date_str.month, date_str.day, date_str.hour, date_str.minute, date_str.second, | |
349 | + date_str.microsecond) | |
350 | + date = TZ.localize(date).isoformat() | |
351 | + return date | ... | ... |
... | ... | @@ -143,7 +143,9 @@ fill tender general info |
143 | 143 | ${cause} = get from dictionary by keys ${data} cause |
144 | 144 | run keyword if condition is not none ${cause} select from visible list by value ${tender_form_general_cause_input_locator} ${cause} |
145 | 145 | ${cause_description} = get from dictionary by keys ${data} causeDescription |
146 | - run keyword if condition is not none ${cause_description} input text to visible input ${tender_form_general_cause_description_input_locator} ${description} | |
146 | + run keyword if condition is not none ${cause_description} input text to visible input ${tender_form_general_cause_description_input_locator} ${cause_description} | |
147 | +#complaints | |
148 | + Run Keyword If '${SUITE_NAME}' == 'Tests Files.Complaints' click visible element ${tender_form_auction_skip_mode_input_locator} | |
147 | 149 | submit current visible popup |
148 | 150 | |
149 | 151 | fill tender form items |
... | ... | @@ -217,7 +219,8 @@ fill tender form features |
217 | 219 | click visible element ${add_btn_locator} |
218 | 220 | wait until popup is visible |
219 | 221 | :FOR ${feature_attributes} IN @{feature_attributes_array} |
220 | - \ click visible element ${tender_form_features_panel_edit_btn_locator} | |
222 | +# \ click visible element ${tender_form_features_panel_edit_btn_locator} | |
223 | + \ execute javascript ${tender_form_features_panel_edit_btn_locator} | |
221 | 224 | \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator} |
222 | 225 | \ fill feature form in opened popup ${feature_attributes} |
223 | 226 | submit current visible popup |
... | ... | @@ -335,8 +338,11 @@ fill tender required documents |
335 | 338 | |
336 | 339 | fill tender from award reporting |
337 | 340 | [Arguments] ${budget} ${award_attributes_array} |
338 | - [Documentation] заповнення номенклатури тендеру | |
341 | + [Documentation] заповнення переможця reporting тендеру | |
339 | 342 | |
343 | + run keyword and ignore error click visible element ${tender_form_general_panel_update_award_negotiation_btn_locator} | |
344 | + run keyword and ignore error Run Keyword If "${TEST_NAME}" == "Можливість створити переговорну процедуру" click visible element ${tender_form_general_panel_add_award_negotiation_btn_locator} | |
345 | + run keyword and ignore error wait until popup is visible | |
340 | 346 | run keyword and ignore error click visible element ${tender_form_general_panel_update_award_reporting_btn_locator} |
341 | 347 | wait until popup is visible |
342 | 348 | fill award reporting form in opened popup ${budget} ${award_attributes_array} |
... | ... | @@ -394,12 +400,48 @@ add document in lot |
394 | 400 | [Arguments] ${filepath} ${lot_id} |
395 | 401 | [Documentation] Завантажити в лот (з ідентіфікатором ${lot_id}) документ, який знаходиться по шляху filepath. |
396 | 402 | |
397 | - capture page screenshot | |
398 | 403 | ${open_form_add_doc_lot_btn_locator} = replace string ${tender_form_lot_panel_add_document_btn_locator_tpl} %lot_id% ${lot_id} |
399 | - capture page screenshot | |
400 | - click visible element and wait until page contains element ${open_form_add_doc_lot_btn_locator} jquery=.modal.modal-form.js-form-popup.fancybox-content | |
401 | - capture page screenshot | |
404 | + click visible element and wait until page contains element ${open_form_add_doc_lot_btn_locator} jquery=.modal.modal-form.js-form-popup.fancybox-content | |
402 | 405 | choose file ${add_file_to_form_locator} ${filepath} |
403 | 406 | wait until page does not contain element ${popup_dynamic_form_loading_element_locator} |
404 | 407 | submit current visible popup |
405 | 408 | |
409 | +confirm-stage2 | |
410 | + [Documentation] Перевести тендер tender_uaid в статус active.stage2.waiting. | |
411 | + | |
412 | + Wait Until Keyword Succeeds 300 s 20 s Wait For stage2button | |
413 | + click visible element ${tender_stage2_open_btn_locator} | |
414 | + Wait Until Page Contains ${tender_stage2_submit_success_msg} 60 | |
415 | +# click visible element ${tender_stage2_submit_success_btn_locator} | |
416 | +# submit form and check result ${tender_stage2_submit_success_btn_locator} ${tender_stage2_submit_alert_success_msg} ${tender_created_checker_element_locator} | |
417 | + execute javascript ${tender_stage2_submit_js_success_btn_locator} | |
418 | + Wait Until Page Contains ${tender_stage2_submit_alert_success_msg} 60 | |
419 | + wait until alert is visible ${tender_stage2_submit_alert_success_msg} | |
420 | + run keyword and ignore error close current visible alert | |
421 | + | |
422 | + | |
423 | +activate stage 2 | |
424 | + [Documentation] Перевести тендер tender_uaid в статус active.tendering. | |
425 | + | |
426 | + open popup by btn locator ${tender_form_general_panel_edit_btn_locator} | |
427 | + ${tender_end_date} = Get Current Date increment=00:25:00 result_format=%Y-%m-%dT%H:%M:%S.%f%z+02:00 | |
428 | +# ${tender_end_date} = Get Current Date increment=00:25:00 result_format=%d.%m.%Y %H:%M | |
429 | + input datetime to visible input ${tender_tender_period_end_date_input_locator} ${tender_end_date} | |
430 | + capture page screenshot | |
431 | + click visible element ${tender_form_general_panel_draft_mode_input_locator} | |
432 | + capture page screenshot | |
433 | + submit current visible popup | |
434 | + capture page screenshot | |
435 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | |
436 | + click visible element ${tender_form_general_panel_document_stage2_input_locator} | |
437 | + choose file ${add_file_to_form_locator} ${file_path} | |
438 | + wait until element is visible ${stage2_form_add_document_type_input_locator} | |
439 | + click visible element ${stage2_form_add_document_description_btn_locator} | |
440 | + capture page screenshot | |
441 | + wait until element is visible ${stage2_form_add_document_description_input_locator} | |
442 | + input text to exist visible input ${stage2_form_add_document_description_input_locator} test2 | |
443 | + click visible element ${stage2_form_add_document_close_description_btn_locator} | |
444 | + capture page screenshot | |
445 | + submit current visible popup | |
446 | + | |
447 | + | ... | ... |
... | ... | @@ -81,6 +81,7 @@ ${tender_enquiry_period_end_date_input_locator} = jquery=[id$= |
81 | 81 | ${tender_tender_period_start_date_input_locator} = jquery=[id$="form-tender_period_start_date"] |
82 | 82 | ${tender_tender_period_end_date_input_locator} = jquery=[id$="form-tender_period_end_date"] |
83 | 83 | ${tender_tender_quick_mode_locator} = jquery=[id$="form-quick_mode"] |
84 | + | |
84 | 85 | #esco |
85 | 86 | ${tender_form_general_funding_kind_input_locator} = id=tenderescoform-funding_kind |
86 | 87 | ${tender_form_general_nbu_discount_rate_input_locator} = id=tenderescoform-nbu_discount_rate |
... | ... | @@ -95,8 +96,12 @@ ${tender_form_general_agreement_duration_days_input_locator} = jquery=[id$= |
95 | 96 | ${tender_form_general_cause_input_locator} = jquery=[id$="form-cause"] |
96 | 97 | ${tender_form_general_cause_description_input_locator} = jquery=[id$="form-cause_description"] |
97 | 98 | |
99 | +#Tests Files.Complaints | |
100 | +${tender_form_auction_skip_mode_input_locator} = jquery=input[id$="form-auction_skip_mode"] | |
101 | + | |
98 | 102 | ${tender_form_general_panel_add_feature_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="features"] |
99 | -${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] | |
103 | +${tender_form_features_panel_edit_btn_locator} = $('.fancybox-content [href$="#add-features"]').trigger("click") | |
104 | +#${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] | |
100 | 105 | ${feature_form_popup_title_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title"]:first |
101 | 106 | ${feature_form_popup_description_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-description"]:first |
102 | 107 | ${feature_form_popup_title_en_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title_en"]:first |
... | ... | @@ -198,28 +203,36 @@ ${tender_milestones_2_duration_days_value_type} = integer |
198 | 203 | ${tender_milestones_2_duration_type_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.duration_type |
199 | 204 | ${tender_value_amount_value_locator} = jquery=#tender-general-info .budget-amount.hidden |
200 | 205 | ${tender_value_amount_value_type} = float |
201 | -${tender_value_currency_value_locator} = jquery= | |
202 | -${tender_value_valueAddedTaxIncluded_value_locator} = jquery= | |
206 | +${tender_value_currency_value_locator} = jquery=#tender-general-info .budget-currency.hidden | |
207 | +${tender_value_valueAddedTaxIncluded_value_locator} = jquery=#tender-general-info .budget-tax-included.hidden | |
203 | 208 | ${tender_minimalStep_amount_value_locator} = jquery=#tender-general-info .minimal-step-source.hidden |
204 | 209 | ${tender_minimalStep_amount_value_type} = float |
210 | +${tender_minimalStepPercentage_value_locator} = jquery=#tender-general-info .minimal-step-percentage-source.hidden | |
211 | +${tender_fundingKind_value_locator} = jquery=#tender-general-info .funding-kind-source.hidden | |
212 | +${tender_yearlyPaymentsPercentageRange_value_locator} = jquery=#tender-general-info .yearly-payments-percentage-range-source.hidden | |
205 | 213 | ${tender_procuringEntity_name_value_locator} = jquery=#tender-part-pjax .info-row.organization span.value > span |
206 | 214 | ${tender_enquiryPeriod_startDate_value_locator} = jquery=#tender-part-pjax .info-row.enquiry-period-start-date.hidden |
207 | 215 | ${tender_enquiryPeriod_endDate_value_locator} = jquery=#tender-part-pjax .info-row.enquiry-period-end-date.hidden |
208 | 216 | ${tender_tenderPeriod_startDate_value_locator} = jquery=#tender-part-pjax .info-row.tender-period-start-date.hidden |
209 | 217 | ${tender_tenderPeriod_endDate_value_locator} = jquery=#tender-part-pjax .info-row.tender-period-end-date.hidden |
218 | +${tender_qualificationPeriod_endDate_value_locator} = jquery=#tender-general-info .prequalification-period .value .end-date | |
219 | +#negotiation | |
220 | +${tender_cause_value_locator} = jquery=#tender-general-info .cause-source.hidden | |
221 | +${tender_causeDescription_value_locator} = jquery=#tender-general-info .cause-description .value | |
210 | 222 | |
211 | -${tender_items_0_description_value_locator} = jquery=#tender-part-pjax .info-row.tender-period-end-date.hidden | |
223 | +${tender_items_0_description_value_locator} = jquery=#tender-part-pjax .tabs__pane--visible .pseudo-table .item-item-wrapper .textvalue.hidden | |
212 | 224 | |
213 | 225 | #lots |
214 | 226 | ${tender_lot_switch_tabs_lot_btn_locator_tpl} jquery=#lots .tabs__list .tabs__item span.tabs__tab-big-text:contains("%lot_id%") |
215 | 227 | ${tender_lot_1_tabs_item_btn_locator} jquery=#lots .tabs__item:first > a |
216 | 228 | ${tender_lot_title_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue:first |
217 | -${tender_lot_description_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue.hidden | |
229 | +${tender_lot_description_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue:last | |
230 | +#${tender_lot_description_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible #text-modal-description div.textvalue | |
218 | 231 | ${tender_lot_value_amount_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden |
219 | 232 | ${tender_lot_value_amount_value_type} = float |
220 | -${tender_lot_value_currency_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
233 | +${tender_lot_value_currency_value_locator} = jquery=#tender-general-info .budget-currency.hidden | |
221 | 234 | ${tender_lot_value_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden |
222 | -${tender_lot_minimal_step_amount_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
235 | +${tender_lot_minimal_step_amount_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .minimal-step-source.hidden | |
223 | 236 | ${tender_lot_minimal_step_amount_value_type} = float |
224 | 237 | ${tender_lot_minimal_step_amount_currency_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden |
225 | 238 | ${tender_lot_minimal_step_amount_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden |
... | ... | @@ -239,7 +252,8 @@ ${tender_form_lots_edit_lot1_btn_locator} = jquery=#Lots |
239 | 252 | ${tender_form_lots_add_item_btn_locator} = jquery=#Lots #collapseLots #Lots0 .actions-wrapper a.js-form-popup-add |
240 | 253 | ${tender_form_lots_remove_item_btn_locator_tpl} = jquery=#collapseLots0 .js-form-popup-panel[data-title*="%item_id%"] .actions-wrapper .js-form-popup-remove |
241 | 254 | ${tender_lots_remove_item_form_submit_success_msg} = Ви дійсно бажаєте видалити цей елемент? |
242 | -${not_alert_opened_close_btn_locator} = jquery=.animated-content .js-btn-confirm | |
255 | +#${not_alert_opened_close_btn_locator} = jquery=.animated-content .js-btn-confirm | |
256 | +${not_alert_opened_close_btn_locator} = $('.animated-content .js-btn-confirm').trigger("click") | |
243 | 257 | ${tender_form_lots_add_item_reporting_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last #Items0 .js-form-popup-update |
244 | 258 | ##### EOF - TMP ##### |
245 | 259 | |
... | ... | @@ -249,6 +263,8 @@ ${tender_item_2_tabs_item_btn_locator} jquery=.tabs |
249 | 263 | ${tender_item_3_tabs_item_btn_locator} jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(2) |
250 | 264 | |
251 | 265 | ${tender_form_general_panel_update_award_reporting_btn_locator} = jquery=#Award .js-form-popup-update |
266 | +${tender_form_general_panel_update_award_negotiation_btn_locator} = jquery=.js-form-popup-panel [data-attribute="awards"] .actions-wrapper .js-form-popup-update | |
267 | +${tender_form_general_panel_add_award_negotiation_btn_locator} = jquery=.modal.modal-form [href="#add-awards"] | |
252 | 268 | |
253 | 269 | #add\remove feature |
254 | 270 | #${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] |
... | ... | @@ -261,7 +277,8 @@ ${tender_feature_form_submit_success_msg} = Ви впеР|
261 | 277 | ${tender_feature_dell_submit_btn_locator} = jquery=.animated-content .js-btn-confirm |
262 | 278 | |
263 | 279 | ${tender_form_general_tender_plan_id_locator} = jquery=[id$="form-plan_id"] |
264 | -${tender_feature_switch_dell_btn_locator_tpl} = jquery=.fancybox-is-open .nav.nav-pills.js-nav.allow-empty li[data-title*="%feature_id%"] a[href*="#features"] | |
280 | +#${tender_feature_switch_dell_btn_locator_tpl} = jquery=.fancybox-is-open .nav.nav-pills.js-nav.allow-empty li[data-title*="%feature_id%"] a[href*="#features"] | |
281 | +${tender_feature_switch_dell_btn_locator_tpl} = $('.fancybox-is-open .nav.nav-pills.js-nav.allow-empty li[data-title*="%feature_id%"] a[href*="#features"]').click() | |
265 | 282 | |
266 | 283 | #award reporting |
267 | 284 | ${tender_form_award_organization_name_locator} = jquery=[id$="-award_organization_name"] |
... | ... | @@ -276,4 +293,23 @@ ${tender_form_award_organization_contact_point_email_locator} = jquery=[id$= |
276 | 293 | ${tender_form_award_organization_contact_point_phone_locator} = jquery=[id$="-award_organization_contact_point_phone"] |
277 | 294 | ${tender_form_award_budget_locator} = jquery=[id$="-award_value_amount"] |
278 | 295 | |
296 | +#stage2button | |
297 | +${tender_stage2_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/confirm-stage2"] | |
298 | +${tender_stage2_submit_success_msg} = Ви впевнені що бажаєте підтвердити готовність переходу до другого етапу? | |
299 | +${tender_stage2_submit_success_btn_locator} = jquery=.jconfirm-box.animated-content .js-btn-confirm | |
300 | +${tender_stage2_submit_js_success_btn_locator} = $('.jconfirm-box.animated-content .js-btn-confirm').click() | |
301 | +${tender_stage2_submit_alert_success_msg} = Підтвердження успішно надане. | |
302 | +#search | |
303 | +${tender_form_search_btn_locator} = jquery=#DymamicSearch .dynamic-search-submit .js-submit-btn | |
304 | + | |
305 | +${popup_opened_content_success_locator} = Відмінити | |
306 | +${tender_form_general_panel_edit_btn_locator} = jquery=#General #headingGeneral .actions-wrapper .js-form-popup-update | |
307 | +${tender_form_general_panel_draft_mode_input_locator} = jquery=[id*="-draft_mode"] | |
308 | +${tender_form_general_panel_document_stage2_input_locator} = jquery=#collapseGeneral .actions-wrapper .js-btn-add-form-popup-panel[data-attribute="documents"] | |
309 | +${stage2_form_add_document_type_input_locator} = jquery=.js-dynamic-form-content-item:last .document-type select[id*="-document_type"] | |
310 | +${stage2_form_add_document_description_btn_locator} = jquery=.js-dynamic-form-content-item:last [href$="#edit"]:last | |
311 | +${stage2_form_add_document_description_input_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in textarea[id*="-description"].form-control | |
312 | +${stage2_form_add_document_close_description_btn_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in [href$="#close"] | |
313 | + | |
314 | + | |
279 | 315 | ... | ... |
... | ... | @@ -14,9 +14,12 @@ get value from features |
14 | 14 | [Arguments] ${feature_id} ${field_name} |
15 | 15 | [Documentation] Отримати значення поля field_name з нецінового показника з feature_id в описі для тендера tender_uaid. |
16 | 16 | |
17 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | |
18 | + ${tender_features_new_value_locator} = replace string ${tender_features_new_value_locator_tpl} %feature_id% ${feature_id} | |
19 | + wait until page contains element with reloading ${tender_features_new_value_locator} | |
17 | 20 | ${return_value} = Run Keyword If 'title' == '${field_name}' Отримати інформацію із нецінового показника title ${feature_id} |
18 | 21 | ... ELSE IF 'description' == '${field_name}' Отримати інформацію із нецінового показника description ${feature_id} |
19 | - ... ELSE IF 'featureOf' == '${field_name}' Отримати інформацію із нецінового показника featureOf ${feature_id]} | |
22 | + ... ELSE IF 'featureOf' == '${field_name}' Отримати інформацію із нецінового показника featureOf ${feature_id} | |
20 | 23 | [return] ${return_value} |
21 | 24 | |
22 | 25 | Отримати інформацію із нецінового показника title |
... | ... | @@ -32,7 +35,7 @@ get value from features |
32 | 35 | [Documentation] Отримати значення поля description з нецінового показника з feature_id в описі для тендера tender_uaid. |
33 | 36 | |
34 | 37 | ${tender_features_description_value_locator} = replace string ${tender_features_description_value_locator_tpl} %feature_id% ${feature_id} |
35 | - ${return_value} = get text ${tender_features_title_value_locator} | |
38 | + ${return_value} = get value by locator on opened page ${tender_features_description_value_locator} | |
36 | 39 | [return] ${return_value} |
37 | 40 | |
38 | 41 | Отримати інформацію із нецінового показника featureOf |
... | ... | @@ -40,7 +43,7 @@ get value from features |
40 | 43 | [Documentation] Отримати значення поля featureOf з нецінового показника з feature_id в описі для тендера tender_uaid. |
41 | 44 | |
42 | 45 | ${tender_features_featureof_value_locator} = replace string ${tender_features_featureof_value_locator_tpl} %feature_id% ${feature_id} |
43 | - ${return_value} = get text ${tender_features_title_value_locator} | |
46 | + ${return_value} = get value by locator on opened page ${tender_features_featureof_value_locator} | |
44 | 47 | [return] ${return_value} |
45 | 48 | |
46 | 49 | |
... | ... | @@ -51,6 +54,9 @@ get value from item |
51 | 54 | # ${return_value} = Run Keyword If 'title' == '${field_name}' Отримати інформацію із предмету title ${item_id} |
52 | 55 | # ... ELSE IF 'description' == '${field_name}' Отримати інформацію із предмету description ${item_id} |
53 | 56 | # ... ELSE IF 'featureOf' == '${field_name}' Отримати інформацію із предмету featureOf ${item_id]} |
57 | + ${tender_items_new_value_locator} = replace string ${tender_items_new_value_locator_tpl} %item_id% ${item_id} | |
58 | + wait until page contains element with reloading ${tender_items_new_value_locator} | |
59 | + log many ${item_id} | |
54 | 60 | Run Keyword And Return If 'description' == '${field_name}' Отримати інформацію із предмету description ${item_id} |
55 | 61 | Run Keyword And Return If 'deliveryDate.startDate' == '${field_name}' Отримати інформацію із предмету deliveryDate.startDate ${item_id} |
56 | 62 | Run Keyword And Return If 'deliveryDate.endDate' == '${field_name}' Отримати інформацію із предмету deliveryDate.endDate ${item_id} |
... | ... | @@ -75,7 +81,9 @@ get value from item |
75 | 81 | [Arguments] ${item_id} |
76 | 82 | [Documentation] Отримати значення поля description з предмету з item_id в описі для тендера tender_uaid. |
77 | 83 | |
78 | - ${tender_items_description_value_locator} = replace string ${tender_items_description_value_locator_tpl} %item_id% ${item_id} | |
84 | + log many ${item_id} | |
85 | + ${tender_items_description_value_locator} = run keyword if ${number_of_lots} > 0 replace string ${tender_items_description_value_locator_tpl} %item_id% ${item_id} | |
86 | + ... ELSE replace string ${tender_items_no_lot_description_value_locator_tpl} %item_id% ${item_id} | |
79 | 87 | ${return_value} = get value by locator on opened page ${tender_items_description_value_locator} |
80 | 88 | [return] ${return_value} |
81 | 89 | |
... | ... | @@ -91,7 +99,7 @@ get value from item |
91 | 99 | [Arguments] ${item_id} |
92 | 100 | [Documentation] Отримати значення поля deliveryDate.endDate з предмету з item_id в описі для тендера tender_uaid. |
93 | 101 | |
94 | - ${tender_items_delivery_end_date_value_locator} = replace string ${tender_features_featureof_value_locator_tpl} %item_id% ${item_id} | |
102 | + ${tender_items_delivery_end_date_value_locator} = replace string ${tender_items_delivery_end_date_value_locator_tpl} %item_id% ${item_id} | |
95 | 103 | ${return_value} = get value by locator on opened page ${tender_items_delivery_end_date_value_locator} |
96 | 104 | [return] ${return_value} |
97 | 105 | |
... | ... | @@ -140,7 +148,7 @@ get value from item |
140 | 148 | [Documentation] Отримати значення поля classification.scheme з предмету з item_id в описі для тендера tender_uaid. |
141 | 149 | |
142 | 150 | ${tender_items_classification_scheme_value_locator} = replace string ${tender_items_classification_scheme_value_locator_tpl} %item_id% ${item_id} |
143 | - ${return_value} = get value by locator on opened page ${tender_items_classification_scheme_value_locator_tpl} | |
151 | + ${return_value} = get value by locator on opened page ${tender_items_classification_scheme_value_locator} | |
144 | 152 | [return] ${return_value} |
145 | 153 | |
146 | 154 | Отримати інформацію із предмету classification.id |
... | ... | @@ -155,7 +163,7 @@ get value from item |
155 | 163 | [Arguments] ${item_id} |
156 | 164 | [Documentation] Отримати значення поля classification.description з предмету з item_id в описі для тендера tender_uaid. |
157 | 165 | |
158 | - ${tender_items_classification_description_value_locator_tpl} = replace string ${tender_items_classification_description_value_locator_tpl} %item_id% ${item_id} | |
166 | + ${tender_items_classification_description_value_locator} = replace string ${tender_items_classification_description_value_locator_tpl} %item_id% ${item_id} | |
159 | 167 | ${return_value} = get value by locator on opened page ${tender_items_classification_description_value_locator} |
160 | 168 | [return] ${return_value} |
161 | 169 | |
... | ... | @@ -196,7 +204,7 @@ get value from item |
196 | 204 | [Documentation] Отримати значення поля unit.code з предмету з item_id в описі для тендера tender_uaid. |
197 | 205 | |
198 | 206 | ${tender_items_unit_code_value_locator} = replace string ${tender_items_unit_code_value_locator_tpl} %item_id% ${item_id} |
199 | - ${return_value} = get value by locator on opened page ${tender_items_unit_code_value_locator_tpl} | |
207 | + ${return_value} = get value by locator on opened page ${tender_items_unit_code_value_locator} | |
200 | 208 | [return] ${return_value} |
201 | 209 | |
202 | 210 | Отримати інформацію із предмету quantity |
... | ... | @@ -219,18 +227,20 @@ get value from lot |
219 | 227 | Run Keyword And Return If 'value.valueAddedTaxIncluded' == '${field_name}' Отримати інформацію із лоту value.valueAddedTaxIncluded ${lot_id} |
220 | 228 | Run Keyword And Return If 'minimalStep.currency' == '${field_name}' Отримати інформацію із лоту minimalStep.currency ${lot_id} |
221 | 229 | Run Keyword And Return If 'minimalStep.valueAddedTaxIncluded' == '${field_name}' Отримати інформацію із лоту minimalStep.valueAddedTaxIncluded ${lot_id} |
222 | - Run Keyword And Return If 'auctionPeriod.startDate' == '${field_name}' get_invisible_text jquery=#accordionLots .panel-collapse.in .lot-info-wrapper .auction-period-start-date.hidden | |
223 | - Run Keyword And Return If 'auctionPeriod.endDate' == '${field_name}' get_invisible_text jquery=#accordionLots .panel-collapse.in .lot-info-wrapper .auction-period-end-date.hidden | |
224 | - Run Keyword And Return If 'minimalStepPercentage' == '${field_name}' Get invisible text number by locator jquery=#accordionLots .panel-collapse.in .lot-info-wrapper .minimal-step-percentage-source.hidden | |
225 | - Run Keyword And Return If 'fundingKind' == '${field_name}' get_invisible_text jquery=#accordionLots .lot-info-wrapper:first .funding-kind-source.hidden | |
226 | - Run Keyword And Return If 'yearlyPaymentsPercentageRange' == '${field_name}' Get invisible text number by locator jquery=#accordionLots .lot-info-wrapper:first .yearly-payments-percentage-range-source.hidden | |
230 | +# Run Keyword And Return If 'auctionPeriod.startDate' == '${field_name}' get text jquery=#lots .tabs__content .tabs__pane--visible .auction-period .value .start-date | |
231 | + Run Keyword And Return If 'auctionPeriod.startDate' == '${field_name}' Отримати інформацію із лоту auctionPeriod.startDate ${lot_id} | |
232 | + Run Keyword And Return If 'auctionPeriod.endDate' == '${field_name}' Отримати інформацію із лоту auctionPeriod.endDate ${lot_id} | |
233 | +# Run Keyword And Return If 'auctionPeriod.endDate' == '${field_name}' get text jquery=#lots .tabs__content .tabs__pane--visible .auction-period .value .end-date | |
234 | + Run Keyword And Return If 'minimalStepPercentage' == '${field_name}' Отримати інформацію із лоту minimalStepPercentage ${lot_id} | |
235 | + Run Keyword And Return If 'fundingKind' == '${field_name}' Отримати інформацію із лоту fundingKind ${lot_id} | |
236 | + Run Keyword And Return If 'yearlyPaymentsPercentageRange' == '${field_name}' Отримати інформацію із лоту yearlyPaymentsPercentageRange ${lot_id} | |
227 | 237 | |
228 | 238 | |
229 | 239 | Отримати інформацію із лоту title |
230 | 240 | [Arguments] ${lot_id} |
231 | 241 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. |
232 | 242 | |
233 | - ${tender_lot_description_value_locator} = replace string ${tender_lot_description_value_locator_tpl} %lot_id% ${lot_id} | |
243 | +# ${tender_lot_title_value_locator} = replace string ${tender_lot_title_value_locator_tpl} %lot_id% ${lot_id} | |
234 | 244 | ${return_value} = get value by locator on opened page ${tender_lot_title_value_locator} |
235 | 245 | [return] ${return_value} |
236 | 246 | |
... | ... | @@ -238,7 +248,7 @@ get value from lot |
238 | 248 | [Arguments] ${lot_id} |
239 | 249 | [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. |
240 | 250 | |
241 | - ${tender_lot_description_value_locator} = replace string ${tender_lot_description_value_locator_tpl} %lot_id% ${lot_id} | |
251 | +# ${tender_lot_description_value_locator} = replace string ${tender_lot_description_value_locator_tpl} %lot_id% ${lot_id} | |
242 | 252 | ${return_value} = get value by locator on opened page ${tender_lot_description_value_locator} |
243 | 253 | [return] ${return_value} |
244 | 254 | |
... | ... | @@ -246,23 +256,23 @@ get value from lot |
246 | 256 | [Arguments] ${lot_id} |
247 | 257 | [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. |
248 | 258 | |
249 | - ${tender_lot_value_amount_value_locator} = replace string ${tender_lot_value_amount_value_locator_tpl} %lot_id% ${lot_id} | |
250 | - ${return_value} = get value by locator on opened page ${tender_lot_value_amount_value_locator} | |
259 | +# ${tender_lot_value_amount_value_locator} = replace string ${tender_lot_value_amount_value_locator_tpl} %lot_id% ${lot_id} | |
260 | + ${return_value} = get value by locator on opened page ${tender_lot_value_amount_value_locator} ${tender_lot_value_amount_value_type} | |
251 | 261 | [return] ${return_value} |
252 | 262 | |
253 | 263 | Отримати інформацію із лоту minimalStep.amount |
254 | 264 | [Arguments] ${lot_id} |
255 | 265 | [Documentation] Отримати значення поля featureOf з лоту з lot_id в описі для тендера tender_uaid. |
256 | 266 | |
257 | - ${tender_lot_minimal_step_amount_value_locator} = replace string ${tender_lot_minimal_step_amount_value_locator_tpl} %lot_id% ${lot_id} | |
258 | - ${return_value} = get value by locator on opened page ${tender_lot_minimal_step_amount_value_locator} | |
267 | +# ${tender_lot_minimal_step_amount_value_locator} = replace string ${tender_lot_minimal_step_amount_value_locator_tpl} %lot_id% ${lot_id} | |
268 | + ${return_value} = get value by locator on opened page ${tender_lot_minimal_step_amount_value_locator} ${tender_lot_minimal_step_amount_value_type} | |
259 | 269 | [return] ${return_value} |
260 | 270 | |
261 | 271 | Отримати інформацію із лоту value.currency |
262 | 272 | [Arguments] ${lot_id} |
263 | 273 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. |
264 | 274 | |
265 | - ${tender_lot_value_currency_value_locator} = replace string ${tender_lot_value_currency_value_locator_tpl} %lot_id% ${lot_id} | |
275 | +# ${tender_lot_value_currency_value_locator} = replace string ${tender_lot_value_currency_value_locator_tpl} %lot_id% ${lot_id} | |
266 | 276 | ${return_value} = get value by locator on opened page ${tender_lot_value_currency_value_locator} |
267 | 277 | [return] ${return_value} |
268 | 278 | |
... | ... | @@ -270,15 +280,16 @@ get value from lot |
270 | 280 | [Arguments] ${lot_id} |
271 | 281 | [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. |
272 | 282 | |
273 | - ${tender_lot_value_value_added_tax_included_value_locator} = replace string ${tender_lot_value_value_added_tax_included_value_locator_tpl} %lot_id% ${lot_id} | |
283 | +# ${tender_lot_value_value_added_tax_included_value_locator} = replace string ${tender_lot_value_value_added_tax_included_value_locator_tpl} %lot_id% ${lot_id} | |
274 | 284 | ${return_value} = get value by locator on opened page ${tender_lot_value_value_added_tax_included_value_locator} |
285 | + ${return_value} = set variable if ${return_value} == 1 True | |
275 | 286 | [return] ${return_value} |
276 | 287 | |
277 | 288 | Отримати інформацію із лоту minimalStep.currency |
278 | 289 | [Arguments] ${lot_id} |
279 | 290 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. |
280 | 291 | |
281 | - ${tender_lot_minimal_step_currency_value_locator} = replace string ${tender_lot_minimal_step_currency_value_locator_tpl} %lot_id% ${lot_id} | |
292 | +# ${tender_lot_minimal_step_currency_value_locator} = replace string ${tender_lot_minimal_step_currency_value_locator_tpl} %lot_id% ${lot_id} | |
282 | 293 | ${return_value} = get value by locator on opened page ${tender_lot_minimal_step_currency_value_locator} |
283 | 294 | [return] ${return_value} |
284 | 295 | |
... | ... | @@ -286,7 +297,7 @@ get value from lot |
286 | 297 | [Arguments] ${lot_id} |
287 | 298 | [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. |
288 | 299 | |
289 | - ${tender_lot_value_minimal_step_added_tax_included_value_locator} = replace string ${tender_lot_minimal_step_value_added_tax_included_value_locator_tpl} %lot_id% ${lot_id} | |
300 | +# ${tender_lot_value_minimal_step_added_tax_included_value_locator} = replace string ${tender_lot_minimal_step_value_added_tax_included_value_locator_tpl} %lot_id% ${lot_id} | |
290 | 301 | ${return_value} = get value by locator on opened page ${tender_lot_minimal_step_value_added_tax_included_value_locator} |
291 | 302 | [return] ${return_value} |
292 | 303 | |
... | ... | @@ -294,39 +305,237 @@ get value from lot |
294 | 305 | [Arguments] ${lot_id} |
295 | 306 | [Documentation] Отримати значення поля featureOf з лоту з lot_id в описі для тендера tender_uaid. |
296 | 307 | |
297 | - ${tender_lot_delivery_region_id_value_locator} = replace string ${tender_lot_delivery_region_id_value_locator_tpl} %lot_id% ${lot_id} | |
298 | - ${return_value} = get value by locator on opened page ${tender_lot_delivery_region_id_value_locator} | |
308 | +# ${tender_lot_delivery_region_id_value_locator} = replace string ${tender_lot_delivery_region_id_value_locator_tpl} %lot_id% ${lot_id} | |
309 | + ${return_value} = get value by locator on opened page ${tender_auctionPeriod_startDate_value_locator} | |
310 | +# ${return_value} = parse_complaintPeriod_date ${return_value} | |
299 | 311 | [return] ${return_value} |
300 | 312 | |
301 | 313 | Отримати інформацію із лоту auctionPeriod.endDate |
302 | 314 | [Arguments] ${lot_id} |
303 | 315 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. |
304 | 316 | |
305 | - ${tender_lot_delivery_locality_value_locator} = replace string ${tender_lot_delivery_locality_value_locator_tpl} %lot_id% ${lot_id} | |
306 | - ${return_value} = get value by locator on opened page ${tender_lot_delivery_locality_value_locator} | |
317 | +# ${tender_lot_delivery_locality_value_locator} = replace string ${tender_lot_delivery_locality_value_locator_tpl} %lot_id% ${lot_id} | |
318 | + ${return_value} = get value by locator on opened page ${tender_auctionPeriod_endDate_value_locator} | |
307 | 319 | [return] ${return_value} |
308 | 320 | |
309 | 321 | Отримати інформацію із лоту minimalStepPercentage |
310 | 322 | [Arguments] ${lot_id} |
311 | - [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. | |
323 | + [Documentation] Отримати значення поля minimalStepPercentage з лоту з lot_id в описі для тендера tender_uaid. | |
312 | 324 | |
313 | - ${tender_lot_delivery_street_address_value_locator} = replace string ${tender_lot_delivery_street_address_value_locator_tpl} %lot_id% ${lot_id} | |
314 | - ${return_value} = get value by locator on opened page ${tender_lot_delivery_street_address_value_locator} | |
325 | +# ${tender_lot_delivery_street_address_value_locator} = replace string ${tender_lot_delivery_street_address_value_locator_tpl} %lot_id% ${lot_id} | |
326 | +# ${return_value} = get field_value by field_name on opened page ${tender_minimalStepPercentage_value_locator} | |
327 | + ${return_value} = get value by locator on opened page ${tender_minimalStepPercentage_value_locator} | |
328 | + ${return_value} = convert_string_to_float ${return_value} | |
315 | 329 | [return] ${return_value} |
316 | 330 | |
317 | 331 | Отримати інформацію із лоту fundingKind |
318 | 332 | [Arguments] ${lot_id} |
319 | 333 | [Documentation] Отримати значення поля featureOf з лоту з lot_id в описі для тендера tender_uaid. |
320 | 334 | |
321 | - ${tender_lot_classification_scheme_value_locator} = replace string ${tender_lot_classification_scheme_value_locator_tpl} %lot_id% ${lot_id} | |
322 | - ${return_value} = get value by locator on opened page ${tender_lot_classification_scheme_value_locator_tpl} | |
335 | +# ${tender_lot_classification_scheme_value_locator} = replace string ${tender_lot_classification_scheme_value_locator_tpl} %lot_id% ${lot_id} | |
336 | + ${return_value} = get value by locator on opened page ${tender_fundingKind_value_locator} | |
323 | 337 | [return] ${return_value} |
324 | 338 | |
325 | 339 | Отримати інформацію із лоту yearlyPaymentsPercentageRange |
326 | 340 | [Arguments] ${lot_id} |
327 | 341 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. |
328 | 342 | |
329 | - ${tender_lot_classification_code_value_locator} = replace string ${tender_lot_classification_code_value_locator_tpl} %lot_id% ${lot_id} | |
330 | - ${return_value} = get value by locator on opened page ${tender_lot_classification_code_value_locator} | |
343 | +# ${tender_lot_classification_code_value_locator} = replace string ${tender_lot_classification_code_value_locator_tpl} %lot_id% ${lot_id} | |
344 | +# ${field_name} = set variable tender.${field_name}.value | |
345 | +# ${return_value} = get field_value by field_name on opened page ${tender_yearlyPaymentsPercentageRange_value_locator} | |
346 | + ${return_value} = get value by locator on opened page ${tender_yearlyPaymentsPercentageRange_value_locator} | |
347 | + ${return_value} = convert_string_to_float ${return_value} | |
348 | + [return] ${return_value} | |
349 | + | |
350 | +Отримати інформацію із документа title | |
351 | + [Arguments] ${doc_id} | |
352 | + [Documentation] Отримати значення поля title з документу з doc_id в описі для тендера tender_uaid. | |
353 | + | |
354 | +#заготовка | |
355 | + ${tender_new_doc_locator} = replace string ${tender_new_doc_locator_tpl} %doc_id% ${doc_id} | |
356 | + wait until page contains element with reloading ${tender_new_doc_locator} | |
357 | + | |
358 | + ${tender_new_doc__title_locator} = replace string ${tender_new_doc_title_locator_tpl} %doc_id% ${doc_id} | |
359 | + | |
360 | + ${return_value} = Execute Javascript return ${tender_new_doc__title_locator} | |
361 | + ##${return_value} = get text ${tender_new_doc_locator} | |
362 | + #${return_value} = get value by locator on opened page ${tender_new_doc_locator} | |
363 | + [return] ${return_value} | |
364 | + | |
365 | +wait for tender status | |
366 | + [Documentation] Очикування відповідного статусу закупівлі, в залежності від кейворда | |
367 | + | |
368 | + Run Keyword If '${TEST_NAME}' == 'Неможливість завантажити документ першим учасником після закінчення прийому пропозицій' Wait Until Keyword Succeeds 480 s 20 s Wait For EndEnquire | |
369 | + Run Keyword If '${TEST_NAME}' == 'Неможливість завантажити документ другим учасником після закінчення прийому пропозицій' Wait Until Keyword Succeeds 480 s 20 s Wait For EndEnquire | |
370 | + Run Keyword If '${TEST_NAME}' == 'Неможливість задати запитання на тендер після закінчення періоду прийому пропозицій' Wait Until Keyword Succeeds 480 s 20 s Wait For EndEnquire | |
371 | + #Run Keyword If '${TEST_NAME}' == 'Неможливість задати запитання на тендер після закінчення періоду уточнень' Wait Until Keyword Succeeds 480 s 20 s Wait For EndEnquire | |
372 | + Run Keyword If '${TEST_NAME}' == 'Можливість подати пропозицію першим учасником' Wait Until Keyword Succeeds 480 s 20 s Wait For TenderPeriod | |
373 | + Run Keyword If '${TEST_NAME}' == 'Можливість подати пропозицію другим учасником' Wait Until Keyword Succeeds 480 s 20 s Wait For TenderPeriod | |
374 | + Run Keyword If '${TEST_NAME}' == 'Відображення дати закінчення періоду блокування перед початком аукціону' Wait Until Keyword Succeeds 80 s 20 s Wait For AuctionPeriod | |
375 | + Run Keyword If '${TEST_NAME}' == 'Можливість підтвердити першу пропозицію кваліфікації' Wait Until Keyword Succeeds 80 s 20 s Wait For PreQualificationPeriod | |
376 | + Run Keyword If '${TEST_NAME}' == 'Можливість підтвердити другу пропозицію кваліфікації' Wait Until Keyword Succeeds 80 s 20 s Wait For PreQualificationPeriod | |
377 | + Run Keyword If '${TEST_NAME}' == 'Можливість дочекатися завершення роботи мосту' Wait Until Keyword Succeeds 6000 s 20 s Wait For CompletePeriod | |
378 | + #cat Run Keyword If '${TEST_NAME}' == 'Можливість дочекатися початку періоду очікування' Wait Until Keyword Succeeds 600 s 20 s Wait For PreQualificationsStandPeriod | |
379 | + Run Keyword If '${TEST_NAME}' == 'Можливість дочекатися початку періоду очікування' Wait Until Keyword Succeeds 600 s 20 s Wait For ActiveStage2Pending | |
380 | + Run Keyword If '${TEST_NAME}' == 'Можливість перевести тендер в статус очікування обробки мостом' Wait Until Keyword Succeeds 600 s 20 s Wait For ActiveStage2Waiting | |
381 | + Run Keyword If '${TEST_NAME}' == 'Можливість дочекатись дати закінчення прийому пропозицій' and '${SUITE NAME}' == 'Tests Files.Complaints' Wait Until Keyword Succeeds 800 s 20 s Wait For NotTenderPeriod | |
382 | + Run Keyword If '${TEST_NAME}' == 'Можливість дочекатись дати початку періоду кваліфікації' and '${SUITE NAME}' == 'Tests Files.Complaints' Wait Until Keyword Succeeds 800 s 20 s Wait For QualificationsStandPeriod | |
383 | + Run Keyword If '${TEST_NAME}' == 'Відображення статусу успішного завершення тендера' Wait Until Keyword Succeeds 6000 s 20 s Wait For CompletePeriod | |
384 | + | |
385 | +Wait For EndEnquire | |
386 | + [Documentation] Очикування статусу закупівлі закінчення обговорення | |
387 | + | |
388 | + Reload Page | |
389 | + ${return_value} = Get text ${tender_status_value_locator} | |
390 | + Log Many CAT ${return_value} | |
391 | + Page Should Not Contain Element ${tender_status_active_tendering_value_locator} | |
392 | + | |
393 | +Wait For TenderPeriod | |
394 | + [Documentation] Очикування статусу закупівлі початку подачи пропозицій | |
395 | + | |
396 | + Reload Page | |
397 | + ${return_value} = Get text ${tender_status_value_locator} | |
398 | + Log Many CAT ${return_value} | |
399 | + Page Should Contain Element ${tender_status_active_tendering_value_locator} | |
400 | + | |
401 | +Wait For AuctionPeriod | |
402 | + [Documentation] Очикування статусу закупівлі аукціон | |
403 | + | |
404 | + Reload Page | |
405 | + ${return_value} = Get text ${tender_status_value_locator} | |
406 | + Log Many CAT ${return_value} | |
407 | + Page Should Contain Element ${tender_status_active_auction_value_locator} | |
408 | + | |
409 | +Wait For PreQualificationPeriod | |
410 | + [Documentation] Очикування статусу закупівлі аукціон | |
411 | + | |
412 | + Reload Page | |
413 | + ${return_value} = Get text ${tender_status_value_locator} | |
414 | + Log Many CAT ${return_value} | |
415 | + Page Should Contain Element ${tender_status_active_pre_qualification_value_locator} | |
416 | + | |
417 | +Wait For CompletePeriod | |
418 | + [Documentation] Очикування статусу закупівлі завершення | |
419 | + | |
420 | + Reload Page | |
421 | + ${return_value} = Get text ${tender_status_value_locator} | |
422 | + Log Many CAT ${return_value} | |
423 | + Page Should Contain Element ${tender_status_complete_value_locator} | |
424 | + | |
425 | +Wait For ActiveStage2Pending | |
426 | + [Documentation] Очикування статусу закупівлі завершення | |
427 | + | |
428 | + Reload Page | |
429 | + ${return_value} = Get text ${tender_status_value_locator} | |
430 | + Log Many CAT ${return_value} | |
431 | + Page Should Contain Element ${tender_status_active_stage2_pending_value_locator} | |
432 | + | |
433 | +Wait For ActiveStage2Waiting | |
434 | + [Documentation] Очикування статусу закупівлі завершення | |
435 | + | |
436 | + Reload Page | |
437 | + ${return_value} = Get text ${tender_status_value_locator} | |
438 | + Log Many CAT ${return_value} | |
439 | + Page Should Contain Element ${tender_status_active_stage2_waiting_value_locator} | |
440 | + | |
441 | +Wait For NotTenderPeriod | |
442 | + [Documentation] Очикування статусу закупівлі завершення | |
443 | + | |
444 | + Reload Page | |
445 | + ${return_value} = Get text ${tender_status_value_locator} | |
446 | + Log Many CAT ${return_value} | |
447 | + Page Should Contain Element ${tender_status_active_tendering_value_locator} | |
448 | + | |
449 | +Wait For QualificationsStandPeriod | |
450 | + [Documentation] Очикування статусу закупівлі завершення кваліфікації | |
451 | + | |
452 | + Reload Page | |
453 | + ${return_value} = Get text ${tender_status_value_locator} | |
454 | + Log Many CAT ${return_value} | |
455 | + Page Should Contain Element ${tender_status_active_qualification_value_locator} | |
456 | + | |
457 | +Wait For QualificationsPeriodEnd | |
458 | + [Documentation] Очикування дати завершення кваліфікації закупівлі | |
459 | + | |
460 | + Reload Page | |
461 | + ${complaintPeriod} = get value by locator on opened page ${tender_qualificationPeriod_endDate_value_locator} | |
462 | + Log Many CAT ${complaintPeriod} | |
463 | + Run Keyword If '${complaintPeriod}' == '' input text to exist visible input ${contract_contractform_date_start_input_locator} ${date_start} | |
464 | + :FOR ${INDEX} IN RANGE 1 60 | |
465 | + \ Run Keyword If '${complaintPeriod}' != '' Exit For Loop | |
466 | + \ Reload Page | |
467 | + \ ${complaintPeriod} = get value by locator on opened page ${tender_qualificationPeriod_endDate_value_locator} | |
468 | + | |
469 | +Отримати інформацію із contracts[0].status | |
470 | + [Documentation] Отримати значення поля contracts[0].status | |
471 | + | |
472 | +# ${tmp} = get value by locator on opened page ${tender_contracts_0_status_value_locator} | |
473 | +# ${return_value} = Set Variable If '${tmp}' in 'Підписаний Новий' active other | |
474 | + Run Keyword If '${TEST_NAME}' == 'Відображення статусу підписаної угоди з постачальником переговорної процедури' Wait Until Keyword Succeeds 800 s 20 s Wait For contractactive | |
475 | + Run Keyword If '${TEST_NAME}' == 'Відображення статусу підписаної угоди з постачальником закупівлі' Wait Until Keyword Succeeds 800 s 20 s Wait For contractactive | |
476 | + ${return_value} = get value by locator on opened page ${tender_contracts_0_status_value_locator} | |
477 | + [return] ${return_value} | |
478 | + | |
479 | +Wait For contractactive | |
480 | + [Documentation] Очикування статусу закупівлі початку подачи пропозицій | |
481 | + | |
482 | + Reload Page | |
483 | + ${return_value} = get value by locator on opened page ${tender_contracts_0_status_value_locator} | |
484 | + Page Should Contain Element ${tender_contracts_status_active_value_locator} | |
485 | + | |
486 | +Отримати інформацію із awards.complaintPeriod.endDate | |
487 | + [Documentation] Отримати значення поля awards.complaintPeriod.endDate | |
488 | + | |
489 | +# run keyword and ignore error run keyword if '${mode}' in 'belowThreshold below_funders' Wait Until Keyword Succeeds 600 s 30 s Wait For complaintPeriodendDate | |
490 | + run keyword and ignore error Wait Until Keyword Succeeds 600 s 30 s Wait For complaintPeriodendDate | |
491 | +# run keyword and ignore error click visible element ${contract_form_0_open_btn_locator} | |
492 | +# wait until element is visible ${tender_awards_complaintPeriod_endDate_value_locator} 60 | |
493 | + ${return_value} = run keyword if '${mode}' in 'negotiation' get value by locator on opened page ${tender_awards_negotiation_complaintPeriod_endDate_value_locator} | |
494 | + ... ELSE get value by locator on opened page ${tender_awards_complaintPeriod_endDate_value_locator} | |
495 | +# ${return_value} = parse_complaintPeriod_date ${return_value} | |
496 | + [return] ${return_value} | |
497 | + | |
498 | +Wait For complaintPeriodendDate | |
499 | + [Documentation] Очикування появи дати завершення подачи скарг на кваліфікацію закупівлі в belowThreshold та below_funders | |
500 | + | |
501 | + reload page | |
502 | + ${complaintPeriod} = run keyword and ignore error get value by locator on opened page ${tender_awards_complaintPeriod_endDate_value_locator} | |
503 | + :FOR ${INDEX} IN RANGE 1 60 | |
504 | + \ Run Keyword If '${complaintPeriod}' != '' Exit For Loop | |
505 | + \ Reload Page | |
506 | + \ ${complaintPeriod} = get value by locator on opened page ${tender_awards_complaintPeriod_endDate_value_locator} | |
507 | + | |
508 | +Отримати інформацію із minimalStep.amount | |
509 | + [Documentation] Отримати значення поля minimalStep.amount для тендера tender_uaid. | |
510 | + | |
511 | +# ${tender_lot_minimal_step_amount_value_locator} = replace string ${tender_lot_minimal_step_amount_value_locator_tpl} %lot_id% ${lot_id} | |
512 | + ${return_value} = run keyword if ${number_of_lots} > 0 get value by locator on opened page ${tender_lot_minimal_step_amount_value_locator} ${tender_lot_minimal_step_amount_value_type} | |
513 | + ... ELSE get value by locator on opened page ${tender_minimalStep_amount_value_locator} ${tender_lot_minimal_step_amount_value_type} | |
331 | 514 | [return] ${return_value} |
332 | 515 | |
516 | +Отримати інформацію із awards[0].documents[0].title | |
517 | + [Documentation] Отримати значення поля minimalStep.amount для тендера tender_uaid. | |
518 | + | |
519 | +# ${tender_lot_minimal_step_amount_value_locator} = replace string ${tender_lot_minimal_step_amount_value_locator_tpl} %lot_id% ${lot_id} | |
520 | + click visible element ${tender_awards_negotiation_documents_btn_locator} | |
521 | + ${return_value} = get value by locator on opened page ${tender_awards_0_documents_0_title_value_locator} | |
522 | + click visible element ${tender_awards_negotiation_documents_close_btn_locator} | |
523 | + [return] ${return_value} | |
524 | + | |
525 | +Wait For stage2button | |
526 | + [Documentation] Очикування кнопки переводу до другого етапу | |
527 | + | |
528 | + Reload Page | |
529 | + Page Should Contain Element ${tender_stage2_open_btn_locator} | |
530 | + | |
531 | +Отримати інформацію із qualificationPeriod.endDate | |
532 | + [Documentation] Отримати значення поля qualificationPeriod.endDate | |
533 | + | |
534 | +# run keyword and ignore error run keyword if '${mode}' in 'belowThreshold below_funders' Wait Until Keyword Succeeds 600 s 30 s Wait For complaintPeriodendDate | |
535 | +# run keyword and ignore error Wait Until Keyword Succeeds 600 s 30 s Wait For complaintPeriodendDate | |
536 | + ${return_value} = get value by locator on opened page ${tender_qualificationPeriod_endDate_value_locator} | |
537 | + ${return_value} = parse_complaintPeriod_date ${return_value} | |
538 | + [return] ${return_value} | |
539 | + | |
540 | + | |
541 | + | ... | ... |
... | ... | @@ -4,9 +4,13 @@ |
4 | 4 | ${tender_features_title_value_locator_tpl} = jquery=#lots .tabs__pane--visible .feature-list-wrapper [data-title*="%feature_id%"] .hidden.info-wrapper .title |
5 | 5 | ${tender_features_description_value_locator_tpl} = jquery=#lots .tabs__pane--visible .feature-list-wrapper [data-title*="%feature_id%"] .hidden.info-wrapper .description |
6 | 6 | ${tender_features_featureof_value_locator_tpl} = jquery=#lots .tabs__pane--visible .feature-list-wrapper [data-title*="%feature_id%"] .hidden.info-wrapper .featureOf |
7 | +${tender_features_new_value_locator_tpl} = jquery=.info-row.features div[data-title*="%feature_id%"] | |
8 | + | |
7 | 9 | |
8 | 10 | #item view |
11 | +${tender_items_new_value_locator_tpl} = jquery=.item-item-wrapper[data-title*="%item_id%"] | |
9 | 12 | ${tender_items_description_value_locator_tpl} = jquery=#lots .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] div.textvalue |
13 | +${tender_items_no_lot_description_value_locator_tpl} = jquery=.pseudo-table .item-item-wrapper[data-title*="%item_id%"] div.textvalue | |
10 | 14 | ${tender_items_quantity_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .quantity-source |
11 | 15 | ${tender_items_quantity_value_type} = float |
12 | 16 | ${tender_items_unit_title_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .unit-title-source |
... | ... | @@ -69,3 +73,102 @@ ${tender_lot_item_delivery_end_date_value_locator} = jquery=.tabs |
69 | 73 | ${tender_lot_item_delivery_latitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-latitude |
70 | 74 | ${tender_lot_item_delivery_longitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-longitude |
71 | 75 | |
76 | +#lots | |
77 | +${tender_lots_title_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue:first | |
78 | +${tender_lots_description_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue.hidden | |
79 | +${tender_lots_value_amount_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
80 | +${tender_lots_value_amount_value_type} = float | |
81 | +${tender_lots_value_currency_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
82 | +${tender_lots_value_value_added_tax_included_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
83 | +${tender_lots_minimal_step_amount_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .minimal-step-source.hidden | |
84 | +${tender_lots_minimal_step_amount_value_type} = float | |
85 | +${tender_lots_minimal_step_amount_currency_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
86 | +${tender_lots_minimal_step_amount_value_added_tax_included_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
87 | + | |
88 | +#docs and auction | |
89 | +${tender_new_doc_locator_tpl} = jquery=.docs__list .docs__item.js-item .doc__title:contains("%doc_id%") | |
90 | +${tender_new_doc_title_locator_tpl} = $('.docs__list .docs__item.js-item:contains("%doc_id%")').attr("data-title") | |
91 | +#${tender_new_doc_locator_tpl} = jquery=.docs__list .docs__item.js-item:first .doc__title:contains("%doc_id%") | |
92 | +${tender_auction_locator} = jquery=#auction-info | |
93 | +${tender_auction_input_locator} = $('#auction-info a[href*="https://auction-sandbox"]').attr("href") | |
94 | +${tender_auction_belowThreshold_locator} = jquery=#aside-part-pjax a[href*="https://auction-sandbox"] | |
95 | +${tender_auction_belowThreshold_input_locator} = jquery=#aside-part-pjax a[href*="https://auction-sandbox"] | |
96 | +${tender_auction_belowThreshold_value_locator} = $('#aside-part-pjax a[href*="https://auction-sandbox"]').attr("href") | |
97 | +${tender_auctionPeriod_startDate_value_locator} = jquery=#tender-general-info .auction-start-date.hidden | |
98 | +${tender_auctionPeriod_endDate_value_locator} = jquery=#tender-general-info .auction-end-date.hidden | |
99 | +${tender_lots_0_auctionPeriod_endDate_value_locator} = jquery=#tender-general-info .auction-end-date.hidden | |
100 | + | |
101 | + | |
102 | +#wait for status | |
103 | +${tender_status_active_tendering_value_locator} = xpath=//*[contains(text(), "active.tendering")] | |
104 | +${tender_status_active_auction_value_locator} = xpath=//*[contains(text(), "active.auction")] | |
105 | +${tender_status_active_pre_qualification_value_locator} = xpath=//*[contains(text(), "active.pre-qualification")] | |
106 | +${tender_status_complete_value_locator} = xpath=//*[contains(text(), "complete")] | |
107 | +${tender_status_active_stage2_pending_value_locator} = xpath=//*[contains(text(), "active.stage2.pending")] | |
108 | +${tender_status_active_stage2_waiting_value_locator} = xpath=//*[contains(text(), "active.stage2.waiting")] | |
109 | +${tender_status_active_complete_value_locator} = xpath=//*[contains(text(), "active.complete")] | |
110 | +${tender_status_active_qualification_value_locator} = xpath=//*[contains(text(), "active.qualification")] | |
111 | + | |
112 | +#funders | |
113 | +${tender_funders_0_name_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .organization_name.hidden .definitions__value | |
114 | +${tender_funders_0_address_countryName_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .country.hidden .definitions__value | |
115 | +${tender_funders_0_address_locality_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .locality.hidden .definitions__value | |
116 | +${tender_funders_0_address_postalCode_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .postcode.hidden .definitions__value | |
117 | +${tender_funders_0_address_region_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .region.hidden .definitions__value | |
118 | +${tender_funders_0_address_streetAddress_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .street-address.hidden .definitions__value | |
119 | +${tender_funders_0_identifier_id_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .identifier_id .definitions__value | |
120 | +${tender_funders_0_identifier_legalName_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .identifier_legal_name.hidden .definitions__value | |
121 | +${tender_funders_0_identifier_scheme_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .identifier_scheme.hidden .definitions__value | |
122 | + | |
123 | +#negotiation | |
124 | +${tender_procuringEntity_contactPoint_name_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .contact-point-name.hidden .definitions__value | |
125 | +${tender_procuringEntity_contactPoint_telephone_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .contact-point-phone.hidden .definitions__value | |
126 | +${tender_procuringEntity_identifier_legalName_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .identifier_legal_name.hidden .definitions__value | |
127 | +${tender_procuringEntity_identifier_scheme_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .identifier_scheme.hidden .definitions__value | |
128 | + | |
129 | +${tender_awards_0_suppliers_0_contactPoint_telephone_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .contact-point-phone.hidden .definitions__value | |
130 | +${tender_awards_0_suppliers_0_contactPoint_name_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .contact-point-name.hidden .definitions__value | |
131 | +${tender_awards_0_suppliers_0_contactPoint_email_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .contact-point-email.hidden .definitions__value | |
132 | +${tender_awards_0_suppliers_0_identifier_scheme_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .identifier_scheme.hidden .definitions__value | |
133 | +${tender_awards_0_suppliers_0_identifier_legalName_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .identifier_legal_name.hidden .definitions__value | |
134 | +${tender_awards_0_suppliers_0_address_countryName_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .country.hidden .definitions__value | |
135 | +${tender_awards_0_suppliers_0_address_locality_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .locacity.hidden .definitions__value | |
136 | +${tender_awards_0_suppliers_0_address_postalCode_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .postcode.hidden .definitions__value | |
137 | +${tender_awards_0_suppliers_0_address_region_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .region.hidden .definitions__value | |
138 | +${tender_awards_0_suppliers_0_address_streetAddress_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .street-address.hidden .definitions__value | |
139 | + | |
140 | +#esco | |
141 | +${tender_NBUdiscountRate_value_locator} = jquery=#tender-general-info .nbu-discount-rate-source.hidden | |
142 | +${tender_NBUdiscountRate_value_type} = float | |
143 | +${tender_minimalStepPercentage_value_locator} = jquery=#tender-general-info .minimal-step-percentage-source.hidden | |
144 | +${tender_minimalStepPercentage_value_type} = float | |
145 | +${tender_fundingKind_value_locator} = jquery=#tender-general-info .funding-kind-source.hidden | |
146 | +${tender_yearlyPaymentsPercentageRange_value_locator} = jquery=#tender-general-info .yearly-payments-percentage-range-source.hidden | |
147 | +${tender_yearlyPaymentsPercentageRange_value_type} = float | |
148 | +${tender_lots_0_minimalStepPercentage_value_locator} = jquery=#tender-general-info .minimal-step-percentage-source.hidden | |
149 | +${tender_lots_0_minimalStepPercentage_value_type} = float | |
150 | +${tender_lots_0_yearlyPaymentsPercentageRange_value_locator} = jquery=#tender-general-info .yearly-payments-percentage-range-source.hidden | |
151 | +${tender_lots_0_yearlyPaymentsPercentageRange_value_type} = float | |
152 | + | |
153 | +#awards | |
154 | +${tender_awards_0_complaintPeriod_endDate_value_locator} = jquery=#tender-general-info .complaint-period .value .end-date | |
155 | +${tender_awards_1_complaintPeriod_endDate_value_locator} = jquery=#tender-general-info .complaint-period .value .end-date | |
156 | +${tender_awards_complaintPeriod_endDate_value_locator} = jquery=.award-info-wrapper.hidden .complaint-period-end-date | |
157 | +${tender_awards_negotiation_complaintPeriod_endDate_value_locator} = jquery=#bids-pjax .pseudo-table__cell .end-date | |
158 | +#${tender_awards_complaintPeriod_endDate_value_locator} = jquery=#tender-contract-form .js-award-complaint-period-wrapper .end-date | |
159 | +${tender_awards_negotiation_documents_btn_locator} = jquery=[href*="/tender/view-qualification-result-documents?award"] | |
160 | +${tender_awards_negotiation_documents_close_btn_locator} = jquery=.modal.fade.fancybox-content .modal-footer .btn.btn-default | |
161 | +${tender_awards_0_documents_0_title_value_locator} = jquery=.doc__table_title a[href*="https://public-docs-sandbox.prozorro.gov.ua"] | |
162 | +${tender_awards_0_status_value_locator} = jquery=.award-info-wrapper.hidden .status-source | |
163 | + | |
164 | +#status contract | |
165 | +#${tender_contracts_0_status_value_locator} = jquery=#contracts-pjax .tabs__pane--visible .definitions__item--offset-big .badge__text | |
166 | +${tender_contracts_0_status_value_locator} = jquery=#contracts-pjax .tabs__pane--visible .status-source.hidden | |
167 | +${tender_contracts_status_active_value_locator} = jquery=#contracts-pjax .tabs__pane--visible .status-source.hidden:contains(active) | |
168 | + | |
169 | +${wait_msg_contract} = Завантаження контракту буде | |
170 | + | |
171 | +#framework_agreement | |
172 | +${tender_maxAwardsCount_value_locator} = jquery=#tender-general-info .max-award-count.hidden | |
173 | +${tender_agreementDuration_value_locator} = jquery=#tender-general-info .agreement-duration | |
174 | +${tender_agreements_0_status_value_locator} = jquery=#agreement-contracts-list .agreement-info-wrapper .status-source.hidden | ... | ... |
Please
register
or
login
to post a comment