Showing
21 changed files
with
0 additions
and
4422 deletions
playtender.robot
deleted
100644 → 0
This diff could not be displayed because it is too large.
playtender_agreement.robot
deleted
100644 → 0
1 | -*** Settings *** | |
2 | - | |
3 | -Resource playtender_common.robot | |
4 | -Resource playtender_agreement_variables.robot | |
5 | -Resource playtender_question.robot | |
6 | -Resource playtender_claim.robot | |
7 | -Resource playtender_bid.robot | |
8 | -Resource playtender_viewer.robot | |
9 | - | |
10 | -*** Keywords *** | |
11 | - | |
12 | -update agreement queue | |
13 | - [Documentation] запускає оновлення agreement з ЦБД і додає їх в чергу, тобто синхронізація може відбутися не відразу | |
14 | - ... поточна сторіка повертається | |
15 | - | |
16 | - ${current_url} = get location | |
17 | - go to ${broker_baseurl}/utils/queue-agreement-update | |
18 | - go to ${current_url} | |
19 | - | |
20 | -open agreement search form | |
21 | - [Documentation] відкриває сторінку з пошуком agreement | |
22 | - | |
23 | - open page and wait element by locator ${broker_baseurl}/agreements ${agreement_search_form_locator} | |
24 | - | |
25 | -open agreement form by uaid | |
26 | - [Arguments] ${agreement_uaid} | |
27 | - [Documentation] відкриття сторінки редагування плану | |
28 | - | |
29 | - open agreement page by uaid ${agreement_uaid} | |
30 | - click visible element and wait until page contains element ${tender_edit_btn_locator} ${tender_form_locator} | |
31 | - | |
32 | -open agreement page by uaid | |
33 | - [Arguments] ${uaid} | |
34 | - [Documentation] відкриває сторінку з agreement | |
35 | - | |
36 | - open site page and wait content element ${broker_baseurl}/agreement/${uaid} | |
37 | - ${is_agreement_found} = get is element exist ${agreement_view_checker_element_locator} | |
38 | - return from keyword if ${is_agreement_found} == ${True} | |
39 | - ${is_agreement_not_found} = get is 404 page | |
40 | - ${is_needed_to_update_and_wait_sync} = set variable if ${is_test_role_owner} == ${False} and ${is_agreement_not_found} ${True} ${False} | |
41 | - run keyword if ${is_needed_to_update_and_wait_sync} update agreement queue | |
42 | - run keyword if ${is_needed_to_update_and_wait_sync} wait until 404 page disappears | |
43 | - ${is_agreement_found} = get is element exist ${agreement_view_checker_element_locator} | |
44 | - run keyword if ${is_agreement_found} == ${False} fail Opening agreement page by uaid fails. | |
45 | - | |
46 | -save agreement form and wait synchronization | |
47 | - [Documentation] натискає кнопку "Зберегти" і чекає синхронізації угоди | |
48 | - | |
49 | - submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator} ${true} | |
50 | - wait until page does not contain element with reloading ${agreement_sync_element_locator} | |
51 | - | |
52 | -add document in agreement | |
53 | - [Arguments] ${filepath} | |
54 | - [Documentation] Завантажити документ, який знаходиться по шляху filepath. | |
55 | - | |
56 | - click visible element ${tender_form_general_panel_edit_add_document_btn_locator} | |
57 | - choose file ${add_file_to_form_locator} ${filepath} | |
58 | - wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
59 | - submit current visible popup | |
60 | - | |
61 | - |
playtender_agreement_variables.robot
deleted
100644 → 0
1 | -*** Variables *** | |
2 | - | |
3 | -${agreement_search_form_locator} = id=agreement-filter-form | |
4 | -${agreement_search_form_query_input_locator} = jquery=#agreement-filter-form .dynamic-search-query input | |
5 | -${agreement_search_form_result_locator_tpl} = jquery=#agreement-list .lots__item .lot__characteristic li:contains(%query%) | |
6 | - | |
7 | -# agreement view | |
8 | -${agreement_view_checker_element_locator} = id=agreement-general-info | |
9 | -${agreement_sync_element_locator} = jquery=#aside-part-pjax .status-label .fa-refresh | |
10 | -${agreement_uaid_text_locator} = jquery=#agreement-general-info .agreement-id .value | |
11 | -${agreement_edit_btn_locator} = jquery=#aside-part-pjax a[href*="agreement/update"] | |
12 | -${agreement_status_value_locator} = jquery=#aside-part-pjax .hidden.opstatus | |
13 | -#елемент проверки загрузки формы в попапе | |
14 | -#${popup_dynamic_form_loading_element_locator} = jquery=.fancybox-is-open .btn-add .fa-spin | |
15 | -${agreement_changes_0_status_value_locator} = jquery=.tabs__pane.tabs__pane--visible[id*="tab-agreement-change"] .agreement-contract-info-wrapper.info-wrapper .info-row.status.hidden | |
16 | -${agreement_changes_0_rationaleType_value_locator} = jquery=.tabs__pane.tabs__pane--visible[id*="tab-agreement-change"] .agreement-contract-info-wrapper.info-wrapper .info-row.rationale-type span.value | |
17 | -${agreement_changes_0_rationale_value_locator} = jquery=.tabs__pane.tabs__pane--visible[id*="tab-agreement-change"] .agreement-contract-info-wrapper.info-wrapper .info-row.rationale span.value | |
18 | - | |
19 | -${agreement_changes_0_modifications_0_itemId_value_locator} = jquery=.tabs__pane.tabs__pane--visible[id*="tab-agreement-change"] .agreement-contract-info-wrapper.info-wrapper .info-row.modification0-itemId.hidden | |
20 | -${agreement_changes_0_modifications_0_addend_value_locator} = jquery=.tabs__pane.tabs__pane--visible[id*="tab-agreement-change"] .agreement-contract-info-wrapper.info-wrapper .info-row.modification0-factor.hidden | |
21 | - | |
22 | -${agreement_changes_1_rationaleType_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(1) .agreement-contract-info-wrapper.info-wrapper .info-row.rationale-type span.value | |
23 | -${agreement_changes_1_rationale_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(1) .agreement-contract-info-wrapper.info-wrapper .info-row.rationale span.value | |
24 | - | |
25 | -${agreement_changes_1_modifications_0_itemId_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(1) .agreement-contract-info-wrapper.info-wrapper .info-row.modification0-itemId.hidden | |
26 | -${agreement_changes_1_modifications_0_factor_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(1) .agreement-contract-info-wrapper.info-wrapper .info-row.modification0-factor.hidden | |
27 | -${agreement_changes_1_status_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(1) .agreement-contract-info-wrapper.info-wrapper .info-row.status.hidden | |
28 | - | |
29 | -${agreement_changes_2_rationaleType_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(2) .agreement-contract-info-wrapper.info-wrapper .info-row.rationale-type span.value | |
30 | -${agreement_changes_2_rationale_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(2) .agreement-contract-info-wrapper.info-wrapper .info-row.rationale span.value | |
31 | - | |
32 | -${agreement_changes_2_modifications_0_itemId_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(2) .agreement-contract-info-wrapper.info-wrapper .info-row.modification0-itemId.hidden | |
33 | -${agreement_changes_2_modifications_0_factor_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(2) .agreement-contract-info-wrapper.info-wrapper .info-row.modification0-factor.hidden | |
34 | -${agreement_changes_2_status_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(2) .agreement-contract-info-wrapper.info-wrapper .info-row.status.hidden | |
35 | - | |
36 | -${agreement_changes_3_rationaleType_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(3) .agreement-contract-info-wrapper.info-wrapper .info-row.rationale-type span.value | |
37 | -${agreement_changes_3_rationale_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(3) .agreement-contract-info-wrapper.info-wrapper .info-row.rationale span.value | |
38 | - | |
39 | -${agreement_changes_3_modifications_0_itemId_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(3) .agreement-contract-info-wrapper.info-wrapper .info-row.itemid span.value | |
40 | -${agreement_changes_3_modifications_0_factor_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(3) .agreement-contract-info-wrapper.info-wrapper .info-row.modification0-factor.hidden | |
41 | -${agreement_changes_3_status_value_locator} = jquery=.tabs__pane[id*="tab-agreement-change"]:nth(3) .agreement-contract-info-wrapper.info-wrapper .info-row.status.hidden | |
42 | - | |
43 | -${agreement_form_refresh_success_msg} = Рамкова угода оновлена. | |
44 | -${agreement_form_refresh_btn_locator} = jquery=#agreement-general-info a[href*="/utils/agreement-sync"] |
playtender_bid.robot
deleted
100644 → 0
1 | -*** Settings *** | |
2 | - | |
3 | -Resource playtender_common.robot | |
4 | -Resource playtender_variables.robot | |
5 | -Resource playtender_bid_variables.robot | |
6 | - | |
7 | -*** Keywords *** | |
8 | - | |
9 | - | |
10 | -fill bid form | |
11 | - [Arguments] ${tender_uaid} ${bid} ${lots_ids} ${features_ids} | |
12 | - [Documentation] Подати цінову пропозицію bid для тендера tender_uaid на лоти lots_ids (якщо lots_ids != None) з неціновими показниками features_ids (якщо features_ids != None). | |
13 | - | |
14 | - submit form and check result ${bid_form_refresh_btn_locator} ${bid_form_refresh_success_msg} ${tender_created_checker_element_locator} ${true} | |
15 | - open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
16 | - ${value} = get from dictionary by keys ${bid.data} value amount | |
17 | -# ${amount} = run keyword if condition is not none ${value} convert_float_to_string ${bid.data.value.amount} | |
18 | - run keyword if condition is not none ${value} input number to exist visible input ${bid_form_value_amount_input_locator} ${value} | |
19 | - capture page screenshot | |
20 | -# ${lots} = get from dictionary by keys ${data} lots | |
21 | - run keyword if condition is not none ${lots_ids} fill bid form lots ${bid} ${lots_ids} ${features_ids} | |
22 | - capture page screenshot | |
23 | -# run keyword if condition is none ${lots_ids} fill bid form whithout lots ${bid} | |
24 | -# ${features} = get from dictionary by keys ${data} features | |
25 | -# run keyword if condition is not none ${features_ids} fill bid form features ${bid} ${tender_form_general_panel_add_feature_btn_locator} | |
26 | - fill bid required documents_all | |
27 | - capture page screenshot | |
28 | -## submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator} | |
29 | - | |
30 | -fill bid form lots | |
31 | - [Arguments] ${bid} ${lots_ids}=${None} ${features_ids}=${None} | |
32 | - [Documentation] Заповнити лотову цінову пропозицію bid для тендера tender_uaid на лоти lots_ids з неціновими показниками features_ids (якщо features_ids != None). | |
33 | - | |
34 | - ${lots} = get from dictionary by keys ${bid.data} lotValues | |
35 | - ${lots_length} = Get Length ${lots} | |
36 | - : FOR ${INDEX} IN RANGE 0 ${lots_length} | |
37 | - \ 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} | |
38 | - \ capture page screenshot | |
39 | - \ ${self_qualified} = get from dictionary by keys ${bid.data} selfQualified | |
40 | -# \ run keyword if condition is not none ${self_qualified} click visible element ${bid_form_value_self_qualified_input_locator} | |
41 | - \ run keyword if condition is not none ${self_qualified} execute javascript $('.fancybox-is-open .fancybox-content input[id*="-self_qualified"]').click() | |
42 | - \ capture page screenshot | |
43 | - \ ${self_eligible} = get from dictionary by keys ${bid.data} selfEligible | |
44 | -# \ run keyword if condition is not none ${self_eligible} click visible element ${bid_form_value_self_eligible_input_locator} | |
45 | - \ run keyword if condition is not none ${self_eligible} execute javascript $('.fancybox-is-open .fancybox-content input[id*="-self_eligible"]').click() | |
46 | - \ capture page screenshot | |
47 | - \ ${feature_id} = get from dictionary by keys ${bid.data} parameters | |
48 | - \ run keyword if condition is not none ${feature_id} fill bid form features ${feature_id} | |
49 | - \ capture page screenshot | |
50 | - \ run keyword if '${mode}' in 'open_esco' fill bid form lots Esco ${bid.data.lotValues} | |
51 | - | |
52 | -fill bid form features | |
53 | - [Arguments] ${bid_parameters} | |
54 | - [Documentation] Заповнити нецінові показники цінової пропозиції. | |
55 | - | |
56 | - log many ${bid_parameters} | |
57 | - ${features_length} = Get Length ${bid_parameters} | |
58 | - : FOR ${INDEX} IN RANGE 0 ${features_length} | |
59 | - \ ${bid_form_feature_input_locator} replace string ${bid_form_feature_input_locator_tpl} %title% ${bid_parameters[${INDEX}]['code']} | |
60 | - \ ${bid_form_get_feature_input_locator} replace string ${bid_form_get_feature_input_locator_tpl} %title% ${bid_parameters[${INDEX}]['code']} | |
61 | - \ ${bid_form_feature_input_locator_select} replace string ${bid_form_feature_input_locator_select_tpl} %title% ${bid_parameters[${INDEX}]['code']} | |
62 | - \ ${value_enum} = convert float to string ${bid_parameters[${INDEX}]['value']} | |
63 | - \ ${bid_form_feature_value_input_locator} set variable ${bid_form_feature_input_locator} ${bid_form_feature_value_input_locator_tpl} | |
64 | - \ ${bid_form_get_feature_value_input_locator} set variable ${bid_form_get_feature_input_locator} ${bid_form_get_feature_value_input_locator_tpl} | |
65 | - \ ${bid_form_feature_value_input_locator} replace string ${bid_form_feature_value_input_locator} _ ' ' | |
66 | - \ ${bid_form_get_feature_value_input_locator} replace string ${bid_form_get_feature_value_input_locator} _ ' ' | |
67 | - \ ${bid_form_feature_value_input_locator} replace string ${bid_form_feature_value_input_locator} %value% ${value_enum} | |
68 | - \ ${bid_form_get_feature_value_input_locator} replace string ${bid_form_get_feature_value_input_locator} %value% ${value_enum} | |
69 | - \ ${enum_val} set variable ${bid_form_get_feature_value_input_locator} | |
70 | - \ ${enum_val1}= run keyword if ${bid_parameters[${INDEX}]['value']} == 0 Execute Javascript return $('[data-weight-source="0"]').text() | |
71 | - \ ... ELSE Execute Javascript ${enum_val} | |
72 | - \ capture page screenshot | |
73 | - \ Run Keyword And Ignore Error select from list by label ${bid_form_feature_input_locator_select} ${enum_val1} | |
74 | - \ capture page screenshot | |
75 | - | |
76 | -fill bid form lots Esco | |
77 | - [Arguments] ${values} | |
78 | - [Documentation] Заповнити цінову пропозицію Esco | |
79 | - | |
80 | - log many ${values} | |
81 | - ${values_length} = Get Length ${values} | |
82 | - : FOR ${INDEX} IN RANGE 0 ${values_length} | |
83 | - \ input number to exist visible input ${bid_form_value_yearly_payments_percentage_input_locator} ${values[${INDEX}].value.yearlyPaymentsPercentage} | |
84 | - \ capture page screenshot | |
85 | - \ input text to exist visible input ${bid_form_value_contract_duration_years_input_locator} ${values[${INDEX}].value.contractDuration.years} | |
86 | - \ capture page screenshot | |
87 | - \ input text to exist visible input ${bid_form_value_contract_duration_days_input_locator} ${values[${INDEX}].value.contractDuration.days} | |
88 | - \ capture page screenshot | |
89 | - \ fill bid form lots Esco AnnualCostsReduction ${values[${INDEX}].value.annualCostsReduction} | |
90 | - \ capture page screenshot | |
91 | - | |
92 | -fill bid form lots Esco AnnualCostsReduction | |
93 | - [Arguments] ${values} | |
94 | - [Documentation] Заповнити цінову пропозицію Esco (параметр AnnualCostsReduction). | |
95 | - | |
96 | - ${input_index} = set variable 1 | |
97 | - : FOR ${value} IN @{values} | |
98 | - \ ${input_index_tmp}= convert to string ${input_index} | |
99 | - \ ${bid_form_value_annual_costs_reduction_input_locator} replace string ${bid_form_value_annual_costs_reduction_input_locator_tpl} %index% ${input_index_tmp} | |
100 | - \ input number to exist visible input ${bid_form_value_annual_costs_reduction_input_locator} ${value} | |
101 | - \ ${input_index} = evaluate ${input_index} + 1 | |
102 | - | |
103 | -fill bid required documents_all | |
104 | - [Arguments] | |
105 | - [Documentation] Додати фейковий документ до цінової пропозиції при створенні. | |
106 | - | |
107 | - ${file_path} ${file_name} ${file_content} = create_fake_doc | |
108 | -# 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 | |
109 | - #click visible element ${bid_form_add_document_all_btn_locator} | |
110 | - capture page screenshot | |
111 | -### execute javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents .js-upload-documents input[type$="file"]:first').click() | |
112 | - capture page screenshot | |
113 | - choose file ${add_file_to_bid_form_locator} ${file_path} | |
114 | - capture page screenshot | |
115 | - wait until element is visible ${bid_form_add_document_type_input_locator} | |
116 | -# submit current visible popup | |
117 | - Run Keyword And Ignore Error Select From List By Value ${bid_form_add_document_type_input_locator} qualificationDocuments | |
118 | - click visible element ${bid_form_add_document_description_btn_locator} | |
119 | - capture page screenshot | |
120 | - wait until element is visible ${bid_form_add_document_description_input_locator} | |
121 | - input text to exist visible input ${bid_form_add_document_description_input_locator} test2 | |
122 | - click visible element ${bid_form_add_document_close_description_btn_locator} | |
123 | - capture page screenshot | |
124 | - | |
125 | -fill bid form edit | |
126 | - [Arguments] ${fieldname} ${fieldvalue} | |
127 | - [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача username для тендера tender_uaid. | |
128 | - | |
129 | - open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
130 | - 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} | |
131 | -# submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | |
132 | - | |
133 | - | |
134 | -add document to bid | |
135 | - [Arguments] ${path} ${doc_type} ${doc_name} | |
136 | - #=documents | |
137 | - [Documentation] Завантажити документ типу doc_type, який знаходиться за шляхом path, | |
138 | - ... до цінової пропозиції користувача username для тендера tender_uaid. | |
139 | - | |
140 | - open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
141 | -### execute javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents .js-upload-documents input[type$="file"]:first').click() | |
142 | - choose file ${add_file_to_bid_form_locator} ${path} | |
143 | - run keyword and ignore error wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
144 | - wait until element is visible ${bid_form_add_document_type_input_locator} | |
145 | -# submit current visible popup | |
146 | - log many ${doc_type} | |
147 | -# run keyword if '${doc_type}' == 'documents' Select From List By Value ${bid_form_add_document_type_input_locator} qualificationDocuments | |
148 | -# ... else Select From List By Value ${bid_form_add_document_type_input_locator} ${doc_type} | |
149 | - Run Keyword And Ignore Error select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
150 | - 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 | |
151 | - 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 | |
152 | - 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 | |
153 | - 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 | |
154 | - 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 | |
155 | - capture page screenshot | |
156 | - | |
157 | - Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('commercialProposal').change() | |
158 | - capture page screenshot | |
159 | - 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() | |
160 | - 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() | |
161 | - capture page screenshot | |
162 | - 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() | |
163 | - capture page screenshot | |
164 | - 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() | |
165 | - capture page screenshot | |
166 | - 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() | |
167 | -# Run Keyword And Ignore Error select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
168 | -# 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 | |
169 | -# 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 | |
170 | -# 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 | |
171 | -# 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 | |
172 | - capture page screenshot | |
173 | - | |
174 | - click visible element ${bid_form_add_document_description_btn_locator} | |
175 | - wait until element is visible ${bid_form_add_document_description_input_locator} | |
176 | - input text to exist visible input ${bid_form_add_document_description_input_locator} test2 | |
177 | - click visible element ${bid_form_add_document_close_description_btn_locator} | |
178 | - | |
179 | -document to bid edit | |
180 | - [Arguments] ${path} ${doc_type}=documents | |
181 | - [Documentation] Змінити документ з doc_id в описі в пропозиції користувача username для | |
182 | - ... тендера tender_uaid на документ, який знаходиться по шляху path. | |
183 | - | |
184 | - open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
185 | -# click visible element ${bid_form_edit_document_all_btn_locator} | |
186 | - capture page screenshot | |
187 | - choose file ${bid_form_edit_document_all_btn_locator} ${path} | |
188 | - capture page screenshot | |
189 | -# wait until element is visible ${bid_form_add_document_type_input_locator} | |
190 | - | |
191 | -fill bid form edit document | |
192 | - [Arguments] ${doc_data} ${doc_id} | |
193 | - [Documentation] Змінити тип документа з doc_id в заголовку в пропозиції користувача | |
194 | - ... username для тендера tender_uaid. Дані про новий тип документа знаходяться в doc_data. | |
195 | - | |
196 | - open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
197 | - ##### BOF - TMP for confidentiality##### | |
198 | - execute javascript $('#tender-bid-form .documents-dynamic-forms-wrapper:last [href$="#edit"]:last').click() | |
199 | -# click visible element $('#tender-bid-form .documents-dynamic-forms-wrapper:last [href$="#edit"]:last').click() | |
200 | - set element scroll into view ${bid_form_add_document_close_description_btn_locator} | |
201 | - capture page screenshot | |
202 | - wait until element is visible ${bid_form_add_document_description_input_locator} 60 | |
203 | - execute javascript $('#tender-bid-form .documents-dynamic-forms-wrapper:last .popover.fade.top.in [id$="-confidentiality"]').click() | |
204 | - | |
205 | -# click visible element ${bid_form_add_document_confidentiality_input_locator} | |
206 | - capture page screenshot | |
207 | - input text to exist visible input ${bid_form_add_document_confidentialityrationale_input_locator} ${doc_data.data.confidentialityRationale} | |
208 | - capture page screenshot | |
209 | - click visible element ${bid_form_add_document_close_description_btn_locator} | |
210 | - capture page screenshot | |
211 | - ##### EOF - TMP ##### | |
212 | - | |
213 | -get bid information | |
214 | - [Arguments] ${field} | |
215 | - [Documentation] Отримати значення поля field пропозиції користувача | |
216 | - ... username для тендера tender_uaid. | |
217 | - | |
218 | - capture page screenshot | |
219 | - Run Keyword If 'status' == '${field}' submit form and check result ${bid_form_refresh_btn_locator} ${bid_form_refresh_success_msg} ${tender_created_checker_element_locator} ${true} | |
220 | - Run Keyword If 'status' != '${field}' open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
221 | -# click visible element ${bid_form_open_btn_locator} | |
222 | - capture page screenshot | |
223 | - Run Keyword If 'status' != '${field}' wait until popup is visible | |
224 | -# ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} | |
225 | -# wait until page contains element with reloading ${question_open_form_answer_locator} | |
226 | - capture page screenshot | |
227 | - Run Keyword If 'status' == '${field}' submit form and check result ${bid_form_refresh_btn_locator} ${bid_form_refresh_success_msg} ${tender_created_checker_element_locator} ${true} | |
228 | - #${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' get value by locator on opened page ${bid_lotValues_0_value_amount_value_locator} | |
229 | - ${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' get bid value ${bid_lotValues_0_value_amount_value_locator} | |
230 | - ... ELSE Run Keyword If 'status' == '${field}' get value by locator on opened page ${bid_form_bid_status_btn_locator} | |
231 | - ... ELSE Run Keyword If 'value.amount' == '${field}' get bid value ${bid_form_value_amount_input_locator} | |
232 | -## ${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' get value by locator on opened page ${bid_lotValues_0_value_amount_value_locator} | |
233 | -# ... ELSE Run Keyword If 'status' == '${field}' get_text ${bid_form_bid_status_btn_locator} | |
234 | -## ... ELSE Run Keyword If 'status' == '${field}' get value by locator on opened page ${bid_form_bid_status_btn_locator} | |
235 | -## ... ELSE Run Keyword If 'value.amount' == '${field}' get value by locator on opened page ${bid_form_value_amount_input_locator} | |
236 | -# submit current visible popup | |
237 | -## ${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' or 'value.amount' == '${field}' playtender_service.split_joinvalue ${return_value} | |
238 | -## ${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' or 'value.amount' == '${field}' Convert To Number ${return_value} | |
239 | - [Return] ${return_value} | |
240 | - | |
241 | -fill bid form remove | |
242 | - [Documentation] Змінити статус цінової пропозиції для тендера tender_uaid | |
243 | - ... користувача username на cancelled. | |
244 | - | |
245 | - click visible element ${bid_form_remove_btn_locator} | |
246 | - submit form and check result ${alert_opened_close_bid_btn_locator} ${bid_form_submit_remove_success_msg} ${tender_created_checker_element_locator} ${true} | |
247 | - | |
248 | -get bid value | |
249 | - [Arguments] ${field} | |
250 | - [Documentation] Отримати значення поля field пропозиції користувача | |
251 | - ... username для тендера tender_uaid. | |
252 | - | |
253 | - ${return_value} = get value by locator on opened page ${field} | |
254 | - ${return_value} = playtender_service.split_joinvalue ${return_value} | |
255 | - ${return_value} = Convert To Number ${return_value} | |
256 | - [Return] ${return_value} | |
257 | - |
playtender_bid_variables.robot
deleted
100644 → 0
1 | -*** Variables *** | |
2 | - | |
3 | -#bids | |
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"] | |
6 | -${bid_form_submit_success_msg} = Пропозиція створена | |
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 | |
10 | -${bid_form_feature_input_locator_select_tpl} = jquery=[data-opid*="%title%"] | |
11 | -${bid_form_get_feature_input_locator_tpl} = return $('.fancybox-is-open .fancybox-content [data-opid*="%title%"] | |
12 | -${bid_form_get_feature_value_input_locator_tpl} = option[data-weight-source*="%value%"]').text() | |
13 | -${bid_form_feature_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content [data-opid*="%title%"] | |
14 | -${bid_form_feature_value_input_locator_tpl} = option[data-weight-source*="%value%"] | |
15 | -${bid_form_value_amount_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-value_amount"] | |
16 | -${bid_form_value_subcontracting_details_input_locator} = jquery=.fancybox-is-open .fancybox-content textarea[id*="-subcontracting_details"] | |
17 | -${bid_form_value_self_eligible_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-self_eligible"] | |
18 | -${bid_form_value_self_qualified_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-self_qualified"] | |
19 | -${bid_form_value_yearly_payments_percentage_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-yearly_payments_percentage"] | |
20 | -${bid_form_value_contract_duration_years_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_years"] | |
21 | -${bid_form_value_contract_duration_days_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_days"] | |
22 | -${bid_form_value_annual_costs_reduction_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content input[name*="[annual_costs_reduction_%index%]"] | |
23 | - | |
24 | -${add_file_to_bid_all_form_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .js-upload-documents | |
25 | -${add_file_to_bid_form_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .js-upload-documents input[type$="file"]:first | |
26 | -${bid_form_add_document_all_btn_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .js-upload-documents input[type$="file"]:first | |
27 | -${bid_form_add_document_type_input_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last select[id*="-document_type"]:last | |
28 | -${bid_form_add_document_description_btn_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last [href$="#edit"]:last | |
29 | -${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 | |
30 | -${bid_form_add_document_close_description_btn_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .popover.fade.top.in [href$="#close"] | |
31 | -${bid_form_add_document_confidentiality_input_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .popover.fade.top.in [id$="-confidentiality"] | |
32 | -${bid_form_add_document_confidentialityrationale_input_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .popover.fade.top.in textarea[id*="-confidentiality_rationale"].form-control | |
33 | -${bid_form_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success | |
34 | -${bid_form_edit_document_all_btn_locator} = jquery=.form-documents-group .tab-content .item-wrapper.js-item:last a[href*="#reupload"] | |
35 | - | |
36 | -${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 | |
37 | -${bid_lotValues_0_value_amount_value_locator_type} = float | |
38 | - | |
39 | -${bid_popup_locator} = jquery=.fancybox-slide .modal.fancybox-content | |
40 | - | |
41 | -${bid_form_refresh_success_msg} = Закупівля оновлена. | |
42 | -${bid_form_refresh_btn_locator} = jquery=#tender-general-info a[href*="/utils/tender-sync"] | |
43 | -${bid_form_bid_status_btn_locator} = jquery=.bid-info-wrapper.hidden.info-wrapper .info-row.status-source | |
\ No newline at end of file |
playtender_claim.robot
deleted
100644 → 0
1 | -*** Settings *** | |
2 | - | |
3 | -Resource playtender_common.robot | |
4 | -Resource playtender_claim_variables.robot | |
5 | - | |
6 | -*** Keywords *** | |
7 | - | |
8 | - | |
9 | -Створити вимогу | |
10 | - [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${claim} ${doc_name} | |
11 | - [Documentation] Створити вимогу з claim в описі для тендера tender_uaid. | |
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 | - open popup by btn locator ${claim_form_open_btn_locator} | |
18 | - capture page screenshot | |
19 | - input text to exist visible input ${claim_form_complaintform_title_input_locator} ${claim.data.title} | |
20 | - capture page screenshot | |
21 | - input text to exist visible input ${claim_form_complaintform_description_input_locator} ${claim.data.description} | |
22 | - capture page screenshot | |
23 | - Run Keyword And Ignore Error Run Keyword If '${type}' == 'tender' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Закупівля | |
24 | - capture page screenshot | |
25 | - Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Лот | |
26 | - capture page screenshot | |
27 | - Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_input_locator} | |
28 | - ${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} | |
29 | - Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_select_locator} | |
30 | - capture page screenshot | |
31 | - Run Keyword And Ignore Error Select From List By Label ${claim_form_complaintform_complaintform_type_input_locator} Вимога | |
32 | - Run Keyword And Ignore Error Run Keyword If '${type}' == 'winner_complaint' or '${claim.data.type}' == 'complaint' Select From List By Label ${claim_form_complaintform_complaintform_type_input_locator} Скарга | |
33 | - | |
34 | - capture page screenshot | |
35 | -### Run Keyword If '${doc_name}' != 'null' click visible element ${claim_form_complaintform_document_btn_locator} | |
36 | - capture page screenshot | |
37 | - Run Keyword If '${doc_name}' != 'null' choose file ${add_file_to_form_locator} ${doc_name} | |
38 | - capture page screenshot | |
39 | - Run Keyword If '${doc_name}' != 'null' wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
40 | - capture page screenshot | |
41 | -# Run Keyword If '${doc_name}' != 'null' submit current visible popup | |
42 | - submit form and check result ${claim_form_complaintform_submit_btn_locator} ${claim_form_submit_success_msg} ${tender_created_checker_element_locator} | |
43 | -# Функция ожидания claim_uaid_text_locator соответствующей вимоги | |
44 | -# click visible element ${claim_form_open_btn_locator} | |
45 | - reload page | |
46 | - wait until page does not contain element with reloading ${claim_sync_element_locator} 60 | |
47 | - wait until page contains element with reloading ${claim_uaid_text_locator} | |
48 | - ${return_value}= get text ${claim_uaid_text_locator} | |
49 | - ${return_value}= Convert To String ${return_value} | |
50 | - [return] ${return_value} | |
51 | - | |
52 | -Скасувати вимогу | |
53 | - [Arguments] ${username} ${tender_uaid} ${complaintID} ${cancellation_data} ${award_index} | |
54 | - [Documentation] Перевести вимогу complaintID для тендера tender_uaid у статус cancelled, | |
55 | - ... використовуючи при цьому дані confirmation_data. | |
56 | - | |
57 | - open tender page by uaid ${tender_uaid} | |
58 | - click visible element and wait until page contains element ${claim_page_open_btn_locator} ${claim_form_open_btn_locator} | |
59 | - ${claim_open_form_answer_locator} = replace string ${claim_open_form_answer_btn_locator_tpl} %title% ${complaintID} | |
60 | - wait until page contains element with reloading ${claim_open_form_answer_locator} | |
61 | - ${claim_form_cancel_open_btn_locator} = replace string ${claim_form_cancel_open_btn_locator_tpl} %complaint_id% ${complaintID} | |
62 | - wait until page contains element with reloading ${claim_form_cancel_open_btn_locator} | |
63 | - open popup by btn locator ${claim_form_cancel_open_btn_locator} | |
64 | - capture page screenshot | |
65 | - input text to exist visible input ${claim_form_cancellation_reason_input_locator} ${cancellation_data.data.cancellationReason} | |
66 | - capture page screenshot | |
67 | - submit form and check result ${claim_form_complaintform_submit_btn_locator} ${claim_cancel_submit_success_msg} ${tender_created_checker_element_locator} | |
68 | - | |
69 | -get claim information | |
70 | - [Arguments] ${tender_uaid} ${complaintID} ${field_name} ${award_index}=${None} | |
71 | - [Documentation] Отримати значення поля field_name скарги/вимоги complaintID про | |
72 | - ... виправлення умов закупівлі/лоту для тендера tender_uaid (скарги/вимоги про | |
73 | - ... виправлення визначення переможця під номером award_index, якщо award_index != None). | |
74 | - | |
75 | - open tender page by uaid ${tender_uaid} | |
76 | - click visible element ${claim_page_open_btn_locator} | |
77 | - capture page screenshot | |
78 | - ${claim_open_form_answer_locator} = replace string ${claim_open_form_answer_btn_locator_tpl} %title% ${complaintID} | |
79 | - wait until page contains element with reloading ${claim_open_form_answer_locator} | |
80 | - capture page screenshot | |
81 | - | |
82 | - ${claim_wrapper_complain_id_value_locator} = set variable ${claim_open_form_answer_locator} | |
83 | -# ${claim_wrapper_complaint_id_value_locator} = replace string ${claim_wrapper_complain_id_value_locator_tpl} %complain_id% ${complaintID} | |
84 | - ${claim_description_value_locator} = Run Keyword If 'description' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_description_value_locator} | |
85 | - ${claim_title_value_locator} = Run Keyword If 'title' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_title_value_locator} | |
86 | - ${claim_complain_id_value_locator} = Run Keyword If 'complaintID' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_complain_id_value_locator} | |
87 | - ${claim_status_value_locator} = Run Keyword If 'status' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_status_value_locator} | |
88 | - ${claim_resolution_type_value_locator} = Run Keyword If 'resolutionType' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_resolution_type_value_locator} | |
89 | - ${claim_resolution_value_locator} = Run Keyword If 'resolution' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_resolution_value_locator} | |
90 | - ${claim_satisfied_value_locator} = Run Keyword If 'satisfied' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_satisfied_value_locator} | |
91 | - ${claim_related_lot_value_locator} = Run Keyword If 'relatedLot' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_related_lot_value_locator} | |
92 | - ${claim_cancellation_reason_value_locator} = Run Keyword If 'cancellationReason' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_cancellation_reason_value_locator} | |
93 | - | |
94 | - Run Keyword If "${TEST_NAME}" == "Можливість відповісти на вимогу про виправлення умов закупівлі" Wait Until Keyword Succeeds 420 s 15 s Wait For Answered ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
95 | - Run Keyword If "${TEST_NAME}" == "Можливість відповісти на вимогу про виправлення умов лоту" Wait Until Keyword Succeeds 420 s 15 s Wait For Answered ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
96 | - 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} | |
97 | - Run Keyword If "${TEST_NAME}" == "Відображення задоволення вимоги" Wait Until Keyword Succeeds 300 s 15 s Wait For Satisfied ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
98 | - Run Keyword If "${TEST_NAME}" == "Відображення незадоволення вимоги" Wait Until Keyword Succeeds 300 s 15 s Wait For Satisfied ${complaintID} ${claim_wrapper_complain_id_value_locator} | |
99 | - 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} | |
100 | - 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} | |
101 | - 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} | |
102 | - 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} | |
103 | - 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} | |
104 | - 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} | |
105 | - 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} | |
106 | - | |
107 | - Run Keyword And Return If 'description' == '${field_name}' get value by locator on opened page ${claim_description_value_locator} | |
108 | - Run Keyword And Return If 'complaintID' == '${field_name}' get value by locator on opened page ${claim_complain_id_value_locator} | |
109 | - Run Keyword And Return If 'title' == '${field_name}' get value by locator on opened page ${claim_title_value_locator} | |
110 | - Run Keyword And Return If 'status' == '${field_name}' get value by locator on opened page ${claim_status_value_locator} | |
111 | - Run Keyword And Return If 'resolutionType' == '${field_name}' get value by locator on opened page ${claim_resolution_type_value_locator} | |
112 | - Run Keyword And Return If 'resolution' == '${field_name}' get value by locator on opened page ${claim_resolution_value_locator} | |
113 | - Run Keyword And Return If 'satisfied' == '${field_name}' Отримати інформацію із скарги satisfied ${claim_satisfied_value_locator} | |
114 | - Run Keyword And Return If 'relatedLot' == '${field_name}' get value by locator on opened page ${claim_related_lot_value_locator} | |
115 | - Run Keyword And Return If 'cancellationReason' == '${field_name}' get value by locator on opened page ${claim_cancellation_reason_value_locator} | |
116 | - | |
117 | -Отримати інформацію із документа скарги title | |
118 | - [Arguments] ${complaintID} ${doc_id} | |
119 | - [Documentation] Отримати значення поля title з документу з doc_id в описі для скарги для тендера. | |
120 | - | |
121 | - click visible element ${claim_page_open_btn_locator} | |
122 | - ${claim_open_form_answer_locator} = replace string ${claim_open_form_answer_btn_locator_tpl} %title% ${complaintID} | |
123 | - wait until page contains element with reloading ${claim_open_form_answer_locator} | |
124 | - ${claim_file_name_input_locator} = replace string ${claim_file_name_input_locator_tpl} %complain_id% ${complaintID} | |
125 | -# wait until page contains element with reloading ${claim_file_name_input_locator} | |
126 | - | |
127 | - ${return_value} = get text ${claim_file_name_input_locator} | |
128 | - [return] ${return_value} | |
129 | - | |
130 | -get document complaint | |
131 | - [Arguments] ${complaintID} ${doc_id} | |
132 | - [Documentation] Завантажити файл doc_id до скарги complaintID для тендера tender_uaid | |
133 | - ... в директорію ${OUTPUT_DIR} для перевірки вмісту цього файлу. | |
134 | - | |
135 | - ${claim_file_name_input_locator} = replace string ${claim_file_name_input_locator_tpl} %complain_id% ${complaintID} | |
136 | - wait until page contains element with reloading ${claim_file_name_input_locator} | |
137 | - ${claim_file_link_input_locator} = replace string ${claim_file_link_input_locator_tpl} %complain_id% ${complaintID} | |
138 | - ${claim_file_name_input_locator} = replace string ${claim_file_name_input_locator_tpl} %complain_id% ${complaintID} | |
139 | - wait until page contains element with reloading ${tender_new_doc_locator} | |
140 | - | |
141 | - ${file_link} = Execute Javascript ${claim_file_link_input_locator} | |
142 | - ${file_name} = get text ${claim_file_name_input_locator} | |
143 | - download_file ${file_link} ${file_name} ${OUTPUT_DIR} | |
144 | - [return] ${file_name} | |
145 | - | |
146 | - | |
147 | -Підтвердити вирішення вимоги | |
148 | - [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${complaintID} ${data} ${award_index} | |
149 | - [Documentation] Підтвердити вирішення вимоги | |
150 | - | |
151 | - open tender page by uaid ${tender_uaid} | |
152 | - click visible element ${claim_page_open_btn_locator} | |
153 | - click visible element and wait until page contains element ${claim_page_open_btn_locator} ${claim_form_open_btn_locator} | |
154 | - ${claim_form_resolved_input_locator} = replace string ${claim_form_resolved_input_locator_tpl} %complaint_id% ${complaintID} | |
155 | - open popup by btn locator ${claim_form_resolved_input_locator} | |
156 | - ${value} = Set Variable If '${data.data.satisfied}' Задоволен Не задоволен | |
157 | - run keyword and ignore error select from visible list by label ${claim_form_satisfied_input_locator} ${value} | |
158 | - capture page screenshot | |
159 | - submit form and check result ${claim_form_complaintform_submit_btn_locator} ${claim_form_satisfied_submit_success_msg} ${None} | |
160 | - | |
161 | - | |
162 | -Відповісти на вимогу | |
163 | - [Arguments] ${username} ${tender_uaid} ${complaintID} ${answer_data} ${award_index} | |
164 | - [Documentation] Відповісти на вимогу complaintID | |
165 | - ... для тендера tender_uaid, використовуючи при цьому дані answer_data. | |
166 | - | |
167 | - open tender page by uaid ${tender_uaid} | |
168 | - click visible element ${claim_page_open_btn_locator} | |
169 | - ${claim_open_form_answer_locator} = replace string ${claim_open_form_answer_btn_locator_tpl} %title% ${complaintID} | |
170 | - wait until page contains element with reloading ${claim_open_form_answer_locator} | |
171 | - ${claim_form_open_form_answer_btn_locator} = replace string ${claim_form_open_form_answer_btn_locator_tpl} %title% ${complaintID} | |
172 | - wait until page contains element with reloading ${claim_form_open_form_answer_btn_locator} | |
173 | - open popup by btn locator ${claim_form_open_form_answer_btn_locator} | |
174 | - input text to exist visible input ${claim_form_answer_resolution_value_locator} ${answer_data.data.resolution} | |
175 | - Run Keyword If '${answer_data.data.resolutionType}' == 'resolved' select from list by value ${claim_form_answer_resolution_type_value_locator} resolved | |
176 | - Run Keyword If '${answer_data.data.resolutionType}' == 'declined' select from list by value ${claim_form_answer_resolution_type_value_locator} declined | |
177 | - Run Keyword If '${answer_data.data.resolutionType}' == 'invalid' select from list by value ${claim_form_answer_resolution_type_value_locator} invalid | |
178 | - Run Keyword And Ignore Error input text to exist visible input ${claim_form_answer_tenderer_action_value_locator} ${answer_data.data.tendererAction} | |
179 | - submit form and check result ${claim_form_answer_success_btn_locator} ${claim_form_answer_submit_success_msg} | |
180 | - | |
181 | - | |
182 | -Wait For Answered | |
183 | - [Arguments] ${complaintID} ${wrapper} | |
184 | - [Documentation] Очікування статусу Answered вимоги complaintID | |
185 | - ... для тендера tender_uaid. | |
186 | - | |
187 | - Reload Page | |
188 | - ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% answered | |
189 | - ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
190 | - Page Should Contain Element ${claim_status_value_locator} | |
191 | - | |
192 | -Wait For Satisfied | |
193 | - [Arguments] ${complaintID} ${wrapper} | |
194 | - [Documentation] Очікування статусу Answered вимоги complaintID | |
195 | - ... для тендера tender_uaid. | |
196 | - | |
197 | - Reload Page | |
198 | - ${claim_form_satisfied_value_locator} = replace string ${claim_form_satisfied_value_locator_tpl} %query% Так | |
199 | - ${claim_form_satisfied_value_locator_tmp} = set variable ${wrapper} ${claim_form_satisfied_value_locator} | |
200 | - Page Should Contain Element ${claim_form_satisfied_value_locator_tmp} | |
201 | - | |
202 | -Wait For Resolved | |
203 | - [Arguments] ${complaintID} ${wrapper} | |
204 | - [Documentation] Очікування статусу Answered вимоги complaintID | |
205 | - ... для тендера tender_uaid. | |
206 | - | |
207 | - Reload Page | |
208 | - ${claim_form_resolved_value_locator} = replace string ${claim_form_status_locator_tpl} %query% resolved | |
209 | - ${claim_form_resolved_value_locator_tmp} = set variable ${wrapper} ${claim_form_resolved_value_locator} | |
210 | - Page Should Contain Element ${claim_form_resolved_value_locator_tmp} | |
211 | - | |
212 | -Wait For Cancelled | |
213 | - [Arguments] ${complaintID} ${wrapper} | |
214 | - [Documentation] Очікування статусу Answered вимоги complaintID | |
215 | - ... для тендера tender_uaid. | |
216 | - | |
217 | - Reload Page | |
218 | - ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% cancelled | |
219 | - ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
220 | - Page Should Contain Element ${claim_status_value_locator} | |
221 | - | |
222 | -Wait For Ignored | |
223 | - [Arguments] ${complaintID} ${wrapper} | |
224 | - [Documentation] Очікування статусу Answered вимоги complaintID | |
225 | - ... для тендера tender_uaid. | |
226 | - | |
227 | - Reload Page | |
228 | - ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% ignored | |
229 | - ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
230 | - Page Should Contain Element ${claim_status_value_locator} | |
231 | - | |
232 | -Wait For Stopping | |
233 | - [Arguments] ${complaintID} ${wrapper} | |
234 | - [Documentation] Очікування статусу Answered вимоги complaintID | |
235 | - ... для тендера tender_uaid. | |
236 | - | |
237 | - Reload Page | |
238 | - ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% stopping | |
239 | - ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
240 | - Page Should Contain Element ${claim_status_value_locator} | |
241 | - | |
242 | -Wait For Pending | |
243 | - [Arguments] ${complaintID} ${wrapper} | |
244 | - [Documentation] Очікування статусу Pending вимоги complaintID | |
245 | - ... для тендера tender_uaid. | |
246 | - | |
247 | - Reload Page | |
248 | - ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% pending | |
249 | - ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
250 | - Page Should Contain Element ${claim_status_value_locator} | |
251 | - | |
252 | -Отримати інформацію із скарги satisfied | |
253 | - [Arguments] ${wrapper} | |
254 | - [Documentation] Отримати інформацію із скарги satisfied | |
255 | - | |
256 | - | |
257 | - ${return_value} = get value by locator on opened page ${wrapper} | |
258 | - ${return_value} = Run Keyword If 'Так' == '${return_value}' Set Variable True | |
259 | - ... ELSE Set Variable False | |
260 | - ${return_value} = Convert To Boolean ${return_value} | |
261 | - [return] ${return_value} | |
262 | - | |
263 | -Wait For Invalid | |
264 | - [Arguments] ${complaintID} ${wrapper} | |
265 | - [Documentation] Очікування статусу Invalid вимоги complaintID | |
266 | - ... для тендера tender_uaid. | |
267 | - | |
268 | - Reload Page | |
269 | - ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% invalid | |
270 | - ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
271 | - Page Should Contain Element ${claim_status_value_locator} | |
272 | - | |
273 | -Wait For Declined | |
274 | - [Arguments] ${complaintID} ${wrapper} | |
275 | - [Documentation] Очікування статусу declined вимоги complaintID | |
276 | - ... для тендера tender_uaid. | |
277 | - | |
278 | - Reload Page | |
279 | - ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% declined | |
280 | - ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | |
281 | - Page Should Contain Element ${claim_status_value_locator} | |
282 | - | |
283 | - |
playtender_claim_variables.robot
deleted
100644 → 0
1 | -*** Variables *** | |
2 | - | |
3 | -#claim | |
4 | -${claim_page_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender-complaint"] | |
5 | -#${claim_form_open_btn_locator} = jquery=#tender-part-pjax a[href*="/tender/complaint-create"]:first | |
6 | -${claim_form_open_btn_locator} = jquery=#tender-part-pjax a[href*="tender-complaint/create"]:first | |
7 | -${claim_form_complaintform_title_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="complaintform-title"] | |
8 | -${claim_form_complaintform_description_input_locator} = jquery=.fancybox-is-open .fancybox-content textarea[id*="complaintform-description"] | |
9 | -${claim_form_complaintform_related_of_input_locator} = jquery=.fancybox-is-open .fancybox-content select[id*="complaintform-related_of"] | |
10 | -${claim_form_complaintform_related_lot_input_locator} = jquery=.fancybox-is-open .fancybox-content select[id*="complaintform-related_lot"] | |
11 | -${claim_form_complaintform_related_lot_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content select[id*="complaintform-related_lot"] option:contains("%type_id%") | |
12 | -${claim_form_complaintform_complaintform_type_input_locator} = jquery=.fancybox-is-open .fancybox-content select[id*="complaintform-type"] | |
13 | -${claim_form_complaintform_document_btn_locator} = jquery=.fancybox-is-open .fancybox-content a[data-url*="/tender/get-complaint-document"] | |
14 | -${claim_form_complaintform_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success | |
15 | -${claim_uaid_text_locator} = jquery=#tender-complaint-list div.item.js-item:first .complaint-id span.value | |
16 | -#${claim_form_submit_success_msg} = Вимога успішно подана | |
17 | -${claim_form_submit_success_msg} = успішно подана | |
18 | - | |
19 | -${claim_cancel_submit_success_msg} = Вимога/скарга скасована. | |
20 | - | |
21 | -#${claim_form_cancel_open_btn_locator_tpl} = jquery=#tender-complaint-list div.item.js-item a[href*="/tender/complaint-cancel"]:last | |
22 | -#${claim_form_cancel_open_btn_locator} = jquery=#tender-complaint-list div.item.js-item a[href*="/tender/complaint-cancel"]:last | |
23 | -${claim_form_cancellation_reason_input_locator} = jquery=#complaintcancelform-cancellation_reason | |
24 | -${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"] | |
25 | - | |
26 | -${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-staging.prozorro.gov.ua"]').attr("href") | |
27 | -${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-staging.prozorro.gov.ua"] | |
28 | - | |
29 | -${claim_wrapper_complain_id_value_locator_tpl} = jquery=#tender-complaint-pjax .complaint__item:first | |
30 | -#${claim_wrapper_complain_id_value_locator_tpl} = jquery=#tender-complaint-pjax .complaint__item[data-title*="%complain_id%"] | |
31 | -${claim_description_value_locator} = .complaint-info-wrapper .info-row.description .value | |
32 | -${claim_title_value_locator} = .complaint-info-wrapper .info-row.title .value | |
33 | -${claim_complain_id_value_locator} = .complaint-info-wrapper .info-row.complaint-id .value | |
34 | -${claim_status_value_locator} = .complaint-info-wrapper .info-row.status-source.hidden | |
35 | -${claim_resolution_type_value_locator} = .complaint-info-wrapper .info-row.resolution-type-source.hidden | |
36 | -${claim_cancellation_reason_value_locator} = .complaint-info-wrapper .info-row.cancellation-reason .value | |
37 | -${claim_related_lot_value_locator} = .complaint-info-wrapper .info-row.related-item .value | |
38 | -${claim_resolution_value_locator} = .complaint-info-wrapper .info-row.resolution .value | |
39 | -${claim_satisfied_value_locator} = .complaint-info-wrapper .info-row.satisfied .value | |
40 | - | |
41 | -${claim_sync_element_locator} = jquery=.synhronized__icon.fa.fa-refresh.fa-spin | |
42 | - | |
43 | -${claim_open_form_answer_btn_locator_tpl} = jquery=#tender-complaint-list .js-item div[data-complaint-id*="%title%"] | |
44 | -${claim_form_open_form_answer_btn_locator_tpl} = jquery=#tender-complaint-list .js-item div[data-complaint-id*="%title%"] .btn.btn-success | |
45 | -${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"] | |
46 | -${claim_form_satisfied_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintresolveform-satisfied | |
47 | -${claim_form_satisfied_submit_success_msg} = Вимога вирішена, дочекайтесь опублікування на сайті уповноваженого органу. | |
48 | -#formanswer | |
49 | -${claim_form_answer_resolution_value_locator} = jquery=#tender-complaint-answer-form #complaintanswerform-resolution | |
50 | -${claim_form_answer_tenderer_action_value_locator} = jquery=#tender-complaint-answer-form #complaintanswerform-tenderer_action | |
51 | -${claim_form_answer_resolution_type_value_locator} = jquery=#tender-complaint-answer-form #complaintanswerform-resolution_type | |
52 | -${claim_form_answer_success_btn_locator} = jquery=#tender-complaint-answer-form .btn.btn-success | |
53 | -${claim_form_answer_submit_success_msg} = Відповідь на вимогу надана, дочекайтесь опублікування на сайті уповноваженого органу. | |
54 | -${claim_form_status_locator_tpl} = .complaint-info-wrapper .info-row.status-source.hidden:contains(%query%) | |
55 | -${claim_form_satisfied_value_locator_tpl} = .complaint-info-wrapper .info-row.satisfied .value:contains(%query%) |
playtender_common.robot
deleted
100644 → 0
1 | -*** Settings *** | |
2 | - | |
3 | -Library Selenium2Library | |
4 | -Library String | |
5 | -Library Collections | |
6 | -Library playtender_service.py | |
7 | -Resource playtender_variables.robot | |
8 | - | |
9 | -*** Variables *** | |
10 | - | |
11 | -${broker} = playtender | |
12 | -${broker_username} = | |
13 | -${broker_baseurl} = | |
14 | -${broker_browser} = | |
15 | -${broker_language_code} = uk | |
16 | -${test_role} = | |
17 | -${is_test_role_owner} = | |
18 | - | |
19 | -@{browser_default_size} = ${1200} ${1000} | |
20 | -@{browser_default_position} = ${0} ${0} | |
21 | - | |
22 | -${popup_transaction_time} = 600ms | |
23 | - | |
24 | -*** Keywords *** | |
25 | - | |
26 | -init environment | |
27 | - [Arguments] ${username} | |
28 | - [Documentation] ініціює необхідні глобальні змінні | |
29 | - | |
30 | - set global variable ${broker_username} ${username} | |
31 | - set global variable ${broker_baseurl} ${BROKERS['${broker}'].basepage} | |
32 | - set global variable ${broker_browser} ${USERS.users['${broker_username}'].browser} | |
33 | - set global variable ${test_role} ${ROLE} | |
34 | - ${is_test_role_owner} = set variable if '${test_role}' == 'tender_owner' ${True} ${False} | |
35 | - set global variable ${is_test_role_owner} ${is_test_role_owner} | |
36 | - | |
37 | - register keyword to run on failure __private__handle_keyword_failure | |
38 | - | |
39 | -set site language by code | |
40 | - [Arguments] ${language_code} | |
41 | - [Documentation] змінити мову сайту | |
42 | - | |
43 | - ${is_equal} = __private__check_site_language_code ${language_code} | |
44 | - run keyword if ${is_equal} == ${False} __private__open_site_language_dropdown_and_select_language_by_code ${language_code} | |
45 | - | |
46 | -login to site | |
47 | - [Arguments] ${user_data} | |
48 | - [Documentation] авторизувати вказаного користувача, масив повинен містити login, password | |
49 | - | |
50 | -# click visible element ${login_popup_open_locator} | |
51 | -# wait until popup is visible | |
52 | - open popup by btn locator ${login_popup_open_locator} | |
53 | - input text to visible input ${login_popup_login_input_locator} ${user_data['login']} | |
54 | - input text to visible input ${login_popup_password_input_locator} ${user_data['password']} | |
55 | - click visible element ${login_popup_submit_btn_locator} | |
56 | - wait until page contains element ${user_logged_checker_element_locator} 30s User can not login | |
57 | - | |
58 | -fill item form in opened popup | |
59 | - [Arguments] ${data} | |
60 | - [Documentation] заповнює відкриту форму згідно вказаних даних | |
61 | - | |
62 | - ${description} = get from dictionary by keys ${data} description | |
63 | - run keyword if condition is not none ${description} input text to visible input ${item_form_popup_description_input_locator} ${description} | |
64 | - ${description_ru} = get from dictionary by keys ${data} description_ru | |
65 | - run keyword if condition is not none ${description_ru} input text to exist visible input ${item_form_popup_description_ru_input_locator} ${description_ru} | |
66 | - ${description_en} = get from dictionary by keys ${data} description_en | |
67 | - run keyword if condition is not none ${description_en} input text to exist visible input ${item_form_popup_description_en_input_locator} ${description_en} | |
68 | - ${quantity} = get from dictionary by keys ${data} quantity | |
69 | - run keyword and ignore error run keyword if condition is not none ${quantity} input number3 to visible input ${item_form_popup_quantity_input_locator} ${quantity} | |
70 | - ${unit} = get from dictionary by keys ${data} unit name | |
71 | - run keyword if condition is not none ${unit} select from visible list by label ${item_form_popup_unit_input_locator} ${unit} | |
72 | - ${classification} = get from dictionary by keys ${data} classification | |
73 | - run keyword if condition is not none ${classification} run keyword if '${mode}' not in 'framework_selection' select classification by code attributes ${item_form_popup_classification_edit_btn_locator} ${classification} | |
74 | - ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications | |
75 | - run keyword if condition is not none ${additional_classifications} run keyword if '${mode}' not in 'framework_selection' select classification by array of code attributes ${item_form_popup_additional_classification_edit_btn_locator} ${additional_classifications} | |
76 | - | |
77 | -get value by locator on opened page | |
78 | - [Arguments] ${locator} ${type}=${None} | |
79 | - [Documentation] отримує значення з відповідного локатору і якщо потрібно перетворює до відповідного типу | |
80 | - | |
81 | - capture page screenshot | |
82 | - Run Keyword And Ignore Error __private__set_element_visible_in_browser_area ${locator} | |
83 | - ${value} = get value by locator ${locator} | |
84 | - ${value} = convert to specified type ${value} ${type} | |
85 | - [Return] ${value} | |
86 | - | |
87 | -get field_value by field_name on opened page | |
88 | - [Arguments] ${field_name} | |
89 | - [Documentation] повертає інформацію з відкритої сторінки, користуючись назвою поля ${field_name}. | |
90 | - ... для назви поля повинен бути вказаний відповідний локатор (!вкінці змінної повинно бути слово locator), | |
91 | - ... і якщо потрібно тип поля окремою змінною (!locator замінюється на type) зі значенням [string,integer,float] | |
92 | - | |
93 | - ${field_name_prepared} = replace string ${field_name} .[ _ | |
94 | - ${field_name_prepared} = replace string ${field_name_prepared} ]. _ | |
95 | - ${field_name_prepared} = replace string ${field_name_prepared} . _ | |
96 | - ${field_name_prepared} = replace string ${field_name_prepared} [ _ | |
97 | - ${field_name_prepared} = replace string ${field_name_prepared} ] _ | |
98 | - ${field_locator_variable_name} = set variable ${field_name_prepared}_locator | |
99 | - ${field_type_variable_name} = set variable ${field_name_prepared}_type | |
100 | - ${field_type_variable_exists} = run keyword and return status variable should exist ${${field_type_variable_name}} | |
101 | - ${field_type} = set variable if ${field_type_variable_exists} == ${True} ${${field_type_variable_name}} ${None} | |
102 | - ${field_locator} = set variable ${${field_locator_variable_name}} | |
103 | - ${field_value} = get value by locator on opened page ${field_locator} ${field_type} | |
104 | - [Return] ${field_value} | |
105 | - | |
106 | -######################################################################################################################## | |
107 | -#################################################### COMMON HELPERS #################################################### | |
108 | -######################################################################################################################## | |
109 | - | |
110 | -click visible element | |
111 | - [Arguments] ${locator} | |
112 | - [Documentation] перевіряє видимість і клікає по елементу | |
113 | - | |
114 | - __private__set_element_visible_in_browser_area ${locator} | |
115 | - click element ${locator} | |
116 | - | |
117 | -click visible element and wait until page contains element | |
118 | - [Arguments] ${locator} ${checker_element_locator} ${waiting_timeout}=30s ${waiting_error}=Another element was not shown after clicking on specific element | |
119 | - [Documentation] перевіряє видимість і клікає по елементу | |
120 | - | |
121 | - click visible element ${locator} | |
122 | - wait until page contains element ${checker_element_locator} ${waiting_timeout} ${waiting_error} | |
123 | - | |
124 | -click removing form item and wait success result | |
125 | - [Arguments] ${locator} | |
126 | - [Documentation] натискає кнопку видалення, очікує успішне повідомлення і закриває повідомлення | |
127 | - | |
128 | - click visible element ${locator} | |
129 | - wait until alert is visible | |
130 | - click visible element ${alert_confirm_btn_locator} | |
131 | - wait until page does not contain element ${alert_confirm_btn_locator} | |
132 | - | |
133 | -click removing form feature and wait success result | |
134 | - [Arguments] ${locator} | |
135 | - [Documentation] натискає кнопку видалення нецінового критерію, очікує успішне повідомлення і закриває повідомлення, а потім закриває вікно нецінового критерію | |
136 | - | |
137 | - js click element ${locator} | |
138 | - wait until alert is visible | |
139 | - click visible element ${alert_confirm_btn_locator} | |
140 | - wait until page does not contain element ${alert_confirm_btn_locator} | |
141 | - submit current visible popup | |
142 | - | |
143 | -input text to visible input | |
144 | - [Arguments] ${locator} ${text} | |
145 | - [Documentation] перевіряє чи елемент видимий у вікні браузера, після чого заповнює його | |
146 | - | |
147 | - __private__set_element_visible_in_browser_area ${locator} | |
148 | - input text ${locator} ${text} | |
149 | - | |
150 | -input text to visible input and press enter | |
151 | - [Arguments] ${locator} ${text} | |
152 | - [Documentation] перевіряє чи елемент видимий у вікні браузера, після чого заповнює його і імітує натиснення кнопки Enter | |
153 | - | |
154 | - input text to visible input ${locator} ${text} | |
155 | - press key ${locator} \\13 | |
156 | - | |
157 | -input text to exist visible input | |
158 | - [Arguments] ${locator} ${text} | |
159 | - [Documentation] перевіряє чи елемент існує і видимий у вікні браузера, після чого заповнює його | |
160 | - | |
161 | - ${input_exists} = get is element exist ${locator} | |
162 | - run keyword if ${input_exists} == ${True} input text to visible input ${locator} ${text} | |
163 | - ... ELSE __private__log input ${locator} does not exist | |
164 | - | |
165 | -input date to input | |
166 | - [Arguments] ${locator} ${isodate} ${format}=%d.%m.%Y | |
167 | - | |
168 | - ${date} = isodate format ${isodate} ${format} | |
169 | - input text to hidden input ${locator} ${date} | |
170 | - | |
171 | -input datetime to input | |
172 | - [Arguments] ${locator} ${isodate} ${format}=%d.%m.%Y %H:%M | |
173 | - | |
174 | - input date to input ${locator} ${isodate} ${format} | |
175 | - | |
176 | -input date to visible input | |
177 | - [Arguments] ${locator} ${isodate} ${format}=%d.%m.%Y | |
178 | - [Documentation] перевіряє чи елемент видимий у вікні браузера, після чого заповнює його відформатовоною датою | |
179 | - | |
180 | - __private__set_element_visible_in_browser_area ${locator} | |
181 | - input date to input ${locator} ${isodate} ${format} | |
182 | - | |
183 | -input datetime to visible input | |
184 | - [Arguments] ${locator} ${isodate} ${format}=%d.%m.%Y %H:%M | |
185 | - [Documentation] перевіряє чи елемент видимий у вікні браузера, після чого заповнює його відформатовоною датою | |
186 | - | |
187 | - input date to visible input ${locator} ${isodate} ${format} | |
188 | - | |
189 | -input datetime to exist visible input | |
190 | - [Arguments] ${locator} ${isodate} ${format}=%d.%m.%Y %H:%M | |
191 | - [Documentation] перевіряє чи елемент видимий у вікні браузера, після чого заповнює його відформатовоною датою | |
192 | - | |
193 | - ${input_exists} = get is element exist ${locator} | |
194 | - run keyword if ${input_exists} == ${True} input date to visible input ${locator} ${isodate} ${format} | |
195 | - ... ELSE __private__log input ${locator} does not exist | |
196 | - | |
197 | -input number to visible input | |
198 | - [Arguments] ${locator} ${number} | |
199 | - [Documentation] робить елемент видимим, число перетворює в строку і записує в поле | |
200 | - | |
201 | - ${number} = convert float to string ${number} | |
202 | - input text to visible input ${locator} ${number} | |
203 | - | |
204 | -input number3 to visible input | |
205 | - [Arguments] ${locator} ${number} | |
206 | - [Documentation] робить елемент видимим, число перетворює в строку і записує в поле | |
207 | - | |
208 | - ${number} = convert_float_to_string_3f ${number} | |
209 | - input text to visible input ${locator} ${number} | |
210 | - | |
211 | -input number to exist visible input | |
212 | - [Arguments] ${locator} ${text} | |
213 | - [Documentation] перевіряє чи елемент існує і видимий у вікні браузера, після чого заповнює його | |
214 | - | |
215 | - ${input_exists} = get is element exist ${locator} | |
216 | - run keyword if ${input_exists} == ${True} input number to visible input ${locator} ${text} | |
217 | - ... ELSE __private__log input ${locator} does not exist | |
218 | - | |
219 | -input month.year of date to visible input | |
220 | - [Arguments] ${locator} ${isodate} | |
221 | - [Documentation] робить елемент видимим, витягує місяць.рік і записує в поле | |
222 | - | |
223 | - ${value} = isodate format ${isodate} %m.%Y | |
224 | - input text to visible input ${locator} ${value} | |
225 | - | |
226 | -input to search form and wait results | |
227 | - [Arguments] ${query_input_locator} ${query} ${result_locator_tpl} | |
228 | - [Documentation] заповнює форму і очікує результат по шаблону селектора | |
229 | - | |
230 | - input text to visible input and press enter ${query_input_locator} ${query} | |
231 | - ${result_locator} = replace string ${result_locator_tpl} %query% ${query} | |
232 | - wait until page contains search ${result_locator} | |
233 | -# wait until page contains element with reloading ${result_locator} | |
234 | - | |
235 | -select from visible list by value | |
236 | - [Arguments] ${locator} ${value} | |
237 | - [Documentation] робить елемент видимим, після чого заповнює його | |
238 | - | |
239 | - __private__set_element_visible_in_browser_area ${locator} | |
240 | - select from list by value ${locator} ${value} | |
241 | - trigger input change event ${locator} | |
242 | - | |
243 | -select from visible list by label | |
244 | - [Arguments] ${locator} ${label} | |
245 | - [Documentation] робить елемент видимим, після чого заповнює його | |
246 | - | |
247 | - __private__set_element_visible_in_browser_area ${locator} | |
248 | - select from hidden list by label ${locator} ${label} | |
249 | - trigger input change event ${locator} | |
250 | - | |
251 | -select from visible list by year of date | |
252 | - [Arguments] ${locator} ${isodate} | |
253 | - [Documentation] робить елемент видимим, витягує рік і обирає в списку | |
254 | - | |
255 | - ${value} = isodate format ${isodate} %Y | |
256 | - select from visible list by value ${locator} ${value} | |
257 | - | |
258 | -select classification by code attributes | |
259 | - [Arguments] ${btn_locator} ${code_attributes} | |
260 | - [Documentation] натискає кнопку відкриття попапу класифікатора і чекає поки він відмалюється, шукає відповідний код і закриває попап | |
261 | - | |
262 | - ${code_attributes_array} = create list ${code_attributes} | |
263 | - select classification by array of code attributes ${btn_locator} ${code_attributes_array} | |
264 | - | |
265 | -select classification by array of code attributes | |
266 | - [Arguments] ${btn_locator} ${code_attributes_array} ${include_schemes}=${None} ${exclude_schemes}=${None} | |
267 | - [Documentation] натискає кнопку відкриття попапу класифікатора і чекає поки він відмалюється, шукає відповідні коди і закриває попап | |
268 | - | |
269 | - ${include_schemes_is_none}= get variable is none ${include_schemes} | |
270 | - ${exclude_schemes_is_none}= get variable is none ${exclude_schemes} | |
271 | - | |
272 | - open popup by btn locator ${btn_locator} ${classification_popup_opened_content_locator} | |
273 | - Capture Page Screenshot | |
274 | - :FOR ${code_attributes} IN @{code_attributes_array} | |
275 | - \ ${disabled} = set variable if ${include_schemes_is_none} == ${False} and '${code_attributes['scheme']}' not in ${include_schemes} ${True} ${False} | |
276 | - \ Capture Page Screenshot | |
277 | - \ ${disabled} = set variable if ${exclude_schemes_is_none} == ${False} and '${code_attributes['scheme']}' in ${exclude_schemes} ${True} ${disabled} | |
278 | - \ Capture Page Screenshot | |
279 | - \ run keyword if ${disabled} == ${False} __private__select_classification_code_in_opened_popup ${code_attributes['id']} ${code_attributes['scheme']} | |
280 | - \ Capture Page Screenshot | |
281 | - Capture Page Screenshot | |
282 | - submit current visible popup | |
283 | - | |
284 | -open site page and wait content element | |
285 | - [Arguments] ${url} ${waiting_timeout}=5s ${waiting_error}=Opening page fails | |
286 | - [Documentation] переходить по посиланню і чекає контенту сторінки | |
287 | - | |
288 | - go to ${url} | |
289 | - wait until page contains element ${page_content_locator} ${waiting_timeout} ${waiting_error} | |
290 | - | |
291 | -open page and wait element by locator | |
292 | - [Arguments] ${url} ${waiting_element_locator} ${waiting_timeout}=5s ${waiting_error}=Opened page does not have specified element locator | |
293 | - [Documentation] переходить по посиланню і чекає поки елемент не буде знайдений на сторінці | |
294 | - | |
295 | - go to ${url} | |
296 | - wait until page contains element ${waiting_element_locator} ${waiting_timeout} ${waiting_error} | |
297 | - | |
298 | -open popup by btn locator | |
299 | - [Arguments] ${btn_locator} ${popup_locator}=${None} | |
300 | - [Documentation] натискає кнопку відкриття попапу і чекає поки він відмалюється | |
301 | - | |
302 | - click visible element ${btn_locator} | |
303 | - ${result} = run keyword and return status wait until popup is visible ${popup_locator} | |
304 | - run keyword if ${result} == ${False} js click element ${btn_locator} | |
305 | - run keyword if ${result} == ${False} wait until popup is visible ${popup_locator} | |
306 | - | |
307 | -submit current visible popup | |
308 | - [Documentation] натискає кнопку сабміту в поточному попапі і чекає поки він закриється | |
309 | - | |
310 | - ${popup_last_id} = __private__get_element_attribute ${popup_opened_last_locator} id | |
311 | - click visible element ${popup_opened_last_submit_btn_locator} | |
312 | - sleep ${popup_transaction_time} | |
313 | - ${popup_last_locator} = set variable id=${popup_last_id} | |
314 | - ${popup_exists} = get is element exist ${popup_last_locator} | |
315 | - return from keyword if ${popup_exists} == ${False} | |
316 | - wait until page does not contain element ${popup_last_locator} 30s Current popup was not hidden | |
317 | - | |
318 | -submit form and check result | |
319 | - [Arguments] ${submit_btn_locator} ${wait_msg}=${None} ${wait_element_locator}=${None} ${sign_is}=${None} | |
320 | - [Documentation] сабмітить форму і чекає повідомлення (якщо задано) + елемент (якщо задано) | |
321 | - | |
322 | - click visible element ${submit_btn_locator} | |
323 | - run keyword and ignore error run keyword if condition is not none ${wait_msg} wait until element is visible ${tender_cpv_form_submit_success_msg} 5 | |
324 | -# run keyword and ignore error Wait Until Page Contains ${tender_cpv_form_submit_success_msg} 60 | |
325 | - Capture Page Screenshot | |
326 | - run keyword and ignore error execute javascript ${tender_cpv_js_submit_btn_locator} | |
327 | - Capture Page Screenshot | |
328 | - run keyword and ignore error run keyword if '${mode}' in 'reporting' close sync alert ${tender_form_submit_reporting_success_msg} | |
329 | - run keyword and ignore error run keyword if condition is not none ${wait_msg} Wait Until Page Contains ${wait_msg} 60 | |
330 | - run keyword and ignore error run keyword if condition is not none ${wait_msg} wait until alert is visible ${wait_msg} | |
331 | - run keyword and ignore error run keyword if condition is not none ${wait_msg} close current visible alert | |
332 | - | |
333 | -#cat проба | |
334 | - run keyword and ignore error run keyword if not ${sign_is} Load Sign | |
335 | - run keyword and ignore error close current visible alert | |
336 | - run keyword and ignore error run keyword if condition is not none ${wait_element_locator} wait until element is visible ${wait_element_locator} 60 | |
337 | - run keyword and ignore error 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 | |
338 | - | |
339 | -close sync alert | |
340 | - [Arguments] ${wait_msg}=${None} | |
341 | - [Documentation] чекає поки попап не стане видимим на сторінці | |
342 | - | |
343 | - ${status}= run keyword if '${mode}' in 'openeu open_competitive_dialogue openua_defense open_esco open_framework' Run Keyword And Return Status Page Should Contain ${wait_msg} | |
344 | - run keyword and ignore error run keyword if ${status} and '${mode}' in 'openeu open_competitive_dialogue openua_defense open_esco open_framework' Wait Until Page Contains ${wait_msg} 60 | |
345 | - run keyword and ignore error run keyword if ${status} and '${mode}' in 'openeu open_competitive_dialogue openua_defense open_esco open_framework' wait until alert is visible ${wait_msg} | |
346 | - run keyword and ignore error run keyword if ${status} and '${mode}' in 'openeu open_competitive_dialogue openua_defense open_esco open_framework' close current visible alert | |
347 | - | |
348 | - | |
349 | -wait until popup is visible | |
350 | - [Arguments] ${popup_locator}=${None} ${waiting_timeout}=30s ${waiting_error}=Opened popup still not visible | |
351 | - [Documentation] чекає поки попап не стане видимим на сторінці | |
352 | - | |
353 | - ${popup_locator_is_none} = get variable is none ${popup_locator} | |
354 | - ${popup_locator} = set variable if ${popup_locator_is_none} == ${False} ${popup_locator} ${popup_opened_content_locator} | |
355 | - ${status} = run keyword and return status wait until element is visible ${popup_locator} ${waiting_timeout} ${waiting_error} | |
356 | - # trying to prevent "StaleElementReferenceException: Message: stale element reference: element is not attached to the page document" error | |
357 | - run keyword if ${status} == ${False} sleep 1 | |
358 | - run keyword if ${status} == ${False} wait until element is visible ${popup_locator} 1 ${waiting_error} | |
359 | - | |
360 | -wait until alert is visible | |
361 | - [Arguments] ${message}=${None} | |
362 | - [Documentation] чекає поки не з'явиться алерт | |
363 | - | |
364 | - ${message_is_none} = get variable is none ${message} | |
365 | - ${message} = convert to string ${message} | |
366 | - ${alert_message_locator} = replace string ${alert_message_contains_text_locator_tpl} %text% ${message} | |
367 | - run keyword if ${message_is_none} == ${True} wait until page contains element ${alert_opened_locator} 60s Alert was not shown | |
368 | - run keyword if ${message_is_none} == ${False} wait until page contains element ${alert_message_locator} 60s Alert was not shown | |
369 | - | |
370 | - # wait for ending animation | |
371 | - sleep 500ms | |
372 | - | |
373 | -close current visible alert | |
374 | - [Documentation] закриває поточний alert | |
375 | - | |
376 | - click visible element ${alert_opened_close_btn_locator} | |
377 | - | |
378 | - # wait for ending animation | |
379 | - sleep 500ms | |
380 | - | |
381 | -wait until page contains search | |
382 | - [Arguments] ${locator} ${retry}=5m ${retry_interval}=2s | |
383 | - [Documentation] чекає поки елемент не з'явиться на сторінці з перезапуском пошуку | |
384 | - | |
385 | - ${result} = get is element exist ${locator} | |
386 | - capture page screenshot | |
387 | - run keyword if ${result} == ${False} wait until keyword succeeds ${retry} ${retry_interval} reload page and fail if element does not exist on search ${locator} | |
388 | - | |
389 | -wait until page contains element with reloading | |
390 | - [Arguments] ${locator} ${retry}=5m ${retry_interval}=2s | |
391 | - [Documentation] чекає поки елемент не з'явиться на сторінці з перезавантаженням сторінки | |
392 | - | |
393 | - ${result} = get is element exist ${locator} | |
394 | - run keyword if ${result} == ${False} wait until keyword succeeds ${retry} ${retry_interval} reload page and fail if element does not exist ${locator} | |
395 | - | |
396 | -wait until page does not contain element with reloading | |
397 | - [Arguments] ${locator} ${retry}=5m ${retry_interval}=2s | |
398 | - [Documentation] чекає поки елемент не пропаде зі сторінки з перезавантаженням сторінки | |
399 | - | |
400 | - ${result} = get is element exist ${locator} | |
401 | - run keyword if ${result} == ${True} wait until keyword succeeds ${retry} ${retry_interval} reload page and fail if element exists ${locator} | |
402 | - capture page screenshot | |
403 | - | |
404 | -wait until tab content is visible | |
405 | - [Arguments] ${tab_link} ${waiting_timeout}=30s ${waiting_error}=Opened tab still not visible | |
406 | - [Documentation] чекає поки контент вказаного табу не буде видимим | |
407 | - | |
408 | - ${tab_link_href} = __private__get_element_attribute ${tab_link} href | |
409 | - ${tab_content_locator} = set variable jquery=${tab_link_href} | |
410 | - wait until element is visible ${tab_content_locator} ${waiting_timeout} ${waiting_error} | |
411 | - | |
412 | -reload page and fail if element exists | |
413 | - [Arguments] ${locator} | |
414 | - [Documentation] перезавантажує сторінку і фейлить тест якщо елемент присутній | |
415 | - | |
416 | - capture page screenshot | |
417 | - reload page | |
418 | - capture page screenshot | |
419 | - ${exists} = get is element exist ${locator} | |
420 | - run keyword if ${exists} == ${True} fail | |
421 | - | |
422 | -reload page and fail if element does not exist | |
423 | - [Arguments] ${locator} | |
424 | - [Documentation] перезавантажує сторінку і фейлить тест якщо елемент відсутній | |
425 | - | |
426 | - reload page | |
427 | - capture page screenshot | |
428 | - ${exists} = get is element exist ${locator} | |
429 | - run keyword if ${exists} == ${False} fail | |
430 | - | |
431 | -reload page and fail if element does not exist on search | |
432 | - [Arguments] ${locator} | |
433 | - [Documentation] перезавантажує сторінку і фейлить тест якщо елемент відсутній в пошуку | |
434 | - | |
435 | - click visible element ${tender_form_search_btn_locator} | |
436 | - ${exists} = get is element exist ${locator} | |
437 | - run keyword if ${exists} == ${False} fail | |
438 | - | |
439 | -get is 404 page | |
440 | - [Documentation] перевіряє чи поточна сторінка з 404 помилкою | |
441 | - | |
442 | - ${exists} = get is element exist ${error_page_404_checker_element_locator} | |
443 | - [Return] ${exists} | |
444 | - | |
445 | -wait until 404 page disappears | |
446 | - [Arguments] ${retry}=5m ${retry_interval}=2s | |
447 | - [Documentation] оновлює сторінку і чекає поки не пропаде 404 помилка | |
448 | - | |
449 | - ${result} = get is 404 page | |
450 | - run keyword if ${result} == ${True} wait until keyword succeeds ${retry} ${retry_interval} reload page and fail if element exists ${error_page_404_checker_element_locator} | |
451 | - | |
452 | -######################################################################################################################## | |
453 | -################################################### PRIVATE KEYWORDS ################################################### | |
454 | -######################################################################################################################## | |
455 | - | |
456 | -__private__handle_keyword_failure | |
457 | - [Documentation] обробка падіння тесту, збір можливої інформації для аналізу проблеми | |
458 | - | |
459 | - capture page screenshot | |
460 | - ${form_errors} = __private__get_all_form_errors | |
461 | - log dictionary ${form_errors} | |
462 | - | |
463 | -__private__get_all_form_errors | |
464 | - [Documentation] збирає всі помилки форм на сторінці | |
465 | - | |
466 | - ${errors} = execute javascript | |
467 | - ... var errors = {}; | |
468 | - ... $('.has-error .help-block-error').each(function () { | |
469 | - ... var cssClass = $(this).attr('class'), text = $(this).text(); | |
470 | - ... cssClass = cssClass.replace("help-block-error", ""); | |
471 | - ... cssClass = cssClass.replace("help-block", ""); | |
472 | - ... errors[cssClass] = text; | |
473 | - ... }); | |
474 | - ... return errors; | |
475 | - [Return] ${errors} | |
476 | - | |
477 | -__private__log | |
478 | - [Arguments] ${msg} | |
479 | - [Documentation] пише в логи | |
480 | - | |
481 | - log ${msg} | |
482 | - log to console ${msg} | |
483 | - | |
484 | -__private__get_element_attribute | |
485 | - [Arguments] ${locator} ${attribute} | |
486 | - [Documentation] повертає значення атрибуту для вказаного елементу | |
487 | - | |
488 | - ${value} = get element attribute ${locator}@${attribute} | |
489 | - [Return] ${value} | |
490 | - | |
491 | -__private__set_element_visible_in_browser_area | |
492 | - [Arguments] ${locator} | |
493 | - [Documentation] робить елемент видимим у вікні браузера | |
494 | - | |
495 | - set element scroll into view ${locator} | |
496 | - | |
497 | -__private__get_site_language_code | |
498 | - [Documentation] повертає код поточної мови сайта | |
499 | - | |
500 | - ${current_language_code} = __private__get_element_attribute ${language_selector_active_element_locator} ${language_selector_active_element_code_attribute_name} | |
501 | - [Return] ${current_language_code} | |
502 | - | |
503 | -__private__check_site_language_code | |
504 | - [Arguments] ${language_code} | |
505 | - [Documentation] повертає чи поточна мова сайту відповідає вказаній | |
506 | - | |
507 | - ${current_language_code} = __private__get_site_language_code | |
508 | - ${is_equal} = set variable if "${current_language_code}" == "${language_code}" ${True} ${False} | |
509 | - [Return] ${is_equal} | |
510 | - | |
511 | -__private__open_site_language_dropdown_and_select_language_by_code | |
512 | - [Arguments] ${language_code} | |
513 | - [Documentation] відкриває випадаючий список мов, обрає потрібну, чекає перезавантаження сторінки | |
514 | - | |
515 | - click visible element ${language_selector_open_element_locator} | |
516 | - ${language_selector_list_element_locator} = replace string ${language_selector_list_element_locator_tpl} %code% ${language_code} | |
517 | - click element ${language_selector_list_element_locator} | |
518 | - ${language_selector_active_element_locator} = replace string ${language_selector_active_element_by_code_locator_tpl} %code% ${language_code} | |
519 | - wait until page contains element ${language_selector_active_element_locator} 30s Language have not changed | |
520 | - | |
521 | -__private__select_classification_code_in_opened_popup | |
522 | - [Arguments] ${code} ${scheme}=${None} | |
523 | - [Documentation] в поточний попап з класифікатором перемикає схему, шукає заданий код в полі пошуку і обирає його | |
524 | - | |
525 | - # check scheme | |
526 | - ${scheme_is_none} = get variable is none ${scheme} | |
527 | - ${scheme} = convert to string ${scheme} | |
528 | - run keyword if ${scheme_is_none} == ${False} and '${scheme}' not in ${site_allowed_schemes} __private__log Scheme "${scheme}" is needed to implement. | |
529 | - return from keyword if ${scheme_is_none} == ${False} and '${scheme}' not in ${site_allowed_schemes} | |
530 | - ${scheme_tab_locator} = replace string ${classification_popup_scheme_tab_locator_tpl} %scheme% ${scheme} | |
531 | - ${scheme_tab_exists} = get is element exist ${scheme_tab_locator} | |
532 | - run keyword if ${scheme_tab_exists} == ${True} click visible element ${scheme_tab_locator} | |
533 | - run keyword if ${scheme_tab_exists} == ${True} wait until tab content is visible ${scheme_tab_locator} | |
534 | - ... ELSE __private__log Classification scheme tab ${scheme} does not exist | |
535 | - # seraching code | |
536 | - input text to visible input and press enter ${classification_popup_search_input_locator} ${code} | |
537 | - ${code} = convert to string ${code} | |
538 | - ${code_item_locator} = replace string ${classification_popup_serach_item_locator_tpl} %code% ${code} | |
539 | - wait until page contains element ${code_item_locator} 90s Specified classification code was not found | |
540 | - click visible element ${code_item_locator} | |
541 | - | |
542 | -Load Sign | |
543 | - run keyword and ignore error click visible element ${plan_form_ecp_btn_locator} | |
544 | - ${loadingfakeKey} = Run keyword And Return Status Wait Until Page Contains Це фейкове накладання ЕЦП 30 | |
545 | - run keyword and ignore error Run Keyword If ${loadingfakeKey} == True submit form and check result id=SignDataButton ${qualification_ecp_form_submit_success_msg} | |
546 | - ${loadingKey} = Run keyword And Return Status Wait Until Page Contains Серійний номер 30 | |
547 | - Run Keyword If ${loadingfakeKey} == True Fail Далі не ходити | |
548 | - Run Keyword If ${loadingKey} == False Load Sign Data | |
549 | - Wait Until Page Contains Серійний номер 60 | |
550 | - submit form and check result id=SignDataButton ${qualification_ecp_form_submit_success_msg} | |
551 | - | |
552 | -Load Sign Data | |
553 | - Wait Until Page Contains Element id=CAsServersSelect 60 | |
554 | - Select From List By Label id=CAsServersSelect Тестовий ЦСК АТ "ІІТ" | |
555 | - Wait Until Page Contains Element id=PKeyFileName 60 | |
556 | - Choose File id=PKeyFileInput ${CURDIR}/Key-6.dat | |
557 | - Wait Until Page Contains Element id=PKeyPassword 60 | |
558 | - Input Text id=PKeyPassword 12345677 | |
559 | - Wait Until Page Contains Element id=PKeyReadButton 60 | |
560 | - Click Element id=PKeyReadButton | |
561 | - | |
562 | -GetDictionaryKeyExist | |
563 | - [Arguments] ${Dictionary Name} ${Key} | |
564 | - Run Keyword And Return Status Dictionary Should Contain Key ${Dictionary Name} ${Key} | |
565 | - | |
566 | -GetValueFromDictionaryByKey [Arguments] ${Dictionary Name} ${Key} | |
567 | - ${KeyIsPresent}= Run Keyword And Return Status Dictionary Should Contain Key ${Dictionary Name} ${Key} | |
568 | - ${Value}= Run Keyword If ${KeyIsPresent} Get From Dictionary ${Dictionary Name} ${Key} | |
569 | - Return From Keyword ${Value} | |
570 | - |
playtender_contract.robot
deleted
100644 → 0
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}' == 'Неможливість вказати ціну договору з ПДВ більше ніж результат проведення аукціону' and '${mode}' not in 'open_esco' Fail Amount should be less or equal to awarded amount | |
16 | - Run Keyword If '${TEST_NAME}' == 'Неможливість вказати ціну договору з ПДВ більше ніж результат проведення аукціону' and '${mode}' in 'open_esco' Fail Can't update amount for contract value | |
17 | - Run Keyword If '${TEST_NAME}' == 'Неможливість зменшити ціну договору без ПДВ на суму більшу за 20% від ціни договору з ПДВ (закупівля з ПДВ)' Fail Amount should be greater than amountNet and differ by no more than 20.0% | |
18 | - ${complaint_period_end_date} = run keyword if '${mode}' not in 'reporting' get value by locator on opened page ${tender_awards_complaintPeriod_endDate_value_locator} | |
19 | - run keyword if '${mode}' not in 'reporting' Wait date ${complaint_period_end_date} | |
20 | - click visible element ${contract_form_0_open_btn_locator} | |
21 | - Run Keyword And Ignore Error Wait Until Page Contains ${contract_contractform_contract_number_input_locator} 10 | |
22 | - run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 5 | |
23 | - wait until element is visible ${contract_contractform_contract_number_input_locator} 10 | |
24 | - capture page screenshot | |
25 | - ${file_path} ${file_name} ${file_content} = create_fake_doc | |
26 | - ${value_added_tax_included} = Run Keyword If '${mode}' in 'negotiation reporting' run keyword and return status Checkbox Should Not Be Selected ${contract_contractform_value_added_tax_included_locator} | |
27 | - run keyword if '${mode}' in 'negotiation reporting' and ${value_added_tax_included} Execute Javascript $('[id$="contractform-value_added_tax_included"]').click() | |
28 | -# run keyword if '${mode}' == 'negotiation' and ${value_added_tax_included} click visible element ${contract_contractform_value_added_tax_included_locator} | |
29 | - ${contract_number} = get value by locator on opened page ${contract_contractform_contract_number_input_locator} | |
30 | - Run Keyword If '${contract_number}' == '' input text to exist visible input ${contract_contractform_contract_number_input_locator} 1234567890 | |
31 | - capture page screenshot | |
32 | - ${date_signed} = Get Current Date | |
33 | - ${contract_date_signed} = get value by locator on opened page ${contract_contractform_date_signed_input_locator} | |
34 | - Run Keyword If '${contract_date_signed}' == '' input datetime to visible input ${contract_contractform_date_signed_input_locator} ${date_signed} | |
35 | - ${date_start} = Get Current Date increment=02:00:00 | |
36 | - ${contract_date_start} = get value by locator on opened page ${contract_contractform_date_start_input_locator} | |
37 | - Run Keyword If '${contract_date_start}' == '' input datetime to visible input ${contract_contractform_date_start_input_locator} ${date_start} | |
38 | - ${date_end} = Get Current Date increment=04:00:00 | |
39 | - ${contract_date_end} = get value by locator on opened page ${contract_contractform_date_end_input_locator} | |
40 | - Run Keyword If '${contract_date_end}' == '' input datetime to visible input ${contract_contractform_date_end_input_locator} ${date_end} | |
41 | - | |
42 | - Run Keyword If '${field_name}' == 'value.amount' input number to exist visible input ${contract_contractform_amount_input_locator} ${amount} | |
43 | -# ${budget} = Run Keyword If '${field_name}' == 'value.amount' and '${mode}' == 'negotiation' Set Variable ${amount/0.85} | |
44 | -# Run Keyword If '${field_name}' == 'value.amount' and '${mode}' == 'negotiation' input number to exist visible input ${contract_contractform_amount_input_locator} ${budget} | |
45 | - Run Keyword If '${field_name}' == 'value.amountNet' input number to exist visible input ${contract_contractform_amount_net_input_locator} ${amount} | |
46 | - capture page screenshot | |
47 | - choose file ${add_file_to_contract_contractform_locator} ${file_path} | |
48 | - wait until page does not contain element ${popup_dynamic_form_loading_element_locator} 60 | |
49 | - wait until element is visible ${contract_contractform_add_document_type_input_locator} 60 | |
50 | - capture page screenshot | |
51 | - Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content select[id*="-document_type"]:last').val('contractSigned').change() | |
52 | - capture page screenshot | |
53 | - click visible element ${contract_contractform_add_document_description_btn_locator} | |
54 | - capture page screenshot | |
55 | - wait until element is visible ${contract_contractform_add_document_description_input_locator} | |
56 | - input text to exist visible input ${contract_contractform_add_document_description_input_locator} test2 | |
57 | - capture page screenshot | |
58 | - click visible element ${contract_contractform_add_document_close_description_btn_locator} | |
59 | - capture page screenshot | |
60 | - | |
61 | - submit form and check result ${contract_contractform_submit_btn_locator} ${contract_contractform_submit_success_msg} ${contract_active_form_open_btn_locator} | |
62 | -# 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} | |
63 | - capture page screenshot | |
64 | - | |
65 | -edit unitprices | |
66 | - [Arguments] ${tender_uaid} ${contract_data} | |
67 | - [Documentation] Встановити ціну за одиницю для контракту для користувача username для тендера ${tender_uaid}, | |
68 | - ... використовуючи значення з ${contract_data}. | |
69 | - | |
70 | -# Run Keyword If '${TEST_NAME}' == 'Можливість встановити ціну за одиницю для першого контракту' open popup by btn locator ${contract_active_form_agreement_open_btn_locator} | |
71 | - Run Keyword If '${TEST_NAME}' == 'Можливість встановити ціну за одиницю для другого контракту' click visible element ${contract_next_form_agreement_open_btn_locator} | |
72 | -# Run Keyword If '${TEST_NAME}' == 'Можливість встановити ціну за одиницю для другого контракту' open popup by btn locator ${contract_active_form_agreement_open_btn_locator} | |
73 | - Run Keyword If '${TEST_NAME}' == 'Можливість встановити ціну за одиницю для третього контракту' click visible element ${contract_next_form_agreement_open_btn_locator} | |
74 | - open popup by btn locator ${contract_active_form_agreement_open_btn_locator} | |
75 | - input number to exist visible input ${contract_agreement_unit_prices_input_locator} ${contract_data.data.unitPrices.value.amount} | |
76 | - | |
77 | - submit form and check result ${contract_contractform_submit_btn_locator} ${contract_agreement_active_submit_success_msg} | |
78 | - capture page screenshot | |
79 | - | |
80 | -active agreement contract | |
81 | - [Arguments] ${startDate} ${endDate} | |
82 | - [Documentation] Зареєструвати угоду для користувача username для тендера tender_uaid, | |
83 | - ... для поля Початок строку, на який укладається угода задати значення startDate, для Кінець строку, на який укладається угода - endDate. | |
84 | - | |
85 | - open popup by btn locator ${contract_active_agreement_form_open_btn_locator} | |
86 | - capture page screenshot | |
87 | - ${file_path} ${file_name} ${file_content} = create_fake_doc | |
88 | - ${contract_number} = get value by locator on opened page ${contract_agreement_agreement_number_input_locator} | |
89 | - Run Keyword If '${contract_number}' == '' input text to exist visible input ${contract_agreement_agreement_number_input_locator} 1234567890 | |
90 | - capture page screenshot | |
91 | - ${date_signed} = Get Current Date | |
92 | - ${contract_date_signed} = get value by locator on opened page ${contract_agreement_date_signed_input_locator} | |
93 | - Run Keyword If '${contract_date_signed}' == '' input datetime to visible input ${contract_agreement_date_signed_input_locator} ${date_signed} | |
94 | - ${date_start} = Get Current Date increment=02:00:00 | |
95 | - ${contract_date_start} = get value by locator on opened page ${contract_agreement_date_start_input_locator} | |
96 | - Run Keyword If '${contract_date_start}' == '' input datetime to visible input ${contract_agreement_date_start_input_locator} ${date_start} | |
97 | - ${date_end} = Get Current Date increment=04:00:00 | |
98 | - ${contract_date_end} = get value by locator on opened page ${contract_agreement_date_end_input_locator} | |
99 | - Run Keyword If '${contract_date_end}' == '' input datetime to visible input ${contract_agreement_date_end_input_locator} ${date_end} | |
100 | - | |
101 | - capture page screenshot | |
102 | - choose file ${add_file_to_contract_contractform_locator} ${file_path} | |
103 | - wait until page does not contain element ${popup_dynamic_form_loading_element_locator} 60 | |
104 | - wait until element is visible ${contract_contractform_add_document_type_input_locator} 60 | |
105 | - capture page screenshot | |
106 | - Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content select[id*="-document_type"]:last').val('contractSigned').change() | |
107 | - capture page screenshot | |
108 | - click visible element ${contract_contractform_add_document_description_btn_locator} | |
109 | - capture page screenshot | |
110 | - wait until element is visible ${contract_contractform_add_document_description_input_locator} | |
111 | - input text to exist visible input ${contract_contractform_add_document_description_input_locator} test2 | |
112 | - capture page screenshot | |
113 | - click visible element ${contract_contractform_add_document_close_description_btn_locator} | |
114 | - capture page screenshot | |
115 | - | |
116 | - submit form and check result ${contract_contractform_submit_btn_locator} ${contract_agreement_submit_success_msg} | |
117 | - capture page screenshot | |
118 | - open popup by btn locator ${contract_active_agreement_active_form_open_btn_locator} | |
119 | - Execute Javascript $('.fancybox-is-open .fancybox-content button.btn.btn-success').click() | |
120 | - capture page screenshot | |
121 | - run keyword and ignore error Load Sign | |
122 | - capture page screenshot | |
123 | - submit form and check result ${qualification_form_submit_btn_locator} ${contract_agreement_active_submit_success_msg} ${None} | |
124 | - capture page screenshot | |
125 | - |
playtender_contract_variables.robot
deleted
100644 → 0
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_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success | |
10 | -${contract_contractform_submit_success_msg} = Контракт успішно завантажений | |
11 | -${contract_contractform_amount_input_locator} = jquery=#contractform-value_amount | |
12 | -${contract_contractform_amount_net_input_locator} = jquery=#contractform-value_amount_net | |
13 | -${contract_contractform_active_submit_success_msg} = Контракт успішно активовано, дочекайтесь опублікування на сайті уповноваженого органу. | |
14 | -${contract_contractform_value_added_tax_included_locator} = jquery=#contractform-value_added_tax_included | |
15 | - | |
16 | -#contractform document | |
17 | -${add_file_to_contract_contractform_locator} = jquery=.field-contractform-documents .js-upload-documents input[type$="file"]:first | |
18 | -${contract_contractform_add_document_type_input_locator} = jquery=.js-dynamic-form-content-item:last .document-type select[id*="-document_type"] | |
19 | -${contract_contractform_add_document_description_btn_locator} = jquery=.js-dynamic-form-content-item:last [href$="#edit"]:last | |
20 | -${contract_contractform_add_document_description_input_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in textarea[id*="-description"].form-control | |
21 | -${contract_contractform_add_document_close_description_btn_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in [href$="#close"] | |
22 | - | |
23 | -${contract_active_form_open_btn_locator} = jquery=#contracts-pjax a[href*="/tender/contract-activate"] | |
24 | -${contract_active_form_agreement_open_btn_locator} = jquery=#agreement-contracts-list .tabs__pane.tabs__pane--visible a[href*="/tender/agreement-contract?"] | |
25 | -${contract_next_form_agreement_open_btn_locator} = jquery=#agreement-contracts-list .tabs__item.tabs__item--active_next-child a[id*="tab-agreement-contract"] | |
26 | -${contract_agreement_unit_prices_input_locator} = jquery=.fancybox-is-open input[id$="agreementcontractform-unit_prices"] | |
27 | -${contract_agreement_active_submit_success_msg} = Постачальник успішно підтверджений, триває синхронізація з сайтом уповноваженого органу. | |
28 | -${contract_active_agreement_form_open_btn_locator} = jquery=.aside__inner a[href*="/tender/agreement?"] | |
29 | -${contract_agreement_agreement_number_input_locator} = jquery=#agreementform-agreement_number | |
30 | -${contract_agreement_date_signed_input_locator} = jquery=#agreementform-date_signed | |
31 | -${contract_agreement_date_start_input_locator} = jquery=#agreementform-date_start | |
32 | -${contract_agreement_date_end_input_locator} = jquery=#agreementform-date_end | |
33 | -${contract_agreement_submit_success_msg} = Угода завантажена, наступний крок - її активація. | |
34 | -${contract_active_agreement_active_form_open_btn_locator} = jquery=.aside__inner a[href*="/tender/agreement-activate?"] | |
35 | -${contract_agreement_active_submit_success_msg} = Угода успішно активована! |
playtender_plan.robot
deleted
100644 → 0
1 | -*** Settings *** | |
2 | - | |
3 | -Resource playtender_common.robot | |
4 | -Resource playtender_plan_variables.robot | |
5 | - | |
6 | -*** Keywords *** | |
7 | - | |
8 | -update plan queue | |
9 | - [Documentation] запускає оновлення планів з ЦБД і додає їх в чергу, тобто синхронізація може відбутися не відразу | |
10 | - ... поточна сторіка повертається | |
11 | - | |
12 | - ${current_url} = get location | |
13 | - go to ${broker_baseurl}/utils/queue-plan-update | |
14 | - go to ${current_url} | |
15 | - | |
16 | -open new plan form | |
17 | - [Documentation] відкриття сторінки створення плану | |
18 | - | |
19 | - open page and wait element by locator ${broker_baseurl}/plan/create ${plan_form_locator} | |
20 | - | |
21 | -open plan form by uaid | |
22 | - [Arguments] ${plan_uaid} | |
23 | - [Documentation] відкриття сторінки редагування плану | |
24 | - | |
25 | - open plan page by uaid ${plan_uaid} | |
26 | - click visible element and wait until page contains element ${plan_edit_btn_locator} ${plan_form_locator} | |
27 | - | |
28 | -open plan page by uaid | |
29 | - [Arguments] ${uaid} ${refresh}=${True} | |
30 | - [Documentation] відкриває сторінку з планом | |
31 | - | |
32 | - ${current_location} = get location | |
33 | - ${needed_location} = set variable ${broker_baseurl}/plan/${uaid} | |
34 | - run keyword if '${current_location}' != '${needed_location}' or ${refresh} == ${True} open site page and wait content element ${needed_location} | |
35 | - log many 1 | |
36 | - ${is_plan_found} = get is element exist ${plan_view_checker_element_locator} | |
37 | - log many 2 | |
38 | - return from keyword if ${is_plan_found} == ${True} | |
39 | - log many 3 | |
40 | - ${is_plan_not_found} = get is 404 page | |
41 | - ${is_needed_to_update_and_wait_sync} = set variable if ${is_test_role_owner} == ${False} and ${is_plan_not_found} ${True} ${False} | |
42 | - run keyword if ${is_needed_to_update_and_wait_sync} update plan queue | |
43 | - run keyword if ${is_needed_to_update_and_wait_sync} wait until 404 page disappears | |
44 | - ${is_plan_found} = get is element exist ${plan_view_checker_element_locator} | |
45 | - run keyword if ${is_plan_found} == ${False} fail Opening plan page by uaid fails. | |
46 | - | |
47 | -open plan search form | |
48 | - [Documentation] відкриває сторінку з пошуком планів | |
49 | - | |
50 | - open page and wait element by locator ${broker_baseurl}/plans ${plan_search_form_locator} | |
51 | - | |
52 | -fill plan form | |
53 | - [Arguments] ${data} | |
54 | - [Documentation] заповнення відкритої форми з масива даних | |
55 | - | |
56 | - fill plan general info ${data} | |
57 | - ${items} = get from dictionary by keys ${data} items | |
58 | - run keyword if condition is not none ${items} fill plan form items ${items} | |
59 | - ${buyers} = get from dictionary by keys ${data} buyers | |
60 | - run keyword if condition is not none ${buyers} fill plan form buyers ${buyers} | |
61 | -#Пока не передает Дятлов | |
62 | - ${budget_breakdowns} = get from dictionary by keys ${data} budget breakdown | |
63 | - run keyword if condition is not none ${budget_breakdowns} fill plan form budgetbreakdowns ${budget_breakdowns} | |
64 | -# fill plan form budgetbreakdowns | |
65 | - | |
66 | -fill plan general info | |
67 | - [Arguments] ${data} | |
68 | - [Documentation] заповнює приховані поля + відкриває попап основних даних, заповнює його і закриває | |
69 | - | |
70 | - # hidden inputs | |
71 | - ${budget_id} = get from dictionary by keys ${data} budget id | |
72 | - run keyword if condition is not none ${budget_id} input text to hidden input ${plan_form_budget_id_input_locator} ${budget_id} | |
73 | - ${project_id} = get from dictionary by keys ${data} budget project id | |
74 | - run keyword if condition is not none ${project_id} input text to hidden input ${plan_form_project_id_input_locator} ${project_id} | |
75 | - ${project_name} = get from dictionary by keys ${data} budget project name | |
76 | - run keyword if condition is not none ${project_name} input text to hidden input ${plan_form_project_name_input_locator} ${project_name} | |
77 | - | |
78 | - # general info | |
79 | - open popup by btn locator ${plan_form_general_panel_edit_btn_locator} | |
80 | - ${procurement_method_type} = get from dictionary by keys ${data} tender procurementMethodType | |
81 | - run keyword if condition is not none ${procurement_method_type} select from visible list by value ${plan_form_procurement_method_type_input_locator} ${procurement_method_type} | |
82 | - ${budget_description} = get from dictionary by keys ${data} budget description | |
83 | - run keyword if condition is not none ${budget_description} input text to visible input ${plan_form_title_input_locator} ${budget_description} | |
84 | - ${tender_start_date} = get from dictionary by keys ${data} tender tenderPeriod startDate | |
85 | - run keyword if condition is not none ${tender_start_date} select from visible list by year of date ${plan_form_year_input_locator} ${tender_start_date} | |
86 | - run keyword if condition is not none ${tender_start_date} input month.year of date to visible input ${plan_form_tender_start_date_input_locator} ${tender_start_date} | |
87 | - ${amount} = get from dictionary by keys ${data} budget amount | |
88 | - run keyword and ignore error run keyword if condition is not none ${amount} input number to visible input ${plan_form_value_amount_input_locator} ${amount} | |
89 | - ${currency} = get from dictionary by keys ${data} budget currency | |
90 | - run keyword if condition is not none ${currency} select from visible list by value ${plan_form_value_currency_input_locator} ${currency} | |
91 | - ${classification} = get from dictionary by keys ${data} classification | |
92 | - run keyword if condition is not none ${classification} select classification by code attributes ${plan_form_classification_edit_btn_locator} ${classification} | |
93 | - ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications | |
94 | - run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_additional_classification_edit_btn_locator} ${additional_classifications} ${None} ${kekv_schemes} | |
95 | - run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_kekv_classification_edit_btn_locator} ${additional_classifications} ${kekv_schemes} | |
96 | - Execute Javascript $('[id$="planform-test_mode"]').click() | |
97 | - submit current visible popup | |
98 | - | |
99 | -fill plan form items | |
100 | - [Arguments] ${item_attributes_array} | |
101 | - [Documentation] заповнення номенклатури плану | |
102 | - | |
103 | - :FOR ${item_attributes} IN @{item_attributes_array} | |
104 | - \ ${item_update_index} = get from dictionary by keys ${item_attributes} list_index | |
105 | - \ ${item_update_index_string} = convert to string ${item_update_index} | |
106 | - \ ${open_form_btn_locator} = replace string ${plan_form_update_item_btn_locator_tpl} %index% ${item_update_index_string} | |
107 | - \ run keyword if condition is not none ${item_update_index} click visible element ${open_form_btn_locator} | |
108 | - \ run keyword if condition is none ${item_update_index} click visible element ${plan_form_add_item_btn_locator} | |
109 | - \ wait until popup is visible | |
110 | - \ fill plan item form in opened popup ${item_attributes} | |
111 | - \ run keyword and ignore error submit current visible popup | |
112 | - | |
113 | -fill plan item form in opened popup | |
114 | - [Arguments] ${data} | |
115 | - | |
116 | - fill item form in opened popup ${data} | |
117 | - | |
118 | - ${delivery_end_date} = get from dictionary by keys ${data} deliveryDate endDate | |
119 | - run keyword if condition is not none ${delivery_end_date} run keyword and ignore error input date to input ${item_form_popup_delivery_end_date_input_locator} ${delivery_end_date} | |
120 | - | |
121 | -fill plan form buyers | |
122 | - [Arguments] ${buyer_attributes_array} | |
123 | - [Documentation] заповнення замовника плану | |
124 | - | |
125 | - :FOR ${buyer_attributes} IN @{buyer_attributes_array} | |
126 | - \ click visible element ${plan_form_update_buyer_btn_locator} | |
127 | - \ wait until popup is visible | |
128 | - \ fill buyer form in opened popup ${buyer_attributes} | |
129 | - \ submit current visible popup | |
130 | - | |
131 | -fill buyer form in opened popup | |
132 | - [Arguments] ${data} | |
133 | - [Documentation] заповнює відкриту форму згідно вказаних даних про замовника | |
134 | - | |
135 | - ${legal_name} = get from dictionary by keys ${data} identifier legalName | |
136 | - run keyword if condition is not none ${legal_name} input text to visible input ${buyer_form_popup_legal_name_input_locator} ${legal_name} | |
137 | - ${identifier_id} = get from dictionary by keys ${data} identifier id | |
138 | - run keyword if condition is not none ${identifier_id} input text to visible input ${buyer_form_popup_identifier_id_input_locator} ${identifier_id} | |
139 | - | |
140 | -fill plan form budgetbreakdowns | |
141 | - [Arguments] ${budgetbreakdowns_attributes_array} | |
142 | - [Documentation] заповнення Джерел фінансування плану | |
143 | - | |
144 | - click visible element ${plan_form_update_budgetbreakdowns_btn_locator} | |
145 | - wait until popup is visible | |
146 | - :FOR ${budgetbreakdowns_attributes} IN @{budgetbreakdowns_attributes_array} | |
147 | - \ click visible element ${plan_form_add_budgetbreakdowns_btn_locator} | |
148 | - \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
149 | - \ fill budgetbreakdowns form in opened popup ${budgetbreakdowns_attributes} | |
150 | -### \ submit current visible popup | |
151 | -## click visible element ${plan_form_add_budgetbreakdowns_btn_locator} | |
152 | -## wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
153 | -## fill budgetbreakdowns form in opened popup | |
154 | -# fill budgetbreakdowns form in opened popup ${budgetbreakdowns_attributes} | |
155 | - submit current visible popup | |
156 | - | |
157 | -fill budgetbreakdowns form in opened popup | |
158 | - [Arguments] ${data} | |
159 | - [Documentation] заповнює відкриту форму згідно вказаних даних про Джерела фінансування | |
160 | - | |
161 | - ${title} = get from dictionary by keys ${data} title | |
162 | - run keyword if condition is not none ${title} select from visible list by label ${plan_budgetbreakdowns_form_popup_title_input_locator} ${title} | |
163 | - ${value_amount} = get from dictionary by keys ${data} value amount | |
164 | - run keyword if condition is not none ${value_amount} input number to visible input ${plan_budgetbreakdowns_value_amount_input_locator} ${value_amount} | |
165 | -## input number to visible input ${plan_budgetbreakdowns_value_amount_input_locator} 56333.77 | |
166 | - ${description} = get from dictionary by keys ${data} description | |
167 | - run keyword if condition is not none ${description} input text to visible input ${plan_budgetbreakdowns_description_input_locator} ${description} | |
168 | -## input text to visible input ${plan_budgetbreakdowns_description_input_locator} description | |
169 | - | |
170 | -save plan form and wait synchronization | |
171 | - [Documentation] натискає кнопку "Зберегти" і чекає синхронізації плану | |
172 | - | |
173 | - submit form and check result ${plan_form_submit_btn_locator} ${plan_form_submit_success_msg} ${plan_created_checker_element_locator} | |
174 | - wait until page does not contain element with reloading ${plan_sync_element_locator} | |
175 | - | |
176 | -delete plan | |
177 | - [Arguments] ${data} | |
178 | - [Documentation] натискає кнопку "Скасувати рядок плану" і видаляє план | |
179 | - | |
180 | - click visible element ${plan_delete_btn_locator} | |
181 | - ${reason} = get from dictionary by keys ${data} reason | |
182 | - run keyword if condition is not none ${reason} input text to visible input ${plan_form_delete_reason_value_locator} ${reason} | |
183 | - submit form and check result ${plan_form_delete_sucess_btn_locator} ${plan_form_delete_submit_success_msg} |
playtender_plan_variables.robot
deleted
100644 → 0
1 | -*** Variables *** | |
2 | - | |
3 | -# plan form | |
4 | -${plan_form_submit_success_msg} = Рядок плану завантажений, наступний крок - накладання ЕЦП/КЕП і підтвердження | |
5 | -#${plan_form_submit_success_msg} = дочекайтесь опублікування на сайті уповноваженого органу | |
6 | -${plan_form_locator} = id=plan-form | |
7 | -${plan_form_general_panel_edit_btn_locator} = jquery=#General .panel-heading .js-form-popup-update | |
8 | -${plan_form_procurement_method_type_input_locator} = id=planform-procurement_method_type | |
9 | -${plan_form_budget_id_input_locator} = id=planform-budget_id | |
10 | -${plan_form_project_id_input_locator} = id=planform-project_id | |
11 | -${plan_form_project_name_input_locator} = id=planform-project_name | |
12 | -${plan_form_title_input_locator} = id=planform-title | |
13 | -${plan_form_year_input_locator} = id=planform-year | |
14 | -${plan_form_tender_start_date_input_locator} = id=planform-tender_start_date | |
15 | -${plan_form_value_amount_input_locator} = id=planform-value_amount-disp | |
16 | -${plan_form_value_currency_input_locator} = id=planform-value_currency | |
17 | -${plan_form_classification_edit_btn_locator} = jquery=.field-planform-classification_id .js-classification-input-wrapper [data-toggle="classification"] | |
18 | -${plan_form_additional_classification_edit_btn_locator} = jquery=.field-planform-additional_classification_ids .js-additional-classification-input-wrapper [data-toggle="additional-classification"] | |
19 | -${plan_form_kekv_classification_edit_btn_locator} = jquery=.field-planform-additional_classification_ids_kekv .js-additional-classification-input-wrapper [data-toggle="additional_classification_ids_kekv"] | |
20 | -${plan_form_add_item_btn_locator} = jquery=#Items .js-form-popup-add | |
21 | -${plan_form_update_item_btn_locator_tpl} = jquery=#Items .js-form-popup-panel:nth(%index%) .panel-heading .js-form-popup-update | |
22 | -${plan_form_remove_item_btn_locator_tpl} = jquery=#Items .js-form-popup-panel[data-title*="%title%"] .panel-heading .js-form-popup-remove | |
23 | -${plan_form_update_buyer_btn_locator} = jquery=#Buyer .js-form-popup-update | |
24 | -${plan_form_submit_btn_locator} = jquery=#plan-form .js-submit-btn | |
25 | -${plan_created_checker_element_locator} = id=plan-part-pjax | |
26 | -${plan_form_update_budgetbreakdowns_btn_locator} = jquery=#BudgetBreakdowns .js-form-popup-update | |
27 | -${plan_form_add_budgetbreakdowns_btn_locator} = jquery=#budgetbreakdowns-form-popup a[href*="#add-budgetBreakdowns"] | |
28 | -${plan_budgetbreakdowns_form_popup_title_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-title"] | |
29 | -${plan_budgetbreakdowns_value_amount_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-value_amount-disp"] | |
30 | -#${plan_budgetbreakdowns_value_amount_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-value_amount"] | |
31 | -${plan_budgetbreakdowns_description_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-description"] | |
32 | - | |
33 | -# plan view | |
34 | -${plan_view_checker_element_locator} = id=plan-general-info | |
35 | -${plan_sync_element_locator} = jquery=#aside-part-pjax .status-label .fa-refresh | |
36 | -${plan_uaid_text_locator} = jquery=#plan-general-info .plan-id .value | |
37 | -${plan_edit_btn_locator} = jquery=#aside-part-pjax a[href*="plan/update"] | |
38 | -${plan_delete_btn_locator} = jquery=#aside-part-pjax a[href*="/plan/cancel"] | |
39 | -# -- for viewer -- | |
40 | -${plan_tender_procurementMethodType_value_locator} = jquery=#plan-general-info .procurement-method-type.hidden | |
41 | -${plan_budget_amount_value_locator} = jquery=#plan-general-info .budget-amount.hidden | |
42 | -${plan_budget_amount_value_type} = float | |
43 | -${plan_budget_description_value_locator} = jquery=#plan-general-info .budget-description .value | |
44 | -${plan_budget_currency_value_locator} = jquery=#plan-general-info .budget-currency.hidden | |
45 | -${plan_budget_id_value_locator} = jquery=#plan-general-info .budget-id .value | |
46 | -${plan_procuringEntity_name_value_locator} = jquery=#plan-general-info .organization .definitions__list .organization_name.hidden .definitions__value | |
47 | -${plan_procuringEntity_identifier_scheme_value_locator} = jquery=#plan-general-info .organization .definitions__list .identifier_scheme.hidden .definitions__value | |
48 | -${plan_procuringEntity_identifier_id_value_locator} = jquery=#plan-general-info .organization .definitions__list .identifier_code .definitions__value | |
49 | -${plan_procuringEntity_identifier_legalName_value_locator} = jquery=#plan-general-info .organization .definitions__list .identifier_legal_name.hidden .definitions__value | |
50 | -${plan_classification_description_value_locator} = jquery=#plan-general-info .main-classification-description.hidden | |
51 | -${plan_classification_scheme_value_locator} = jquery=#plan-general-info .main-classification-scheme.hidden | |
52 | -${plan_classification_id_value_locator} = jquery=#plan-general-info .main-classification-code.hidden | |
53 | -${plan_tender_tenderPeriod_startDate_value_locator} = jquery=#plan-general-info .tender-start-date-source.hidden | |
54 | -${plan_items_0_description_value_locator} = jquery=.items-wrapper .hidden.info-wrapper .description | |
55 | -#${plan_items_0_description_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(1) .textvalue | |
56 | -${plan_items_0_quantity_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(1) .item-info-wrapper .quantity-source | |
57 | -${plan_items_0_quantity_value_type} = float | |
58 | -${plan_items_0_deliveryDate_endDate_value_locator} = jquery=.items-wrapper .hidden.info-wrapper .delivery-end-date-source | |
59 | -#${plan_items_0_deliveryDate_endDate_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(1) .item-info-wrapper .delivery-end-date-source | |
60 | -${plan_items_0_unit_code_value_locator} = jquery=.items-wrapper .hidden.info-wrapper .unit-code-source | |
61 | -${plan_items_0_unit_name_value_locator} = jquery=.items-wrapper .hidden.info-wrapper .unit-title-source | |
62 | -${plan_items_0_classification_description_value_locator} = jquery=.items-wrapper .hidden.info-wrapper .main-classification-description | |
63 | -${plan_items_0_classification_scheme_value_locator} = jquery=.items-wrapper .hidden.info-wrapper .main-classification-scheme | |
64 | -${plan_items_0_classification_id_value_locator} = jquery=.items-wrapper .hidden.info-wrapper .main-classification-code | |
65 | -#${plan_items_0_unit_code_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(1) .item-info-wrapper .unit-code-source | |
66 | -#${plan_items_0_unit_name_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(1) .item-info-wrapper .unit-title-source | |
67 | -#${plan_items_0_classification_description_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(1) .item-info-wrapper .main-classification-description | |
68 | -#${plan_items_0_classification_scheme_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(1) .item-info-wrapper .main-classification-scheme | |
69 | -#${plan_items_0_classification_id_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(1) .item-info-wrapper .main-classification-code | |
70 | -${plan_items_1_description_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(2) .textvalue | |
71 | -${plan_items_1_quantity_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(2) .item-info-wrapper .quantity-source | |
72 | -${plan_items_1_quantity_value_type} = float | |
73 | -${plan_items_1_deliveryDate_endDate_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(2) .item-info-wrapper .delivery-end-date-source | |
74 | -${plan_items_1_unit_code_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(2) .item-info-wrapper .unit-code-source | |
75 | -${plan_items_1_unit_name_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(2) .item-info-wrapper .unit-title-source | |
76 | -${plan_items_1_classification_description_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(2) .item-info-wrapper .main-classification-description | |
77 | -${plan_items_1_classification_scheme_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(2) .item-info-wrapper .main-classification-scheme | |
78 | -${plan_items_1_classification_id_value_locator} = jquery=.items-wrapper .pseudo-table .pseudo-table__row:nth(2) .item-info-wrapper .main-classification-code | |
79 | -${plan_status_value_locator} = jquery=#aside-part-pjax .opstatus.hidden | |
80 | - | |
81 | -# plan index + search | |
82 | -${plan_search_form_locator} = id=plan-filter-form | |
83 | -##${plan_search_form_query_input_locator} = jquery=#plan-filter-form .dynamic-search-query input | |
84 | -${plan_search_form_query_input_locator} = jquery=#plan-filter-form [data-ds-filter="query"] input.select2-search__field | |
85 | -${plan_search_form_result_locator_tpl} = jquery=#plan-list .lots__item .lot__characteristic li:contains(%query%) | |
86 | - | |
87 | -${plan_form_ecp_btn_locator} = id=submitBtn | |
88 | - | |
89 | -#for delete | |
90 | -${plan_form_delete_reason_value_locator} = id=plancancellationform-reason | |
91 | -${plan_form_delete_sucess_btn_locator} = jquery=.btn.btn-success:contains("Скасувати") | |
92 | -${plan_form_delete_submit_success_msg} = Рядок плану закупівлі успішно скасований |
playtender_qualification.robot
deleted
100644 → 0
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 wait until page contains element with reloading ${prequalification_form_0_open_btn_locator} | |
16 | - run keyword if ${qualification_num} == 0 open popup by btn locator ${prequalification_form_0_open_btn_locator} | |
17 | - run keyword if ${qualification_num} == 1 open popup by btn locator ${prequalification_form_1_open_btn_locator} | |
18 | - run keyword if ${qualification_num} == -1 open popup by btn locator ${prequalification_form_-1_open_btn_locator} | |
19 | - run keyword if ${qualification_num} == -2 wait until page contains element with reloading ${prequalification_form_-2_open_btn_locator} | |
20 | - run keyword if ${qualification_num} == -2 open popup by btn locator ${prequalification_form_-2_open_btn_locator} | |
21 | -# run keyword if ${qualification_num} == -2 execute javascript $('#bids-pjax .pseudo-table__row:last a[href*="/tender/prequalification"]').click() | |
22 | - | |
23 | -confirm qualifications | |
24 | - [Documentation] Відкрити форму прекваліфікації і перевести кваліфікацію під номером qualification_num до тендера | |
25 | - ... tender_uaid в статус active. | |
26 | - | |
27 | - Execute Javascript $('#prequalificationform-decision').val('accept').change() | |
28 | - capture page screenshot | |
29 | - wait until page contains element ${prequalification_form_eligible_input_locator} | |
30 | - capture page screenshot | |
31 | - click visible element ${prequalification_form_eligible_input_locator} | |
32 | - click visible element ${prequalification_form_qualified_input_locator} | |
33 | - submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_submit_success_msg} ${tender_created_checker_element_locator} | |
34 | - | |
35 | -reject qualifications | |
36 | - [Documentation] Відкрити форму прекваліфікації і перевестикваліфікацію під номером qualification_num до тендера | |
37 | - ... tender_uaid в статус unsuccessful. | |
38 | - | |
39 | - Execute Javascript $('#prequalificationform-decision').val('decline').change() | |
40 | - capture page screenshot | |
41 | -# wait until page contains element ${qualification_form_reasons_cancellation_input_locator} | |
42 | -# capture page screenshot | |
43 | -# input text to exist visible input ${qualification_form_reasons_cancellation_input_locator} GenerateFakeText | |
44 | - Execute Javascript ${prequalification_form_title_cancellation_input_locator} | |
45 | - capture page screenshot | |
46 | -# input text to exist visible input ${qualification_form_reasons_cancellation_input_locator} GenerateFakeText | |
47 | - input text to exist visible input ${prequalification_form_description_cancellation_input_locator} GenerateFakeText | |
48 | - capture page screenshot | |
49 | - submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_decline_success_msg} ${tender_created_checker_element_locator} | |
50 | - capture page screenshot | |
51 | - | |
52 | -cancel qualifications | |
53 | - [Documentation] Відкрити форму прекваліфікації і перевести кваліфікацію під номером qualification_num до тендера | |
54 | - ... tender_uaid в статус cancelled. | |
55 | - | |
56 | - wait until page contains element ${prequalification_form_description_cancellation_input_locator} | |
57 | - Execute Javascript $('#prequalificationform-decision').val('cancel').change() | |
58 | -# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | |
59 | - capture page screenshot | |
60 | - wait until page contains element ${prequalification_form_description_cancellation_input_locator} | |
61 | - capture page screenshot | |
62 | - input text to exist visible input ${prequalification_form_description_cancellation_input_locator} GenerateFakeText | |
63 | - capture page screenshot | |
64 | - submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_cancel_success_msg} ${tender_created_checker_element_locator} | |
65 | - | |
66 | -approve the final qualification decision | |
67 | - [Documentation] Перевести тендер tender_uaid в статус active.pre-qualification.stand-still. | |
68 | - | |
69 | - wait until alert is visible ${qualification_form_approve_question_msg} | |
70 | - click visible element ${alert_confirm_btn_locator} | |
71 | - wait until alert is visible ${qualification_form_approve_success_msg} | |
72 | - close current visible alert | |
73 | - | |
74 | - wait until page does not contain element ${alert_confirm_btn_locator} | |
75 | - | |
76 | -# wait until page contains ${qualification_form_approve_question_msg} | |
77 | -# Execute Javascript ${qualification_form_approve_js_submit_btn_locator} | |
78 | -# Wait Until Page Contains ${qualification_form_approve_success_msg} 60 | |
79 | -# wait until alert is visible ${qualification_form_approve_success_msg} | |
80 | -# run keyword and ignore error run keyword if condition is not none ${qualification_form_approve_success_msg} close current visible alert | |
81 | - run keyword and ignore error Wait Until Keyword Succeeds 1600 s 20 s Wait For QualificationsPeriodEnd | |
82 | - | |
83 | -#qualification | |
84 | -open tender form qualification | |
85 | - [Arguments] ${award_num} | |
86 | - [Documentation] Відкрити форму кваліфікації і потрібну кваліфікацію під номером award_num | |
87 | - | |
88 | - run keyword if "${mode}" not in "open_framework" Run Keywords | |
89 | - ... run keyword if ${award_num} == 0 wait until page contains element with reloading ${qualification_form_0_open_btn_locator} | |
90 | - ... AND run keyword if ${award_num} == 0 open popup by btn locator ${qualification_form_0_open_btn_locator} | |
91 | -##### BOF - TMP ##### | |
92 | - ... AND run keyword if ${award_num} == 1 open popup by btn locator ${qualification_form_1_open_btn_locator} | |
93 | - ... AND run keyword if ${award_num} == -1 open popup by btn locator ${qualification_form_last_open_btn_locator} | |
94 | - ... AND run keyword if ${award_num} == 2 open popup by btn locator ${qualification_form_2_open_btn_locator} | |
95 | - ... ELSE IF "${mode}" in "open_framework" Run Keywords | |
96 | - ... run keyword if ${award_num} == 0 wait until page contains element with reloading ${qualification_form_0_open_btn_locator} | |
97 | - ... AND run keyword if ${award_num} == 0 open popup by btn locator ${qualification_form_0_open_btn_locator} | |
98 | - ... AND run keyword if ${award_num} == 1 open popup by btn locator ${qualification_form_1_open_btn_locator} | |
99 | - ... AND run keyword if ${award_num} == -1 open popup by btn locator ${qualification_form_last_open_btn_locator} | |
100 | - ... AND run keyword if ${award_num} == 2 open popup by btn locator ${qualification_form_2_open_btn_locator} | |
101 | - ... AND run keyword if ${award_num} == 3 open popup by btn locator ${qualification_form_3_open_btn_locator} | |
102 | - | |
103 | -copy file qualification | |
104 | - [Arguments] ${username} ${document} ${award_num} | |
105 | - [Documentation] Завантажити документ, який знаходиться по шляху document до | |
106 | - ... постачальника під номером award_num для тендера tender_uaid. | |
107 | - | |
108 | - ## copy file to another dir to prevent it deleting | |
109 | - ${new_doc_name} = Replace String ${document} /tmp/ /tmp/playtender/ | |
110 | - Copy File ${document} ${new_doc_name} | |
111 | - Set To Dictionary ${USERS.users['${username}']} qproposal${award_num}_document=${new_doc_name} | |
112 | - | |
113 | -confirm award qualification | |
114 | - [Arguments] ${username} ${award_num} | |
115 | - [Documentation] Перевести постачальника під номером award_num для тендера tender_uaid | |
116 | - ... в статус active. | |
117 | - | |
118 | - Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
119 | - run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
120 | - wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
121 | -# ${doc_isset}= GetDictionaryKeyExist ${USERS.users['${username}']} qproposal${award_num}_document | |
122 | -# ${doc_name}= Run Keyword If ${doc_isset} GetValueFromDictionaryByKey ${USERS.users['${username}']} qproposal${award_num}_document | |
123 | -# ... ELSE create_fake_doc | |
124 | - ${file_path} ${file_name} ${file_content} = create_fake_doc | |
125 | -# Execute Javascript ${qualification_form_accept_input_locator} | |
126 | - Execute Javascript $('#qualificationform-decision').val('accept').change() | |
127 | -# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | |
128 | - capture page screenshot | |
129 | - run keyword and ignore error wait until page contains element ${qualification_form_eligible_input_locator} | |
130 | - capture page screenshot | |
131 | -# run keyword and ignore error click visible element ${qualification_form_eligible_input_locator} | |
132 | -# run keyword and ignore error click visible element ${qualification_form_qualified_input_locator} | |
133 | - run keyword and ignore error Execute Javascript $('#qualificationform-qualified').click() | |
134 | - run keyword and ignore error Execute Javascript $('#qualificationform-eligible').click() | |
135 | - choose file ${add_file_to_qualification_form_locator} ${file_path} | |
136 | - wait until page does not contain element ${popup_dynamic_form_loading_element_locator} 60 | |
137 | - wait until element is visible ${qualification_form_add_document_type_input_locator} 60 | |
138 | -# submit current visible popup | |
139 | - | |
140 | - Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content select[id*="-document_type"]:last').val('winningBid').change() | |
141 | - capture page screenshot | |
142 | - click visible element ${qualification_form_add_document_description_btn_locator} | |
143 | - capture page screenshot | |
144 | - wait until element is visible ${qualification_form_add_document_description_input_locator} | |
145 | - input text to exist visible input ${qualification_form_add_document_description_input_locator} test2 | |
146 | - capture page screenshot | |
147 | - click visible element ${qualification_form_add_document_close_description_btn_locator} | |
148 | - capture page screenshot | |
149 | - | |
150 | - run keyword and ignore error click visible element ${qualification_ecp_check_input_locator} | |
151 | - capture page screenshot | |
152 | - 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} | |
153 | - capture page screenshot | |
154 | - wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
155 | -## run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${None} ${qualification_ecp_form_open_locator} | |
156 | - Execute Javascript $('.fancybox-is-open .fancybox-content button.btn.btn-success').click() | |
157 | -# click visible element ${qualification_form_submit_btn_locator} | |
158 | - capture page screenshot | |
159 | - wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
160 | - wait until element is visible ${qualification_ecp_form_open_locator} 60 | |
161 | - run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
162 | - capture page screenshot | |
163 | - run keyword and ignore error Load Sign | |
164 | - capture page screenshot | |
165 | - wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
166 | - run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
167 | - capture page screenshot | |
168 | - run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_after_ecp_form_submit_success_msg} ${None} | |
169 | - capture page screenshot | |
170 | -# Wait Until Page Contains ЕЦП/КЕП успішно накладено на рішення, тепер потрібно підтвердити рішення. 60 | |
171 | -# click visible element xpath=//div[contains(@class, 'jconfirm')]//*[text()='Закрити'] | |
172 | - | |
173 | - | |
174 | -reject award qualification | |
175 | - [Arguments] ${username} ${award_num} | |
176 | - [Documentation] Перевести постачальника під номером award_num для тендера tender_uaid | |
177 | - ... в статус active. | |
178 | - | |
179 | - Wait Until Page Contains ${popup_opened_content_success_locator} 60 | |
180 | - wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
181 | -# wait until popup is visible | |
182 | - ${doc_isset} = GetDictionaryKeyExist ${USERS.users['${username}']} qproposal${award_num}_document | |
183 | -# ${doc_name} = Run Keyword If ${doc_isset} GetValueFromDictionaryByKey ${USERS.users['${username}']} qproposal${award_num}_document | |
184 | -# ... ELSE GenerateFakeDocument | |
185 | - ${file_path} ${file_name} ${file_content} = create_fake_doc | |
186 | - Execute Javascript $('#qualificationform-decision').val('decline').change() | |
187 | - capture page screenshot | |
188 | -# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | |
189 | - wait until page contains element ${qualification_form_reasons_cancellation_input_locator} | |
190 | - capture page screenshot | |
191 | - Execute Javascript ${qualification_award_form_title_cancellation_input_locator} | |
192 | - capture page screenshot | |
193 | -# input text to exist visible input ${qualification_form_reasons_cancellation_input_locator} GenerateFakeText | |
194 | - input text to exist visible input ${qualification_form_description_cancellation_input_locator} GenerateFakeText | |
195 | - | |
196 | - choose file ${add_file_to_qualification_form_locator} ${file_path} | |
197 | - wait until element is visible ${qualification_form_add_document_type_input_locator} | |
198 | -# submit current visible popup | |
199 | - | |
200 | - Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content #qualification-documents select[id*="-document_type"]:last').val('winningBid').change() | |
201 | - capture page screenshot | |
202 | - click visible element ${qualification_form_add_document_description_btn_locator} | |
203 | - wait until element is visible ${qualification_form_add_document_description_input_locator} | |
204 | - input text to exist visible input ${qualification_form_add_document_description_input_locator} test2 | |
205 | - capture page screenshot | |
206 | - click visible element ${qualification_form_add_document_close_description_btn_locator} | |
207 | - capture page screenshot | |
208 | - | |
209 | - submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_cancell_success_msg} | |
210 | - run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
211 | - capture page screenshot | |
212 | - Execute Javascript $('.fancybox-is-open .fancybox-content button.btn.btn-success').click() | |
213 | - capture page screenshot | |
214 | - run keyword and ignore error Load Sign | |
215 | - capture page screenshot | |
216 | - wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
217 | - run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
218 | - capture page screenshot | |
219 | - run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_after_ecp_form_submit_success_msg} ${None} | |
220 | - capture page screenshot | |
221 | - reload page | |
222 | - | |
223 | -cancel award qualification | |
224 | - [Documentation] Відкрити форму кваліфікації і перевести кваліфікацію під номером qualification_num до тендера | |
225 | - ... tender_uaid в статус cancelled. | |
226 | - | |
227 | - wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
228 | -# Execute Javascript ${qualification_form_cancel_input_locator} | |
229 | - Execute Javascript $('#qualificationform-decision').val('cancel').change() | |
230 | -# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | |
231 | - capture page screenshot | |
232 | - run keyword and ignore error wait until page contains element ${qualification_form_description_cancellation_input_locator} | |
233 | - capture page screenshot | |
234 | - run keyword and ignore error Execute Javascript ${qualification_award_form_title_decline_input_locator} | |
235 | - run keyword and ignore error input text to exist visible input ${qualification_form_description_cancellation_input_locator} GenerateFakeText | |
236 | - capture page screenshot | |
237 | - submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_cancel_success_msg} ${tender_created_checker_element_locator} | |
238 | - | |
239 | -#qualification awawd reporting and negotiotion | |
240 | -confirm award | |
241 | - [Arguments] ${document} | |
242 | - [Documentation] Перевести постачальника в статус active. | |
243 | - | |
244 | - run keyword and ignore error run keyword if '${mode}' in 'negotiation reporting' Wait Until Page Contains ${award_form_negotiation_submit_success_msg} 10 | |
245 | -# run keyword and ignore error run keyword if '${mode}' in 'negotiation reporting' wait until alert is visible ${award_form_negotiation_submit_success_msg} | |
246 | - run keyword and ignore error run keyword if '${mode}' in 'negotiation reporting' close current visible alert | |
247 | - | |
248 | - capture page screenshot | |
249 | - wait until page contains element with reloading ${qualification_form_0_open_btn_locator} | |
250 | - open popup by btn locator ${qualification_form_0_open_btn_locator} | |
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} ${document} | |
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 run keyword if '${mode}' in 'reporting' submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_form_submit_success_msg} | |
273 | - capture page screenshot | |
274 | -# run keyword and ignore error run keyword if '${mode}' in 'reporting' wait until page contains element with reloading ${qualification_form_0_open_btn_locator} | |
275 | - capture page screenshot | |
276 | -# run keyword and ignore error run keyword if '${mode}' in 'reporting' open popup by btn locator ${qualification_form_0_open_btn_locator} | |
277 | - run keyword and ignore error run keyword if '${mode}' in 'reporting' Execute Javascript $('[id$="qualificationform-tender_not_signed_qualification_confirmation_required"]').click() | |
278 | - capture page screenshot | |
279 | -# run keyword and ignore error run keyword if '${mode}' in 'reporting' Execute Javascript $('#qualificationform-decision').val('accept').change() | |
280 | - run keyword and ignore error run keyword if '${mode}' in 'negotiation' Execute Javascript $('[id$="qualificationform-qualified"]').click() | |
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 | - run keyword and ignore error click visible element ${qualification_ecp_check_input_locator} | |
285 | - capture page screenshot | |
286 | - wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
287 | -# run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${None} ${qualification_ecp_form_open_locator} | |
288 | - Execute Javascript $('.fancybox-is-open .fancybox-content button.btn.btn-success').click() | |
289 | -# click visible element ${qualification_form_submit_btn_locator} | |
290 | - capture page screenshot | |
291 | - wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
292 | - wait until element is visible ${qualification_ecp_form_open_locator} 60 | |
293 | - run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
294 | - capture page screenshot | |
295 | - run keyword and ignore error Load Sign | |
296 | - capture page screenshot | |
297 | - wait until element is visible ${qualification_form_submit_btn_locator} 60 | |
298 | - run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | |
299 | - capture page screenshot | |
300 | - run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_after_ecp_form_submit_success_msg} ${None} | |
301 | - capture page screenshot | |
302 | - | |
303 | -confirm awards | |
304 | - [Documentation] Перевести постачальників для тендера tender_uaid | |
305 | - ... в статус active. | |
306 | - | |
307 | - wait until page contains element with reloading ${qualification_agreement_form_approve_submit_btn_locator} 720 30 | |
308 | - click visible element ${qualification_agreement_form_approve_submit_btn_locator} | |
309 | - wait until page contains ${qualification_agreement_form_approve_question_msg} | |
310 | - Execute Javascript ${qualification_form_approve_js_submit_btn_locator} | |
311 | - Wait Until Page Contains ${qualification_agreement_form_approve_success_msg} 60 | |
312 | - wait until alert is visible ${qualification_agreement_form_approve_success_msg} | |
313 | - run keyword and ignore error run keyword if condition is not none ${qualification_agreement_form_approve_success_msg} close current visible alert | |
314 | - Wait Until Keyword Succeeds 800 s 20 s Wait For QualificationsPeriodEnd | |
315 | - | |
316 | - |
1 | -*** Variables *** | |
2 | - | |
3 | -#qualification | |
4 | -${prequalification_form_0_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row[qualification-index="0"] a[href*="/tender/prequalification"] | |
5 | -${prequalification_form_1_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row[qualification-index="1"] a[href*="/tender/prequalification"] | |
6 | -${prequalification_form_2_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row[qualification-index="2"] a[href*="/tender/prequalification"] | |
7 | -${prequalification_form_3_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row[qualification-index="3"] a[href*="/tender/prequalification"] | |
8 | -${prequalification_form_-1_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row[qualification-negative-index="-1"] a[href*="/tender/prequalification"] | |
9 | -${prequalification_form_-2_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row[qualification-negative-index="-2"] a[href*="/tender/prequalification"] | |
10 | -${prequalification_form_last_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row[qualification-index-last] a[href*="/tender/prequalification"] | |
11 | -${prequalification_form_approve_open_btn_locator} = jquery=.aside__inner a[href*="/tender/prequalification-approve"] | |
12 | -${prequalification_form_accept_input_locator} = $('#prequalificationform-decision').val('accept').change() | |
13 | -${prequalification_form_decline_input_locator} = $('#prequalificationform-decision').val('decline').change() | |
14 | -${prequalification_form_cancel_input_locator} = $('#prequalificationform-decision').val('cancel').change() | |
15 | -${prequalification_form_eligible_input_locator} = jquery=#prequalificationform-eligible | |
16 | -${prequalification_form_qualified_input_locator} = jquery=#prequalificationform-qualified | |
17 | -${qualification_form_reasons_cancellation_input_locator} = jquery=.fancybox-is-open .select2-search__field | |
18 | -${prequalification_form_title_cancellation_input_locator} = $('#prequalificationform-title').val('Тендерна пропозиція не відповідає вимогам тендерної документації').change() | |
19 | -${prequalification_form_description_cancellation_input_locator} = jquery=#prequalificationform-description | |
20 | - | |
21 | -${qualification_form_submit_success_msg} = Пропозиція прийнята | |
22 | -${qualification_form_decline_success_msg} = Пропозиція відхилена | |
23 | -${qualification_form_cancel_success_msg} = Рішення скасоване | |
24 | -${qualification_form_cancell_success_msg} = Рішення завантажене, тепер потрібно накласти ЕЦП/КЕП. | |
25 | -${qualification_form_approve_question_msg} = Ви впевнені що бажаєте завершити прекваліфікацію і перейти до наступного етапу? | |
26 | -${qualification_form_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success | |
27 | -${qualification_form_approve_submit_btn_locator} = jquery=.jconfirm-box-container .btn.btn-default | |
28 | -${qualification_form_approve_success_msg} = Прекваліфікація підтверджена, дочекайтесь опублікування на сайті уповноваженого органу. | |
29 | -${qualification_form_approve_js_submit_btn_locator} = $('.jconfirm-box-container .btn.btn-default').click() | |
30 | -${qualification_agreement_form_approve_submit_btn_locator} = jquery=.aside__inner a.js-qualification-approve | |
31 | -${qualification_agreement_form_approve_success_msg} = Кваліфікація підтверджена, дочекайтесь опублікування на сайті уповноваженого органу. | |
32 | -${qualification_agreement_form_approve_question_msg} = Ви впевнені що бажаєте завершити кваліфікацію і перейти до наступного етапу? | |
33 | - | |
34 | -${qualification_form_0_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row[award-index="0"] a[href*="/tender/qualification"] | |
35 | -${qualification_form_1_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row[award-index="1"] a[href*="/tender/qualification"] | |
36 | -${qualification_form_2_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row[award-index="2"] a[href*="/tender/qualification"] | |
37 | -${qualification_form_3_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row[award-index="3"] a[href*="/tender/qualification"] | |
38 | -${qualification_form_last_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row[award-index-last] a[href*="/tender/qualification"] | |
39 | -${qualification_form_eligible_input_locator} = jquery=#qualificationform-eligible | |
40 | -${qualification_form_qualified_input_locator} = jquery=#qualificationform-qualified | |
41 | -${qualification_award_form_submit_success_msg} = Рішення завантажене, тепер потрібно накласти ЕЦП/КЕП. | |
42 | -${qualification_award_after_ecp_form_submit_success_msg} = Рішення підтверджене, очікує опублікування на сайті уповноваженого органу. | |
43 | -${qualification_ecp_form_submit_success_msg} = ЕЦП/КЕП успішно накладено | |
44 | -#${qualification_ecp_form_submit_success_msg} = ЕЦП/КЕП успішно накладено на рішення, тепер потрібно підтвердити рішення. | |
45 | -${qualification_ecp_form_open_locator} = jquery=.modal.modal-xs.fancybox-content | |
46 | -${qualification_ecp_check_input_locator} = jquery=input[id$="form-signing"] | |
47 | -${qualification_award_form_title_cancellation_input_locator} = $('#qualificationform-title').val('Тендерна пропозиція не відповідає вимогам тендерної документації').change() | |
48 | -${qualification_award_form_title_decline_input_locator} = $('#qualificationform-title').val('Переможець відмовився від підписання договору про закупівлю відповідно до вимог тендерної документації або укладення договору про закупівлю').change() | |
49 | -${qualification_form_description_cancellation_input_locator} = jquery=#qualificationform-description | |
50 | -${qualification_form_approve_open_btn_locator} = jquery=.aside__inner a[href*="/tender/qualification-approve"] | |
51 | -${qualification_form_accept_input_locator} = $('#qualificationform-decision').val('accept').change() | |
52 | -${qualification_form_decline_input_locator} = $('#qualificationform-decision').val('decline').change() | |
53 | -${add_file_to_qualification_form_locator} = jquery=.field-qualificationform-documents .js-upload-documents input[type$="file"]:first | |
54 | -${qualification_form_cancel_input_locator} = $('#qualificationform-decision').val('cancel').change() | |
55 | -${qualification_form_add_document_type_input_locator} = jquery=.js-dynamic-form-content-item:last .document-type select[id*="-document_type"] | |
56 | -${qualification_form_add_document_description_btn_locator} = jquery=.js-dynamic-form-content-item:last [href$="#edit"]:last | |
57 | -${qualification_form_add_document_description_input_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in textarea[id*="-description"].form-control | |
58 | -${qualification_form_add_document_close_description_btn_locator} = jquery=#qualification-documents .js-actions-wrapper:last .popover.fade.top.in [href$="#close"] | |
59 | -#${qualification_form_add_document_close_description_btn_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in [href$="#close"] | |
60 | - | |
61 | -#award reporting and negotiotion | |
62 | -${award_form_qualified_input_locator} = jquery=#qualificationform-qualified | |
63 | -${award_form_negotiation_submit_success_msg} = Інформація о постачальниках успішно онвлена. | |
64 | - |
playtender_question.robot
deleted
100644 → 0
1 | -*** Settings *** | |
2 | - | |
3 | -Resource playtender_common.robot | |
4 | -Resource playtender_question_variables.robot | |
5 | - | |
6 | -*** Keywords *** | |
7 | - | |
8 | -add question | |
9 | - [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${question} | |
10 | - [Documentation] Створити запитання з question в описі для тендера tender_uaid. | |
11 | - | |
12 | - click visible element ${question_form_open_btn_locator} | |
13 | - open popup by btn locator ${question_form_open_create_btn_locator} | |
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 | |
16 | - wait until popup is visible | |
17 | -# input text to exist visible input ${question_form_open_form_answer_input_locator} ${question.data.answer} | |
18 | - Run Keyword If '${type}' == 'tender' Select From List By Label ${question_form_create_questionform_related_of_input_locator} Закупівля | |
19 | - Run Keyword If '${type}' == 'lot' Select From List By Label ${question_form_create_questionform_related_of_input_locator} Лот | |
20 | - Run Keyword If '${type}' == 'lot' run keyword and ignore error Click Element ${question_form_create_questionform_related_lot_input_locator} | |
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} | |
22 | - Run Keyword If '${type}' == 'lot' run keyword and ignore error Click Element ${question_form_create_questionform_related_lot_input_locator} | |
23 | - Run Keyword If '${type}' == 'item' Select From List By Label ${question_form_create_questionform_related_of_input_locator} Предмет закупівлі | |
24 | - Run Keyword If '${type}' == 'item' run keyword and ignore error Click Element ${question_form_create_questionform_related_item_input_locator} | |
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} | |
26 | - Run Keyword If '${type}' == 'item' run keyword and ignore error Click Element ${question_questionform_related_item_input_locator} | |
27 | - input text to exist visible input ${question_form_create_questionform_title_input_locator} ${question.data.title} | |
28 | - input text to exist visible input ${question_form_create_questionform_description_input_locator} ${question.data.description} | |
29 | - submit form and check result ${question_form_answer_submit_btn_locator} ${question_form_submit_success_msg} ${tender_created_checker_element_locator} ${true} | |
30 | -# click visible element ${question_form_answer_submit_btn_locator} | |
31 | - wait until page does not contain element with reloading ${tender_sync_element_locator} | |
32 | - sleep 5 | |
33 | - | |
34 | -answer question | |
35 | - [Arguments] ${answer_data} ${question_id} | |
36 | - [Documentation] Дати відповідь answer_data на запитання з question_id в описі для тендера tender_uaid. | |
37 | - | |
38 | - click visible element ${question_form_open_btn_locator} | |
39 | - ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} | |
40 | - wait until page contains element with reloading ${question_open_form_answer_locator} | |
41 | - ${question_form_open_form_answer_btn_locator} = replace string ${question_form_open_form_answer_btn_locator_tpl} %title% ${question_id} | |
42 | - wait until page contains element with reloading ${question_form_open_form_answer_btn_locator} | |
43 | - open popup by btn locator ${question_form_open_form_answer_btn_locator} | |
44 | - input text to exist visible input ${question_answer_form_answer_input_locator} ${answer_data.data.answer} | |
45 | - submit form and check result ${question_answer_form_submit_btn_locator} ${question_form_submit_answer_success_msg} ${true} | |
46 | - | |
47 | -get question information | |
48 | - [Arguments] ${question_id} ${field_name} | |
49 | - [Documentation] Отримати значення поля field_name із запитання з question_id | |
50 | - ... в описі для тендера tender_uaid. | |
51 | - | |
52 | - submit form and check result ${bid_form_refresh_btn_locator} ${bid_form_refresh_success_msg} ${tender_created_checker_element_locator} ${true} | |
53 | - click visible element ${question_form_open_btn_locator} | |
54 | - ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} | |
55 | - wait until page contains element with reloading ${question_open_form_answer_locator} | |
56 | - ${question_title_value_locator} = Run Keyword If 'title' == '${field_name}' replace string ${question_title_value_locator_tpl} %title% ${question_id} | |
57 | - ${question_answer_value_locator} = Run Keyword If 'answer' == '${field_name}' replace string ${question_answer_value_locator_tpl} %title% ${question_id} | |
58 | - ${question_description_value_locator} = Run Keyword If 'description' == '${field_name}' replace string ${question_description_value_locator_tpl} %title% ${question_id} | |
59 | - Run Keyword If 'answer' == '${field_name}' wait until page contains element with reloading ${question_answer_value_locator} | |
60 | - ${return_value} = Run Keyword If 'title' == '${field_name}' get_text ${question_title_value_locator} | |
61 | - ... ELSE Run Keyword If 'answer' == '${field_name}' get_text ${question_answer_value_locator} | |
62 | - ... ELSE Run Keyword If 'description' == '${field_name}' get_text ${question_description_value_locator} | |
63 | - [Return] ${return_value} | |
64 | - | |
65 | - |
playtender_question_variables.robot
deleted
100644 → 0
1 | -*** Variables *** | |
2 | - | |
3 | -#question | |
4 | -${question_form_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/questions"] | |
5 | -${question_open_form_answer_btn_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] | |
6 | -#${question_open_form_answer_js_btn_locator_tpl} = $('#tender-question-list .js-item div[data-title*="%title%"] .btn.btn-default').click() | |
7 | -#${question_form_open_form_answer_btn_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] .btn.btn-default | |
8 | -${question_open_form_answer_js_btn_locator_tpl} = $('#tender-question-list .js-item div[data-title*="%title%"] .btn.btn-success.btn-custom').click() | |
9 | -${question_form_open_form_answer_btn_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] .btn.btn-success.btn-custom | |
10 | -${question_form_open_form_answer_input_locator} = jquery=.fancybox-is-open .fancybox-content #tender-question-answer-form #questionanswerform-answer | |
11 | -${question_form_answer_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.js-submit-btn | |
12 | -${question_form_submit_answer_success_msg} = Відповідь на питання успішно надана. | |
13 | -${question_form_create_question_btn_locator} = jquery=#aside-part-pjax [data-url*="/tender/question-create"] | |
14 | -${question_form_create_questionform_related_of_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-related_of | |
15 | -${question_form_create_questionform_related_item_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-related_item | |
16 | -${question_form_create_questionform_related_item_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content #questionform-related_item option:contains("%type_id%") | |
17 | -${question_form_create_questionform_title_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-title | |
18 | -${question_form_create_questionform_description_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-description | |
19 | -${question_form_submit_success_msg} = Запитання створене. | |
20 | -${question_form_create_questionform_related_lot_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-related_lot | |
21 | -${question_form_create_questionform_related_lot_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-related_lot | |
22 | -${question_form_create_questionform_related_lot_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content #questionform-related_lot option:contains("%type_id%") | |
23 | -${question_form_open_create_btn_locator} = jquery=#tender-part-pjax a[href*="/tender/question-create"]:first | |
24 | - | |
25 | -${question_answer_form_answer_input_locator} = jquery=#questionanswerform-answer | |
26 | -${question_answer_form_submit_btn_locator} = jquery=#tender-question-answer-form .js-submit-btn | |
27 | - | |
28 | -#for viewer | |
29 | -${question_answer_value_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] .info-row.answer span.value | |
30 | -${question_title_value_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] h4.callout__title | |
31 | -${question_description_value_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] .info-row.description span.value | |
32 | - | |
33 | -${popup_locator} = jquery=.fancybox-is-open .fancybox-slide--current .fancybox-content | |
34 | - |
playtender_service.py
deleted
100644 → 0
1 | -# -*- coding: utf-8 - | |
2 | -import re | |
3 | -import copy | |
4 | -import urllib | |
5 | -import urllib3 | |
6 | -import string | |
7 | - | |
8 | -import dateutil.parser | |
9 | -from iso8601 import parse_date | |
10 | -from robot.libraries.BuiltIn import BuiltIn | |
11 | -from datetime import datetime, timedelta | |
12 | -import pytz | |
13 | - | |
14 | -TZ = pytz.timezone('Europe/Kiev') | |
15 | - | |
16 | -def get_library(): | |
17 | - return BuiltIn().get_library_instance('Selenium2Library') | |
18 | - | |
19 | - | |
20 | -def get_webdriver_instance(): | |
21 | - return get_library()._current_browser() | |
22 | - | |
23 | - | |
24 | -# return of variable is None | |
25 | -def get_variable_is_none(variable): | |
26 | - if variable is None: | |
27 | - return True | |
28 | - return False | |
29 | - | |
30 | - | |
31 | -# run specified keyword if condition is not none type | |
32 | -def run_keyword_if_condition_is_not_none(condition, name, *args): | |
33 | - if get_variable_is_none(condition) == False: | |
34 | - BuiltIn().run_keyword(name, *args) | |
35 | - | |
36 | - | |
37 | -# run specified keyword if condition is none type | |
38 | -def run_keyword_if_condition_is_none(condition, name, *args): | |
39 | - if get_variable_is_none(condition) == True: | |
40 | - BuiltIn().run_keyword(name, *args) | |
41 | - | |
42 | - | |
43 | -# return value for *keys (nested) in `element` (dict). | |
44 | -def get_from_dictionary_by_keys(element, *keys): | |
45 | - if not isinstance(element, dict): | |
46 | - raise AttributeError('keys_exists() expects dict as first argument.') | |
47 | - if len(keys) == 0: | |
48 | - raise AttributeError('keys_exists() expects at least two arguments, one given.') | |
49 | - | |
50 | - _element = element | |
51 | - for key in keys: | |
52 | - try: | |
53 | - _element = _element[key] | |
54 | - except KeyError: | |
55 | - return None | |
56 | - return _element | |
57 | - | |
58 | - | |
59 | -# returns if element exists on page. optimization | |
60 | -def get_is_element_exist(locator): | |
61 | - jquery_locator = convert_locator_to_jquery(locator) | |
62 | - if get_variable_is_none(jquery_locator) == False: | |
63 | - jquery_locator = jquery_locator.replace('"', '\\"') | |
64 | - length = get_webdriver_instance().execute_script('return $("' + jquery_locator + '").length;') | |
65 | - return length > 0 | |
66 | - | |
67 | - try: | |
68 | - get_library()._element_find(locator, None, True) | |
69 | - except Exception: | |
70 | - return False | |
71 | - return True | |
72 | - | |
73 | - | |
74 | -# click | |
75 | -def js_click_element(locator): | |
76 | - element = get_library()._element_find(locator, None, True) | |
77 | - get_webdriver_instance().execute_script( | |
78 | - 'var $el = jQuery(arguments[0]); if($el.length) $el.click();', | |
79 | - element | |
80 | - ) | |
81 | - | |
82 | - | |
83 | -# convert locator to jquery locator | |
84 | -def convert_locator_to_jquery(locator): | |
85 | - locator_params = locator.split('=', 1) | |
86 | - if locator_params[0] == 'id': | |
87 | - return '#' + locator_params[1] | |
88 | - if locator_params[0] == 'jquery': | |
89 | - return locator_params[1] | |
90 | - if locator_params[0] == 'css': | |
91 | - return locator_params[1] | |
92 | - return None | |
93 | - | |
94 | - | |
95 | -# set scroll to element in view | |
96 | -def set_element_scroll_into_view(locator): | |
97 | - element = get_library()._element_find(locator, None, True) | |
98 | - get_webdriver_instance().execute_script( | |
99 | - 'var $el = jQuery(arguments[0]); if($el.length) $el.get(0).scrollIntoView();', | |
100 | - element | |
101 | - ) | |
102 | - | |
103 | - | |
104 | -# return text/value by specified locator | |
105 | -def get_value_by_locator(locator): | |
106 | - element = get_library()._element_find(locator, None, True) | |
107 | - text = get_webdriver_instance().execute_script( | |
108 | - 'var $element = jQuery(arguments[0]);' | |
109 | - 'if($element.is("input[type=checkbox]")) return $element.is(":checked") ? "1":"0";' | |
110 | - 'if($element.is("input,textarea,select")) return $element.val();' | |
111 | - 'return $element.text();', | |
112 | - element | |
113 | - ) | |
114 | - return text | |
115 | - | |
116 | - | |
117 | -# input text to hidden input | |
118 | -def input_text_to_hidden_input(locator, text): | |
119 | - element = get_library()._element_find(locator, None, True) | |
120 | - get_webdriver_instance().execute_script( | |
121 | - 'jQuery(arguments[0]).val("' + text.replace('"', '\\"') + '");', | |
122 | - element | |
123 | - ) | |
124 | - | |
125 | - | |
126 | -# select option by label for hidden select | |
127 | -def select_from_hidden_list_by_label(locator, label): | |
128 | - element = get_library()._element_find(locator, None, True) | |
129 | - get_webdriver_instance().execute_script( | |
130 | - 'var $option = jQuery("option:contains(' + label.replace('"', '\\"') + ')", arguments[0]);' + | |
131 | - 'if($option.length) jQuery(arguments[0]).val($option.attr("value"));', | |
132 | - element | |
133 | - ) | |
134 | - | |
135 | - | |
136 | -# trigger change event for input by locator | |
137 | -def trigger_input_change_event(locator): | |
138 | - element = get_library()._element_find(locator, None, True) | |
139 | - get_webdriver_instance().execute_script( | |
140 | - 'var $el = jQuery(arguments[0]); if($el.length) $el.trigger("change");', | |
141 | - element | |
142 | - ) | |
143 | - | |
144 | - | |
145 | -# convert all numners to string | |
146 | -def convert_float_to_string(number): | |
147 | - return repr(float(number)) | |
148 | - | |
149 | - | |
150 | -def convert_esco__float_to_string(number): | |
151 | - return '{0:.5f}'.format(float(number)) | |
152 | - | |
153 | - | |
154 | -def convert_float_to_string_3f(number): | |
155 | - return '{0:.3f}'.format(float(number)) | |
156 | - | |
157 | - | |
158 | -# convert any variable to specified type | |
159 | -def convert_to_specified_type(value, type): | |
160 | - value = "%s" % (value) | |
161 | - if type == 'integer': | |
162 | - value = value.split() | |
163 | - value = ''.join(value) | |
164 | - print(value) | |
165 | - value = int(value) | |
166 | - if type == 'float': | |
167 | - value = value.split() | |
168 | - value = ''.join(value) | |
169 | - print(value) | |
170 | - value = float(value) | |
171 | - return value | |
172 | - | |
173 | - | |
174 | -# prepare isodate in needed format | |
175 | -def isodate_format(isodate, format): | |
176 | - iso_dt = parse_date(isodate) | |
177 | - return iso_dt.strftime(format) | |
178 | - | |
179 | - | |
180 | -def procuring_entity_name(tender_data): | |
181 | - tender_data.data.procuringEntity['name'] = u"ТОВ \"ПлейТендер\"" | |
182 | - tender_data.data.procuringEntity['name_en'] = u"TOV \"playtender\"" | |
183 | - tender_data.data.procuringEntity.identifier['id'] = u"1234567890-playtender" | |
184 | - tender_data.data.procuringEntity.identifier['legalName'] = u"ТОВ \"ПлейТендер\"" | |
185 | - tender_data.data.procuringEntity.identifier['legalName_en'] = u"TOV \"playtender\"" | |
186 | - if 'address' in tender_data.data.procuringEntity: | |
187 | - tender_data.data.procuringEntity.address['region'] = u"м. Київ" | |
188 | - tender_data.data.procuringEntity.address['postalCode'] = u"123123" | |
189 | - tender_data.data.procuringEntity.address['locality'] = u"Київ" | |
190 | - tender_data.data.procuringEntity.address['streetAddress'] = u"address" | |
191 | - if 'contactPoint' in tender_data.data.procuringEntity: | |
192 | - tender_data.data.procuringEntity.contactPoint['name'] = u"Test ЗамовникОборони" | |
193 | - tender_data.data.procuringEntity.contactPoint['name_en'] = u"Test" | |
194 | - tender_data.data.procuringEntity.contactPoint['email'] = u"chuzhin@mail.ua" | |
195 | - tender_data.data.procuringEntity.contactPoint['telephone'] = u"+3801111111111" | |
196 | - tender_data.data.procuringEntity.contactPoint['url'] = u"http://playtender.com.ua" | |
197 | - if 'buyers' in tender_data.data: | |
198 | - tender_data.data.buyers[0]['name'] = u"ТОВ \"ПлейТендер\"" | |
199 | - tender_data.data.buyers[0].identifier['id'] = u"1234567890-playtender" | |
200 | - tender_data.data.buyers[0].identifier['legalName'] = u"ТОВ \"ПлейТендер\"" | |
201 | - return tender_data | |
202 | - | |
203 | -# prepare data | |
204 | -def prepare_procuring_entity_data(data): | |
205 | - try: | |
206 | - data['name'] = u"Playtender" | |
207 | - data.identifier['id'] = u"playtender" | |
208 | - data.identifier['legalName'] = u"Playtender" | |
209 | - data.identifier['scheme'] = u"UA-EDR" | |
210 | - if 'name_en' in data: | |
211 | - data['name_en'] = u"Playtender" | |
212 | - if 'legalName_en' in data.identifier: | |
213 | - data.identifier['legalName_en'] = u"Playtender" | |
214 | - if 'address' in data: | |
215 | - data.address['countryName'] = u"Україна" | |
216 | - data.address['locality'] = u"Київ" | |
217 | - data.address['postalCode'] = u"01111" | |
218 | - data.address['region'] = u"місто Київ" | |
219 | - data.address['streetAddress'] = u"вулиця Тестова, 220, 8" | |
220 | - if 'contactPoint' in data: | |
221 | - data.contactPoint['email'] = u"chuzhin@mail.ua" | |
222 | - data.contactPoint['faxNumber'] = u"+3801111111111" | |
223 | - data.contactPoint['telephone'] = u"+3801111111111" | |
224 | - data.contactPoint['name'] = u"Test" | |
225 | - if 'name_en' in data.contactPoint: | |
226 | - data.contactPoint['name_en'] = u"Test" | |
227 | - data.contactPoint['url'] = u"https://playtender.com.ua" | |
228 | - except Exception: | |
229 | - raise Exception('data is not a dictionary') | |
230 | - | |
231 | - | |
232 | -# prepare data | |
233 | -def prepare_buyers_data(data): | |
234 | - if type(data) is not list: | |
235 | - raise Exception('data is not a list') | |
236 | - | |
237 | - # preventing console errors about changing buyer data in cases | |
238 | - if len(data) != 1: | |
239 | - return | |
240 | - | |
241 | - item = next(iter(data), None) | |
242 | - item['name'] = u"Playtender" | |
243 | - item.identifier['id'] = u"playtender" | |
244 | - item.identifier['legalName'] = u"Playtender" | |
245 | - item.identifier['scheme'] = u"UA-EDR" | |
246 | - | |
247 | - | |
248 | -# prepare dictionary from field path + value | |
249 | -def generate_dictionary_from_field_path_and_value(path, value): | |
250 | - data = dict() | |
251 | - path_keys_list = path.split('.') | |
252 | - if len(path_keys_list) > 1: | |
253 | - key = path_keys_list.pop(0) | |
254 | - value = generate_dictionary_from_field_path_and_value('.'.join(path_keys_list), value) | |
255 | - indexRegex = re.compile(r'(\[(\d+)\]$)') | |
256 | - matchObj = indexRegex.search(key) | |
257 | - print matchObj | |
258 | - if matchObj: | |
259 | - key = indexRegex.sub('', key) | |
260 | - value['list_index'] = matchObj.group(2) | |
261 | - value = [value] | |
262 | - data[key] = value | |
263 | - else: | |
264 | - data = dict() | |
265 | - data[path] = value | |
266 | - return data | |
267 | - | |
268 | - | |
269 | -# Percentage conversion | |
270 | -def multiply_hundred(number): | |
271 | - return number * 100 | |
272 | - | |
273 | - | |
274 | -# prepares data for filling form in easiest way | |
275 | -def prepare_tender_data(data_original): | |
276 | - # preventing change data in global view | |
277 | - data = copy.deepcopy(data_original) | |
278 | - | |
279 | - # check if data is for multilot | |
280 | - if 'lots' not in data: | |
281 | - return data | |
282 | - | |
283 | - # moves features to its related items | |
284 | - if 'features' in data: | |
285 | - i = 0 | |
286 | - l = len(data['features']) | |
287 | - while i < l: | |
288 | - if data['features'][i]['featureOf'] == 'lot': | |
289 | - for lot in data['lots']: | |
290 | - if lot['id'] == data['features'][i]['relatedItem']: | |
291 | - if 'features' not in lot: | |
292 | - lot['features'] = [] | |
293 | - lot['features'].append(data['features'].pop(i)) | |
294 | - l = l - 1 | |
295 | - i = i - 1 | |
296 | - break | |
297 | - if data['features'][i]['featureOf'] == 'item': | |
298 | - for item in data['items']: | |
299 | - if item['id'] == data['features'][i]['relatedItem']: | |
300 | - if 'features' not in item: | |
301 | - item['features'] = [] | |
302 | - item['features'].append(data['features'].pop(i)) | |
303 | - l = l - 1 | |
304 | - i = i - 1 | |
305 | - break | |
306 | - i = i + 1 | |
307 | - | |
308 | - if 'features' in data: | |
309 | - if len(data['features']) == 0: | |
310 | - del data['features'] | |
311 | - | |
312 | - # moves items to its related lots | |
313 | - i = 0 | |
314 | - l = len(data['items']) | |
315 | - while i < l: | |
316 | - for lot in data['lots']: | |
317 | - if lot['id'] == data['items'][i]['relatedLot']: | |
318 | - if 'items' not in lot: | |
319 | - lot['items'] = [] | |
320 | - lot['items'].append(data['items'].pop(i)) | |
321 | - l = l - 1 | |
322 | - i = i - 1 | |
323 | - break | |
324 | - i = i + 1 | |
325 | - | |
326 | - del data['items'] | |
327 | - | |
328 | - if 'milestones' not in data: | |
329 | - return data | |
330 | - # moves milestones to its related lots | |
331 | - i = 0 | |
332 | - l = len(data['milestones']) | |
333 | - while i < l: | |
334 | - for lot in data['lots']: | |
335 | - if lot['id'] == data['milestones'][i]['relatedLot']: | |
336 | - if 'milestones' not in lot: | |
337 | - lot['milestones'] = [] | |
338 | - lot['milestones'].append(data['milestones'].pop(i)) | |
339 | - l = l - 1 | |
340 | - i = i - 1 | |
341 | - break | |
342 | - i = i + 1 | |
343 | - | |
344 | - del data['milestones'] | |
345 | - | |
346 | - return data | |
347 | - | |
348 | - | |
349 | -def split_agreementDuration(str, type): | |
350 | - if type in 'year': | |
351 | - year_temp = str.split('Y', 1) | |
352 | - value = year_temp[0].split('P', 1) | |
353 | - elif type in 'month': | |
354 | - month_temp = str.split('M', 1) | |
355 | - value = month_temp[0].split('Y', 1) | |
356 | - else: | |
357 | - day_temp = str.split('D', 1) | |
358 | - value = day_temp[0].split('M', 1) | |
359 | - return value[1] | |
360 | - | |
361 | - | |
362 | -def convert_date_to_string_contr(date): | |
363 | - date = dateutil.parser.parse(date) | |
364 | - date = date.strftime("%d.%m.%Y %H:%M:%S") | |
365 | - return date | |
366 | - | |
367 | -def get_value_minimalStepPercentage(value): | |
368 | - value = value / 100 | |
369 | - return value | |
370 | - | |
371 | -def set_value_minimalStepPercentage(value): | |
372 | - value = value * 100 | |
373 | - return value | |
374 | - | |
375 | -def convert_esco__float_to_string(number): | |
376 | - return '{0:.5f}'.format(float(number)) | |
377 | - | |
378 | -def convert_string_to_float(number): | |
379 | - return float(number) | |
380 | - | |
381 | -def download_file(url, file_name, output_dir): | |
382 | - urllib.urlretrieve(url, ('{}/{}'.format(output_dir, file_name))) | |
383 | - | |
384 | -def parse_complaintPeriod_date(date_string): | |
385 | - date_str = datetime.strptime(date_string, "%d.%m.%Y %H:%M") | |
386 | - date = datetime(date_str.year, date_str.month, date_str.day, date_str.hour, date_str.minute, date_str.second, | |
387 | - date_str.microsecond) | |
388 | - date = TZ.localize(date).isoformat() | |
389 | - return date | |
390 | - | |
391 | -def parse_deliveryPeriod_date1(date): | |
392 | - date = dateutil.parser.parse(date) | |
393 | - date = date.strftime("%d.%m.%Y") | |
394 | - return date | |
395 | - | |
396 | -def parse_deliveryPeriod_date(date_string): | |
397 | -# date_str = datetime.strptime(date_string, "%Y-%m-%dT%H:%M:%S+03:00") | |
398 | - if '+03' in date_string: | |
399 | - date_str = datetime.strptime(date_string, "%Y-%m-%dT%H:%M:%S+03:00") | |
400 | - else: | |
401 | - date_str = datetime.strptime(date_string, "%Y-%m-%dT%H:%M:%S+02:00") | |
402 | - date = datetime(date_str.year, date_str.month, date_str.day) | |
403 | - date = date.strftime("%d.%m.%Y") | |
404 | - return date | |
405 | - | |
406 | -def split_joinvalue(str_value): | |
407 | - str_value = str_value.split() | |
408 | - str_value = ''.join(str_value) | |
409 | - print(str_value) | |
410 | - str_value.replace(" ", "") | |
411 | - return str_value |
playtender_tender.robot
deleted
100644 → 0
1 | -*** Settings *** | |
2 | - | |
3 | -Resource playtender_common.robot | |
4 | -Resource playtender_variables.robot | |
5 | -Resource playtender_question.robot | |
6 | -Resource playtender_claim.robot | |
7 | -Resource playtender_bid.robot | |
8 | -Resource playtender_viewer.robot | |
9 | - | |
10 | -*** Keywords *** | |
11 | - | |
12 | -open new tender form | |
13 | - [Documentation] відкриття сторінки створення тендеру | |
14 | - | |
15 | - open page and wait element by locator ${broker_baseurl}/tender/create ${tender_form_locator} | |
16 | - | |
17 | -update tender queue | |
18 | - [Documentation] запускає оновлення тендерів з ЦБД і додає їх в чергу, тобто синхронізація може відбутися не відразу | |
19 | - ... поточна сторіка повертається | |
20 | - | |
21 | - ${current_url} = get location | |
22 | - go to ${broker_baseurl}/utils/queue-tender-update | |
23 | - go to ${current_url} | |
24 | - | |
25 | -open tender form by uaid | |
26 | - [Arguments] ${tender_uaid} | |
27 | - [Documentation] відкриття сторінки редагування плану | |
28 | - | |
29 | - open tender page by uaid ${tender_uaid} | |
30 | - click visible element and wait until page contains element ${tender_edit_btn_locator} ${tender_form_locator} | |
31 | - | |
32 | -open tender page by uaid | |
33 | - [Arguments] ${uaid} | |
34 | - [Documentation] відкриває сторінку з тендером | |
35 | - | |
36 | - open site page and wait content element ${broker_baseurl}/tender/${uaid} | |
37 | - ${is_tender_found} = get is element exist ${tender_view_checker_element_locator} | |
38 | - return from keyword if ${is_tender_found} == ${True} | |
39 | - ${is_tender_not_found} = get is 404 page | |
40 | - ${is_needed_to_update_and_wait_sync} = set variable if ${is_test_role_owner} == ${False} and ${is_tender_not_found} ${True} ${False} | |
41 | - run keyword if ${is_needed_to_update_and_wait_sync} update tender queue | |
42 | - run keyword if ${is_needed_to_update_and_wait_sync} wait until 404 page disappears | |
43 | - ${is_tender_found} = get is element exist ${tender_view_checker_element_locator} | |
44 | - run keyword if ${is_tender_found} == ${False} fail Opening tender page by uaid fails. | |
45 | - | |
46 | - | |
47 | -fill tender form | |
48 | - [Arguments] ${data} | |
49 | - [Documentation] заповнення форми з масива даних | |
50 | - | |
51 | - fill tender general info ${data} | |
52 | - ${features} = get from dictionary by keys ${data} features | |
53 | - run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_general_panel_add_feature_btn_locator} | |
54 | - ${items} = get from dictionary by keys ${data} items | |
55 | - run keyword if condition is not none ${items} fill tender form items ${items} | |
56 | - ${milestones} = get from dictionary by keys ${data} milestones | |
57 | - run keyword and ignore error run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} | |
58 | - ${lots} = get from dictionary by keys ${data} lots | |
59 | - run keyword if condition is not none ${lots} fill tender form lots ${lots} | |
60 | - ${supplier_data} = op_robot_tests.tests_files.service_keywords . Test Supplier Data | |
61 | - ##### BOF - TMP for negotiation milestone 1 lot##### | |
62 | - run keyword if '${mode}' in 'reporting' Set Global Variable ${rep_val} ${data.value.amount} | |
63 | - ##### EOF - TMP ##### | |
64 | - run keyword if '${mode}' in 'negotiation reporting' fill tender from award reporting ${data.value.amount} ${supplier_data.data.suppliers[0]} | |
65 | - Run Keyword And Ignore Error fill tender required documents | |
66 | - ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType | |
67 | - Run Keyword And Ignore Error run keyword if '${mode}' in 'openeu open_esco open_framework' or ('${mode}' == 'open_competitive_dialogue' and '${procurement_method_type}' == 'competitiveDialogueEU') fill tender contact person ${data} | |
68 | -# Run Keyword And Ignore Error Execute Javascript $('a.btn.btn-default.btn-update.js-form-popup-add').click() | |
69 | - | |
70 | -fill tender form 2 stage | |
71 | - [Arguments] ${data} | |
72 | - [Documentation] заповнення форми з масива даних | |
73 | - | |
74 | - fill tender general info 2 stage ${data} | |
75 | - ${features} = get from dictionary by keys ${data} features | |
76 | - run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_general_panel_add_feature_btn_locator} | |
77 | - ${items} = get from dictionary by keys ${data} items | |
78 | -# run keyword if condition is not none ${items} fill tender form items ${items} | |
79 | - run keyword if condition is not none ${items} fill tender form ${items} | |
80 | - ${milestones} = get from dictionary by keys ${data} milestones | |
81 | - run keyword and ignore error run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} | |
82 | - ${lots} = get from dictionary by keys ${data} lots | |
83 | - run keyword if condition is not none ${lots} fill tender form lots 2 stage ${lots} | |
84 | - ${supplier_data} = op_robot_tests.tests_files.service_keywords . Test Supplier Data | |
85 | - run keyword if '${mode}' in 'negotiation reporting' fill tender from award reporting ${data.value.amount} ${supplier_data.data.suppliers[0]} | |
86 | - Run Keyword And Ignore Error fill tender required documents | |
87 | - | |
88 | -fill tender general info | |
89 | - [Arguments] ${data} | |
90 | - [Documentation] обирає потрібний тип закупівлі, чекає оновлення форми, вказує мультилотовість, заповнює | |
91 | - ... приховані поля + відкриває попап основних даних, заповнює його і закриває | |
92 | - | |
93 | - Execute Javascript $(window).scrollTop(0) | |
94 | - wait until page does not contain element ${tender_load_form_after_mode_locator} | |
95 | - wait until page contains element ${tender_form_procurement_method_type_input_locator} | |
96 | - capture page screenshot | |
97 | - ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType | |
98 | - capture page screenshot | |
99 | - run keyword if condition is not none ${procurement_method_type} select from list by value ${tender_form_procurement_method_type_input_locator} ${procurement_method_type} | |
100 | - wait until page does not contain element ${tender_load_form_after_mode_locator} | |
101 | - | |
102 | - ${lots} = get from dictionary by keys ${data} lots | |
103 | - run keyword if condition is not none ${lots} Run Keyword And Ignore Error Execute Javascript $('[id$="form-is_multilot"]').click() | |
104 | - wait until page does not contain element ${tender_load_form_after_mode_locator} 20 | |
105 | - | |
106 | - open popup by btn locator ${plan_form_general_panel_edit_btn_locator} | |
107 | - ${plan_path} = Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml | |
108 | - ${closeFrameworkAgreementSelectionUA_path} = Get Variable Value ${ARTIFACT_FILE} artifact.yaml | |
109 | - ${ARTIFACT} = load_data_from ${plan_path} | |
110 | - run keyword and ignore error run keyword if condition is not none ${ARTIFACT.tender_uaid} input text to visible input ${tender_form_general_tender_plan_id_locator} ${ARTIFACT.tender_uaid} | |
111 | - ${ARTIFACT2} = load_data_from ${closeFrameworkAgreementSelectionUA_path} | |
112 | - run keyword and ignore error run keyword if condition is not none ${ARTIFACT.tender_uaid} input text to visible input ${tender_form_general_agreementid_input_locator} ${ARTIFACT2.tender_uaid} | |
113 | - ${title} = get from dictionary by keys ${data} title | |
114 | - run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_title_locator} ${title} | |
115 | - ${title_en} = get from dictionary by keys ${data} title_en | |
116 | - run keyword if condition is not none ${title} input text to exist visible input ${tender_form_general_tender_title_en_locator} ${title_en} | |
117 | - ${description} = get from dictionary by keys ${data} description | |
118 | - run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_description_locator} ${description} | |
119 | - ${description_en} = get from dictionary by keys ${data} description_en | |
120 | - run keyword if condition is not none ${title} input text to exist visible input ${tender_form_general_tender_description_en_locator} ${description_en} | |
121 | - ${funders} = get from dictionary by keys ${data} funders | |
122 | - run keyword if condition is not none ${funders} Click Element ${tender_form_general_tender_funder_locator} | |
123 | - run keyword if condition is not none ${funders} fill tender form funders ${funders} | |
124 | - ${amount} = get from dictionary by keys ${data} value amount | |
125 | - run keyword and ignore error run keyword if condition is not none ${amount} run keyword and ignore error input number to exist visible input ${tender_form_general_value_amount_input_locator} ${amount} | |
126 | - ${currency} = get from dictionary by keys ${data} value currency | |
127 | - run keyword if condition is not none ${currency} select from visible list by value ${tender_form_general_value_currency_input_locator} ${currency} | |
128 | - ${value_added_tax_included} = get from dictionary by keys ${data} value valueAddedTaxIncluded | |
129 | - run keyword if condition is not none ${value_added_tax_included} run keyword if ${value_added_tax_included} Execute Javascript $('[id$="form-value_added_tax_included"]').click() | |
130 | -##run keyword and ignore error | |
131 | - | |
132 | -##click element ${tender_form_general_value_added_tax_input_locator} | |
133 | - Execute Javascript $('[id$="form-test_mode"]').click() | |
134 | - ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount | |
135 | - run keyword if condition is not none ${min_step_amount} input number to exist visible input ${tender_form_general_minimalStep_amount_input_locator} ${min_step_amount} | |
136 | - ${main_procurement_category} = get from dictionary by keys ${data} mainProcurementCategory | |
137 | - run keyword if condition is not none ${main_procurement_category} select from visible list by value ${tender_form_general_main_procurement_category_input_locator} ${main_procurement_category} | |
138 | - ${tender_enquiry_period_start_date} = get from dictionary by keys ${data} enquiryPeriod startDate | |
139 | -# run keyword if condition is not none ${tender_enquiry_period_start_date} select from visible list by year of date ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} | |
140 | - run keyword and ignore error run keyword if condition is not none ${tender_enquiry_period_start_date} input datetime to visible input ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} | |
141 | - ${tender_enquiry_period_end_date} = get from dictionary by keys ${data} enquiryPeriod endDate | |
142 | -# run keyword if condition is not none ${tender_enquiry_period_start_date} select from visible list by year of date ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} | |
143 | - run keyword if condition is not none ${tender_enquiry_period_end_date} input datetime to visible input ${tender_enquiry_period_end_date_input_locator} ${tender_enquiry_period_end_date} | |
144 | - ${tender_start_date} = get from dictionary by keys ${data} tenderPeriod startDate | |
145 | - run keyword if condition is not none ${tender_start_date} run keyword and ignore error input datetime to visible input ${tender_tender_period_start_date_input_locator} ${tender_start_date} | |
146 | - ${tender_end_date} = get from dictionary by keys ${data} tenderPeriod endDate | |
147 | - run keyword if condition is not none ${tender_end_date} input datetime to visible input ${tender_tender_period_end_date_input_locator} ${tender_end_date} | |
148 | -# run keyword and ignore error click element ${tender_tender_quick_mode_locator} | |
149 | - run keyword and ignore error Execute Javascript $('[id$="form-quick_mode"]').click() | |
150 | - ${classification} = get from dictionary by keys ${data} classification | |
151 | - run keyword if condition is not none ${classification} select classification by code attributes ${plan_form_classification_edit_btn_locator} ${classification} | |
152 | - ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications | |
153 | - run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_additional_classification_edit_btn_locator} ${additional_classifications} ${None} ${kekv_schemes} | |
154 | - run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_kekv_classification_edit_btn_locator} ${additional_classifications} ${kekv_schemes} | |
155 | - ${funding_kind} = get from dictionary by keys ${data} fundingKind | |
156 | - run keyword if condition is not none ${funding_kind} select from visible list by value ${tender_form_general_funding_kind_input_locator} ${funding_kind} | |
157 | -#esco | |
158 | - ${nbu_discount_rate} = get from dictionary by keys ${data} NBUdiscountRate | |
159 | - ${nbu_discount_rate} = Run keyword If '${nbu_discount_rate}' != '${None}' set_value_minimalStepPercentage ${nbu_discount_rate} | |
160 | - ${nbu_discount_rate} = Run keyword If '${nbu_discount_rate}' != '${None}' convert_esco__float_to_string ${nbu_discount_rate} | |
161 | - run keyword and ignore error run keyword if condition is not none ${nbu_discount_rate} input number to exist visible input ${tender_form_general_nbu_discount_rate_input_locator} ${nbu_discount_rate} | |
162 | -#closeframework | |
163 | - ${max_awards_count} = get from dictionary by keys ${data} maxAwardsCount | |
164 | - run keyword if condition is not none ${max_awards_count} input text to exist visible input ${tender_form_general_max_awards_count_input_locator} ${max_awards_count} | |
165 | - ${agreement_duration_years} = get from dictionary by keys ${data} agreementDuration | |
166 | - ${agreement_duration_years1}= Run keyword If '${agreement_duration_years}' != '${None}' split_agreementDuration ${agreement_duration_years} year | |
167 | - run keyword if condition is not none ${agreement_duration_years} select from visible list by value ${tender_form_general_agreement_duration_years_input_locator} ${agreement_duration_years1} | |
168 | - ${agreement_duration_months} = get from dictionary by keys ${data} agreementDuration | |
169 | - ${agreement_duration_months1}= Run keyword If '${agreement_duration_months}' != '${None}' split_agreementDuration ${agreement_duration_months} month | |
170 | - run keyword if condition is not none ${agreement_duration_months} select from visible list by value ${tender_form_general_agreement_duration_months_input_locator} ${agreement_duration_months1} | |
171 | - ${agreement_duration_days} = get from dictionary by keys ${data} agreementDuration | |
172 | - ${agreement_duration_days1}= Run keyword If '${agreement_duration_days}' != '${None}' split_agreementDuration ${agreement_duration_years} day | |
173 | - run keyword if condition is not none ${agreement_duration_days} select from visible list by value ${tender_form_general_agreement_duration_days_input_locator} ${agreement_duration_days1} | |
174 | -#closeFrameworkAgreementSelectionUA | |
175 | - ${max_awards_count} = get from dictionary by keys ${data} maxAwardsCount | |
176 | - run keyword if condition is not none ${max_awards_count} input text to exist visible input ${tender_form_general_max_awards_count_input_locator} ${max_awards_count} | |
177 | - ${agreement_duration_years} = get from dictionary by keys ${data} agreementDuration | |
178 | - ${agreement_duration_years1}= Run keyword If '${agreement_duration_years}' != '${None}' split_agreementDuration ${agreement_duration_years} year | |
179 | - run keyword if condition is not none ${agreement_duration_years} select from visible list by value ${tender_form_general_agreement_duration_years_input_locator} ${agreement_duration_years1} | |
180 | - ${agreement_duration_months} = get from dictionary by keys ${data} agreementDuration | |
181 | - ${agreement_duration_months1}= Run keyword If '${agreement_duration_months}' != '${None}' split_agreementDuration ${agreement_duration_months} month | |
182 | - run keyword if condition is not none ${agreement_duration_months} select from visible list by value ${tender_form_general_agreement_duration_months_input_locator} ${agreement_duration_months1} | |
183 | - ${agreement_duration_days} = get from dictionary by keys ${data} agreementDuration | |
184 | - ${agreement_duration_days1}= Run keyword If '${agreement_duration_days}' != '${None}' split_agreementDuration ${agreement_duration_years} day | |
185 | - run keyword if condition is not none ${agreement_duration_days} select from visible list by value ${tender_form_general_agreement_duration_days_input_locator} ${agreement_duration_days1} | |
186 | -#negotiation | |
187 | - ${cause} = get from dictionary by keys ${data} cause | |
188 | - run keyword if condition is not none ${cause} select from visible list by value ${tender_form_general_cause_input_locator} ${cause} | |
189 | - ${cause_description} = get from dictionary by keys ${data} causeDescription | |
190 | - run keyword if condition is not none ${cause_description} input text to visible input ${tender_form_general_cause_description_input_locator} ${cause_description} | |
191 | -#complaints | |
192 | - Run Keyword If '${SUITE_NAME}' == 'Tests Files.Complaints' click visible element ${tender_form_auction_skip_mode_input_locator} | |
193 | - submit current visible popup | |
194 | - | |
195 | - | |
196 | -fill tender general info 2 stage | |
197 | - [Arguments] ${data} | |
198 | - [Documentation] обирає потрібний тип закупівлі, чекає оновлення форми, вказує мультилотовість, заповнює | |
199 | - ... приховані поля + відкриває попап основних даних, заповнює його і закриває | |
200 | - | |
201 | - Execute Javascript $(window).scrollTop(0) | |
202 | - wait until page does not contain element ${tender_load_form_after_mode_locator} | |
203 | - wait until page contains element ${tender_form_procurement_method_type_input_locator} | |
204 | - capture page screenshot | |
205 | - ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType | |
206 | - capture page screenshot | |
207 | - run keyword if condition is not none ${procurement_method_type} select from list by value ${tender_form_procurement_method_type_input_locator} ${procurement_method_type} | |
208 | - wait until page does not contain element ${tender_load_form_after_mode_locator} | |
209 | - | |
210 | - ${lots} = get from dictionary by keys ${data} lots | |
211 | - run keyword if condition is not none ${lots} Run Keyword And Ignore Error Click Element ${tender_multilot_locator} | |
212 | - wait until page does not contain element ${tender_load_form_after_mode_locator} 20 | |
213 | - | |
214 | - open popup by btn locator ${plan_form_general_panel_edit_btn_locator} | |
215 | - ${closeFrameworkAgreementSelectionUA_path} = Get Variable Value ${ARTIFACT_FILE} artifact.yaml | |
216 | - ${ARTIFACT2} = load_data_from ${closeFrameworkAgreementSelectionUA_path} | |
217 | - run keyword and ignore error run keyword if condition is not none ${ARTIFACT.tender_uaid} input text to visible input ${tender_form_general_agreementid_input_locator} ${ARTIFACT2.tender_uaid} | |
218 | - ${main_procurement_category} = get from dictionary by keys ${data} mainProcurementCategory | |
219 | - run keyword if condition is not none ${main_procurement_category} Execute Javascript $('[id$="form-main_procurement_category"]').val('${main_procurement_category}').change() | |
220 | - ${title} = get from dictionary by keys ${data} title | |
221 | - run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_title_locator} ${title} | |
222 | - ${title_en} = get from dictionary by keys ${data} title_en | |
223 | - run keyword if condition is not none ${title} input text to exist visible input ${tender_form_general_tender_title_en_locator} ${title_en} | |
224 | - ${description} = get from dictionary by keys ${data} description | |
225 | - run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_description_locator} ${description} | |
226 | - ${description_en} = get from dictionary by keys ${data} description_en | |
227 | - run keyword if condition is not none ${title} input text to exist visible input ${tender_form_general_tender_description_en_locator} ${description_en} | |
228 | - ${amount} = get from dictionary by keys ${data} value amount | |
229 | - run keyword and ignore error run keyword if condition is not none ${amount} run keyword and ignore error input number to exist visible input ${tender_form_general_value_amount_input_locator} ${amount} | |
230 | - ${currency} = get from dictionary by keys ${data} value currency | |
231 | - run keyword if condition is not none ${currency} select from visible list by value ${tender_form_general_value_currency_input_locator} ${currency} | |
232 | - ${value_added_tax_included} = get from dictionary by keys ${data} value valueAddedTaxIncluded | |
233 | - run keyword if condition is not none ${value_added_tax_included} run keyword if ${value_added_tax_included} Click Element ${tender_form_general_value_added_tax_input_locator} | |
234 | - ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount | |
235 | - run keyword if condition is not none ${min_step_amount} input number to exist visible input ${tender_form_general_minimalStep_amount_input_locator} ${min_step_amount} | |
236 | - ${tender_enquiry_period_start_date} = get from dictionary by keys ${data} enquiryPeriod startDate | |
237 | -# run keyword if condition is not none ${tender_enquiry_period_start_date} select from visible list by year of date ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} | |
238 | - run keyword if condition is not none ${tender_enquiry_period_start_date} input datetime to visible input ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} | |
239 | - ${tender_enquiry_period_end_date} = get from dictionary by keys ${data} enquiryPeriod endDate | |
240 | -# run keyword if condition is not none ${tender_enquiry_period_start_date} select from visible list by year of date ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} | |
241 | - run keyword if condition is not none ${tender_enquiry_period_end_date} input datetime to visible input ${tender_enquiry_period_end_date_input_locator} ${tender_enquiry_period_end_date} | |
242 | - ${tender_start_date} = get from dictionary by keys ${data} tenderPeriod startDate | |
243 | - run keyword if condition is not none ${tender_start_date} run keyword and ignore error input datetime to visible input ${tender_tender_period_start_date_input_locator} ${tender_start_date} | |
244 | - ${tender_end_date} = get from dictionary by keys ${data} tenderPeriod endDate | |
245 | - run keyword if condition is not none ${tender_end_date} input datetime to visible input ${tender_tender_period_end_date_input_locator} ${tender_end_date} | |
246 | - ${date_start} = Get Current Date increment=03:00:00 | |
247 | - run keyword if condition is none ${tender_end_date} input datetime to visible input ${tender_tender_period_end_date_input_locator} ${date_start} | |
248 | - run keyword and ignore error click element ${tender_tender_quick_mode_locator} | |
249 | - ${classification} = get from dictionary by keys ${data} classification | |
250 | - run keyword if condition is not none ${classification} select classification by code attributes ${plan_form_classification_edit_btn_locator} ${classification} | |
251 | - ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications | |
252 | - run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_additional_classification_edit_btn_locator} ${additional_classifications} ${None} ${kekv_schemes} | |
253 | - run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_kekv_classification_edit_btn_locator} ${additional_classifications} ${kekv_schemes} | |
254 | - ${funding_kind} = get from dictionary by keys ${data} fundingKind | |
255 | - run keyword if condition is not none ${funding_kind} select from visible list by value ${tender_form_general_funding_kind_input_locator} ${funding_kind} | |
256 | -#closeframework | |
257 | - ${max_awards_count} = get from dictionary by keys ${data} maxAwardsCount | |
258 | - run keyword if condition is not none ${max_awards_count} input text to exist visible input ${tender_form_general_max_awards_count_input_locator} ${max_awards_count} | |
259 | - ${agreement_duration_years} = get from dictionary by keys ${data} agreementDuration | |
260 | - ${agreement_duration_years1}= Run keyword If '${agreement_duration_years}' != '${None}' split_agreementDuration ${agreement_duration_years} year | |
261 | - run keyword if condition is not none ${agreement_duration_years} select from visible list by value ${tender_form_general_agreement_duration_years_input_locator} ${agreement_duration_years1} | |
262 | - ${agreement_duration_months} = get from dictionary by keys ${data} agreementDuration | |
263 | - ${agreement_duration_months1}= Run keyword If '${agreement_duration_months}' != '${None}' split_agreementDuration ${agreement_duration_months} month | |
264 | - run keyword if condition is not none ${agreement_duration_months} select from visible list by value ${tender_form_general_agreement_duration_months_input_locator} ${agreement_duration_months1} | |
265 | - ${agreement_duration_days} = get from dictionary by keys ${data} agreementDuration | |
266 | - ${agreement_duration_days1}= Run keyword If '${agreement_duration_days}' != '${None}' split_agreementDuration ${agreement_duration_years} day | |
267 | - run keyword if condition is not none ${agreement_duration_days} select from visible list by value ${tender_form_general_agreement_duration_days_input_locator} ${agreement_duration_days1} | |
268 | -#closeFrameworkAgreementSelectionUA | |
269 | - ${max_awards_count} = get from dictionary by keys ${data} maxAwardsCount | |
270 | - run keyword if condition is not none ${max_awards_count} input text to exist visible input ${tender_form_general_max_awards_count_input_locator} ${max_awards_count} | |
271 | - ${agreement_duration_years} = get from dictionary by keys ${data} agreementDuration | |
272 | - ${agreement_duration_years1}= Run keyword If '${agreement_duration_years}' != '${None}' split_agreementDuration ${agreement_duration_years} year | |
273 | - run keyword if condition is not none ${agreement_duration_years} select from visible list by value ${tender_form_general_agreement_duration_years_input_locator} ${agreement_duration_years1} | |
274 | - ${agreement_duration_months} = get from dictionary by keys ${data} agreementDuration | |
275 | - ${agreement_duration_months1}= Run keyword If '${agreement_duration_months}' != '${None}' split_agreementDuration ${agreement_duration_months} month | |
276 | - run keyword if condition is not none ${agreement_duration_months} select from visible list by value ${tender_form_general_agreement_duration_months_input_locator} ${agreement_duration_months1} | |
277 | - ${agreement_duration_days} = get from dictionary by keys ${data} agreementDuration | |
278 | - ${agreement_duration_days1}= Run keyword If '${agreement_duration_days}' != '${None}' split_agreementDuration ${agreement_duration_years} day | |
279 | - run keyword if condition is not none ${agreement_duration_days} select from visible list by value ${tender_form_general_agreement_duration_days_input_locator} ${agreement_duration_days1} | |
280 | - submit current visible popup | |
281 | - | |
282 | -fill tender form items | |
283 | - [Arguments] ${item_attributes_array} | |
284 | - [Documentation] заповнення номенклатури тендеру | |
285 | - | |
286 | - :FOR ${item_attributes} IN @{item_attributes_array} | |
287 | - \ run keyword and ignore error open popup by btn locator ${tender_form_item_add_edit_btn_locator} | |
288 | -# \ wait until popup is visible | |
289 | - \ fill tender item form in opened popup ${item_attributes} | |
290 | - \ submit current visible popup | |
291 | - \ ${features} = get from dictionary by keys ${item_attributes} features | |
292 | - \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_item_panel_add_feature_btn_locator} | |
293 | - | |
294 | -fill tender form items 2 stage | |
295 | - [Arguments] ${item_attributes_array} | |
296 | - [Documentation] заповнення номенклатури тендеру | |
297 | - | |
298 | - :FOR ${item_attributes} IN @{item_attributes_array} | |
299 | - \ run keyword and ignore error open popup by btn locator ${tender_form_item_edit_btn_locator} | |
300 | -# \ wait until popup is visible | |
301 | - \ fill tender item form in opened popup ${item_attributes} | |
302 | - \ submit current visible popup | |
303 | - \ ${features} = get from dictionary by keys ${item_attributes} features | |
304 | - \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_item_panel_add_feature_btn_locator} | |
305 | - | |
306 | -fill tender item form in opened popup | |
307 | - [Arguments] ${data} | |
308 | - [Documentation] заповнює відкриту форму згідно вказаних даних | |
309 | - | |
310 | - fill item form in opened popup ${data} | |
311 | - | |
312 | - ${region} = get from dictionary by keys ${data} deliveryAddress region | |
313 | - run keyword if condition is not none ${region} select from visible list by label ${item_form_popup_delivery_region_id_input_locator} ${region} | |
314 | - ${postal_code} = get from dictionary by keys ${data} deliveryAddress postalCode | |
315 | - run keyword if condition is not none ${postal_code} input text to visible input ${item_form_popup_delivery_postal_code_input_locator} ${postal_code} | |
316 | - ${locality} = get from dictionary by keys ${data} deliveryAddress locality | |
317 | - run keyword if condition is not none ${locality} input text to visible input ${item_form_popup_delivery_locality_input_locator} ${locality} | |
318 | - ${street_address} = get from dictionary by keys ${data} deliveryAddress streetAddress | |
319 | - run keyword if condition is not none ${street_address} input text to visible input ${item_form_popup_delivery_street_address_input_locator} ${street_address} | |
320 | - ${delivery_start_date} = get from dictionary by keys ${data} deliveryDate startDate | |
321 | - ${delivery_start_date} = Run keyword If '${delivery_start_date}' != '${None}' parse_deliveryPeriod_date ${delivery_start_date} | |
322 | - run keyword if condition is not none ${delivery_start_date} run keyword and ignore error input datetime to exist visible input ${item_form_popup_delivery_start_date_input_locator} ${delivery_start_date} | |
323 | - ${delivery_end_date} = get from dictionary by keys ${data} deliveryDate endDate | |
324 | - ${delivery_end_date} = Run keyword If '${delivery_end_date}' != '${None}' parse_deliveryPeriod_date ${delivery_end_date} | |
325 | - run keyword if condition is not none ${delivery_end_date} run keyword and ignore error input text ${item_form_popup_delivery_end_date_input_locator} ${delivery_end_date} | |
326 | -## run keyword if condition is not none ${delivery_end_date} run keyword and ignore error input datetime to exist visible input ${item_form_popup_delivery_end_date_input_locator} ${delivery_end_date} | |
327 | - | |
328 | -fill tender form milestones | |
329 | - [Arguments] ${milestone_attributes_array} | |
330 | - [Documentation] заповнення умов оплати тендеру | |
331 | - | |
332 | - open popup by btn locator ${tender_form_milestones_panel_edit_btn_locator} | |
333 | -# click visible element ${tender_form_milestones_panel_edit_btn_locator} | |
334 | -# wait until popup is visible | |
335 | - :FOR ${milestone_attributes} IN @{milestone_attributes_array} | |
336 | - \ click visible element ${milestone_form_popup_add_btn_locator} | |
337 | - \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
338 | - \ fill milestone form in opened popup ${milestone_attributes} | |
339 | - submit current visible popup | |
340 | - | |
341 | -fill tender form milestones fake | |
342 | - [Documentation] заповнення умов оплати тендеру | |
343 | - | |
344 | - open popup by btn locator ${tender_form_milestones_panel_edit_btn_locator} | |
345 | - click visible element ${milestone_form_popup_add_btn_locator} | |
346 | - wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
347 | - select from visible list by value ${milestone_form_popup_title_input_locator} submissionDateOfApplications | |
348 | - input text to exist visible input ${milestone_form_popup_description_input_locator} submissionDateOfApplications | |
349 | - input text to exist visible input ${milestone_form_popup_percentage_input_locator} 100 | |
350 | - select from visible list by value ${milestone_form_popup_code_input_locator} postpayment | |
351 | - input text to exist visible input ${milestone_form_popup_duration_days_input_locator} 145 | |
352 | - select from visible list by value ${milestone_form_popup_duration_type_input_locator} working | |
353 | - submit current visible popup | |
354 | - | |
355 | -fill milestone form in opened popup | |
356 | - [Arguments] ${data} | |
357 | - [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних | |
358 | - | |
359 | - ${title} = get from dictionary by keys ${data} title | |
360 | - run keyword if condition is not none ${title} select from visible list by value ${milestone_form_popup_title_input_locator} ${title} | |
361 | - ${description} = get from dictionary by keys ${data} description | |
362 | - run keyword if condition is not none ${description} input text to exist visible input ${milestone_form_popup_description_input_locator} ${description} | |
363 | - ${percentage} = get from dictionary by keys ${data} percentage | |
364 | - run keyword if condition is not none ${percentage} input text to exist visible input ${milestone_form_popup_percentage_input_locator} ${percentage} | |
365 | - ${code} = get from dictionary by keys ${data} code | |
366 | - run keyword if condition is not none ${code} select from visible list by value ${milestone_form_popup_code_input_locator} ${code} | |
367 | - ${duration_days} = get from dictionary by keys ${data} duration days | |
368 | - run keyword if condition is not none ${duration_days} input text to exist visible input ${milestone_form_popup_duration_days_input_locator} ${duration_days} | |
369 | - ${duration_type} = get from dictionary by keys ${data} duration type | |
370 | - run keyword if condition is not none ${duration_type} select from visible list by value ${milestone_form_popup_duration_type_input_locator} ${duration_type} | |
371 | - | |
372 | -fill tender form features | |
373 | - [Arguments] ${feature_attributes_array} ${add_btn_locator} | |
374 | - [Documentation] заповнення нецінові крітерії тендеру | |
375 | - | |
376 | - open popup by btn locator ${add_btn_locator} | |
377 | -# click visible element ${add_btn_locator} | |
378 | -# wait until popup is visible | |
379 | - :FOR ${feature_attributes} IN @{feature_attributes_array} | |
380 | -# \ click visible element ${tender_form_features_panel_edit_btn_locator} | |
381 | - \ execute javascript ${tender_form_features_panel_edit_btn_locator} | |
382 | - \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
383 | - \ fill feature form in opened popup ${feature_attributes} | |
384 | - submit current visible popup | |
385 | - | |
386 | -fill tender form features2 | |
387 | - [Arguments] ${feature_attributes_array} ${add_btn_locator} | |
388 | - [Documentation] заповнення нецінові крітерії тендеру | |
389 | - | |
390 | - open popup by btn locator ${add_btn_locator} | |
391 | -# click visible element ${add_btn_locator} | |
392 | -# wait until popup is visible | |
393 | - click visible element ${tender_form_features_panel_edit_btn_locator} | |
394 | - wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
395 | - fill feature form in opened popup ${feature_attributes_array} | |
396 | - submit current visible popup | |
397 | - | |
398 | -fill feature form in opened popup | |
399 | - [Arguments] ${data} | |
400 | - [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних | |
401 | - | |
402 | - ${title} = get from dictionary by keys ${data} title | |
403 | - run keyword if condition is not none ${title} input text to exist visible input ${feature_form_popup_title_input_locator} ${title} | |
404 | - ${description} = get from dictionary by keys ${data} description | |
405 | - run keyword if condition is not none ${description} input text to exist visible input ${feature_form_popup_description_input_locator} ${description} | |
406 | - ${title_en} = get from dictionary by keys ${data} title_en | |
407 | - run keyword if condition is not none ${title_en} input text to exist visible input ${feature_form_popup_title_en_input_locator} ${title_en} | |
408 | - ${description_en} = get from dictionary by keys ${data} description | |
409 | - run keyword if condition is not none ${description_en} input text to exist visible input ${feature_form_popup_description_en_input_locator} ${description_en} | |
410 | - ${options} = Get From Dictionary ${data} enum | |
411 | - ${count} = Get Length ${options} | |
412 | - ${ex}= Evaluate ${count} - 1 | |
413 | - : FOR ${INDEX} IN RANGE 0 ${count} | |
414 | - \ run keyword if condition is not none ${options[${INDEX}].title} input text to exist visible input ${feature_form_popup_enum_title_input_locator} ${options[${INDEX}].title} | |
415 | - \ run keyword and ignore error input text to exist visible input ${feature_form_popup_enum_title_en_input_locator} test2 | |
416 | -# \ run keyword if condition is not none ${options[${INDEX}].title_en} input text to exist visible input ${feature_form_popup_enum_title_en_input_locator} ${options[${INDEX}].title_en} | |
417 | - \ ${value} = convert_float_to_string ${options[${INDEX}].value} | |
418 | - \ ${value} = Convert To Number ${value} | |
419 | - \ ${value} = multiply_hundred ${value} | |
420 | - \ ${value} = convert_float_to_string ${value} | |
421 | - \ run keyword if condition is not none ${options[${INDEX}].value} input text to exist visible input ${feature_form_popup_enum_value_input_locator} ${value} | |
422 | - \ Continue For Loop If '${INDEX}' == '${ex}' | |
423 | - \ Run Keyword If ${count} != 1 click visible element ${feature_form_popup_add-enums_btn_locator} | |
424 | - \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
425 | - | |
426 | -fill tender form lots | |
427 | - [Arguments] ${lot_attributes_array} | |
428 | - [Documentation] заповнення номенклатури тендеру | |
429 | - | |
430 | - ##### BOF - TMP for negotiation milestone 1 lot##### | |
431 | - ${prepared_tender_data} = Get From Dictionary ${td_railway_crutch} data | |
432 | - ${milestones1} = Run Keyword If "${mode}" in "negotiation" Get From Dictionary ${prepared_tender_data} milestones | |
433 | - ##### EOF - TMP ##### | |
434 | - :FOR ${lot_attributes} IN @{lot_attributes_array} | |
435 | - \ run keyword if '${mode}' not in 'open_framework' open popup by btn locator ${tender_form_lots_panel_edit_btn_locator} | |
436 | - \ ... ELSE click visible element ${tender_form_lots_edit_lot1_btn_locator} | |
437 | -# \ open popup by btn locator ${tender_form_lots_panel_edit_btn_locator} | |
438 | -# \ click visible element ${tender_form_lots_panel_edit_btn_locator} | |
439 | -# \ wait until popup is visible | |
440 | - \ fill lot form in opened popup ${lot_attributes} | |
441 | - \ submit current visible popup | |
442 | - \ ${features} = get from dictionary by keys ${lot_attributes} features | |
443 | - \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_lot_panel_add_feature_btn_locator} | |
444 | - \ ${milestones} = get from dictionary by keys ${lot_attributes} milestones | |
445 | - \ run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} | |
446 | - \ run keyword if condition is none ${milestones} run keyword if "${mode}" in "negotiation" fill tender form milestones ${milestones1} | |
447 | - \ ${items} = get from dictionary by keys ${lot_attributes} items | |
448 | - \ run keyword if condition is not none ${items} fill tender form items ${items} | |
449 | - | |
450 | -fill tender form lots 2 stage | |
451 | - [Arguments] ${lot_attributes_array} | |
452 | - [Documentation] заповнення номенклатури тендеру | |
453 | - | |
454 | - ##### BOF - TMP for negotiation milestone 1 lot##### | |
455 | - ${prepared_tender_data} = Get From Dictionary ${td_railway_crutch} data | |
456 | - ${milestones1} = Run Keyword If "${mode}" in "negotiation" Get From Dictionary ${prepared_tender_data} milestones | |
457 | - ##### EOF - TMP ##### | |
458 | - :FOR ${lot_attributes} IN @{lot_attributes_array} | |
459 | - \ open popup by btn locator ${tender_form_lots_edit_lot1_btn_locator} | |
460 | - ##\ open popup by btn locator ${tender_form_lots_panel_edit_btn_locator} | |
461 | - \ fill lot form in opened popup ${lot_attributes} | |
462 | - \ submit current visible popup | |
463 | - \ ${features} = get from dictionary by keys ${lot_attributes} features | |
464 | - \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_lot_panel_add_feature_btn_locator} | |
465 | - \ ${milestones} = get from dictionary by keys ${lot_attributes} milestones | |
466 | - \ run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} | |
467 | - \ run keyword if condition is none ${milestones} run keyword if "${mode}" in "negotiation" fill tender form milestones ${milestones1} | |
468 | - \ run keyword if condition is none ${milestones} run keyword if "${mode}" in "framework_selection" fill tender form milestones fake | |
469 | - \ ${items} = get from dictionary by keys ${lot_attributes} items | |
470 | - \ run keyword if condition is not none ${items} fill tender form items 2 stage ${items} | |
471 | - | |
472 | -fill lot form in opened popup | |
473 | - [Arguments] ${data} | |
474 | - [Documentation] заповнює відкриту форму згідно вказаних даних | |
475 | - | |
476 | - log many ${data} | |
477 | - ${title} = get from dictionary by keys ${data} title | |
478 | - run keyword if condition is not none ${title} input text to visible input ${lot_form_popup_title_input_locator} ${title} | |
479 | - ${title_en} = get from dictionary by keys ${data} title_en | |
480 | - run keyword if condition is not none ${title_en} input text to exist visible input ${lot_form_popup_title_en_input_locator} ${title_en} | |
481 | - ${description} = get from dictionary by keys ${data} description | |
482 | - run keyword if condition is not none ${description} input text to visible input ${lot_form_popup_description_input_locator} ${description} | |
483 | - ${description_en} = get from dictionary by keys ${data} description_en | |
484 | - run keyword if condition is not none ${description_en} input text to exist visible input ${lot_form_popup_description_en_input_locator} ${description_en} | |
485 | - capture page screenshot | |
486 | - ${description_ru} = get from dictionary by keys ${data} description_ru | |
487 | - run keyword if condition is not none ${description_ru} input text to exist visible input ${item_form_popup_description_ru_input_locator} ${description_ru} | |
488 | - ${amount} = get from dictionary by keys ${data} value amount | |
489 | - run keyword if condition is not none ${amount} input number to exist visible input ${lot_form_popup_value_amount_input_locator} ${amount} | |
490 | - ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount | |
491 | - run keyword if condition is not none ${min_step_amount} input number to exist visible input ${lot_form_popup_minimalstep_amount_input_locator} ${min_step_amount} | |
492 | - | |
493 | - ${yearly_payments_percentage_range} = get from dictionary by keys ${data} yearlyPaymentsPercentageRange | |
494 | - ${yearly_payments_percentage_range} = Run keyword If '${yearly_payments_percentage_range}' != '${None}' set_value_minimalStepPercentage ${yearly_payments_percentage_range} | |
495 | - ${yearly_payments_percentage_range} = Run keyword If '${yearly_payments_percentage_range}' != '${None}' convert_esco__float_to_string ${yearly_payments_percentage_range} | |
496 | - run keyword if condition is not none ${yearly_payments_percentage_range} input number to exist visible input ${tender_form_general_yearly_payments_percentage_range_input_locator} ${yearly_payments_percentage_range} | |
497 | - ${minimal_step_percentage} = get from dictionary by keys ${data} minimalStepPercentage | |
498 | - ${minimal_step_percentage} = Run keyword If '${minimal_step_percentage}' != '${None}' set_value_minimalStepPercentage ${minimal_step_percentage} | |
499 | - ${minimal_step_percentage} = Run keyword If '${minimal_step_percentage}' != '${None}' convert_esco__float_to_string ${minimal_step_percentage} | |
500 | - run keyword if condition is not none ${minimal_step_percentage} input number to exist visible input ${tender_form_general_minimal_step_percentage_input_locator} ${minimal_step_percentage} | |
501 | -# ${currency} = get from dictionary by keys ${data} value currency | |
502 | -# run keyword if condition is not none ${currency} select from visible list by value ${tender_form_lots_value_currency_input_locator} ${currency} | |
503 | -# ${valueAddedTaxIncluded} = get from dictionary by keys ${data} value valueAddedTaxIncluded | |
504 | -# run keyword if condition is not none ${valueAddedTaxIncluded} run keyword if ${valueAddedTaxIncluded} Click Element ${tender_form_lots_value_added_tax_input_locator} | |
505 | - | |
506 | -fill tender form funders | |
507 | - [Arguments] ${funder_attributes_array} | |
508 | - [Documentation] заповнення донорів тендеру | |
509 | - | |
510 | - :FOR ${funder_attributes} IN @{funder_attributes_array} | |
511 | - \ ${name} = get from dictionary by keys ${funder_attributes} name | |
512 | - \ run keyword if condition is not none ${name} select from visible list by label ${tender_form_general_tender_funder_name_locator} ${name} | |
513 | - | |
514 | -fill tender required documents | |
515 | - [Documentation] додає документ до усієї закупівлі для успішної валідації форми | |
516 | - | |
517 | - ${file_path} ${file_name} ${file_content} = create_fake_doc | |
518 | - click visible element ${tender_form_general_panel_add_document_btn_locator} | |
519 | - choose file ${add_file_to_form_locator} ${file_path} | |
520 | - wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
521 | - submit current visible popup | |
522 | - | |
523 | -fill tender from award reporting | |
524 | - [Arguments] ${budget} ${award_attributes_array} | |
525 | - [Documentation] заповнення переможця reporting тендеру | |
526 | - | |
527 | - capture page screenshot | |
528 | - run keyword and ignore error click visible element ${tender_form_general_panel_update_award_negotiation_btn_locator} | |
529 | - capture page screenshot | |
530 | -# Run Keyword If "${TEST_NAME}" == "Можливість створити переговорну процедуру" open popup by btn locator ${tender_form_general_panel_add_award_negotiation_btn_locator} | |
531 | - run keyword and ignore error Run Keyword If "${TEST_NAME}" == "Можливість створити переговорну процедуру" open popup by btn locator ${tender_form_general_panel_add_award_negotiation_btn_locator} | |
532 | - ... ELSE IF "${TEST_NAME}" == "Можливість створити звіт про укладений договір" open popup by btn locator ${tender_form_general_panel_update_award_reporting_btn_locator} | |
533 | - capture page screenshot | |
534 | - Run Keyword If "${TEST_NAME}" == "Можливість зареєструвати і підтвердити постачальника до звіту про укладений договір" open popup by btn locator ${tender_form_general_panel_update_award_reporting_btn_locator} | |
535 | - capture page screenshot | |
536 | -# Run Keyword If "${TEST_NAME}" == "Можливість зареєструвати і підтвердити постачальника до переговорної процедури" open popup by btn locator ${tender_form_general_panel_update_award_negotiation_btn_locator} | |
537 | - capture page screenshot | |
538 | - fill award reporting form in opened popup ${budget} ${award_attributes_array} | |
539 | - submit current visible popup | |
540 | - | |
541 | -fill award reporting form in opened popup | |
542 | - [Arguments] ${budget} ${data} | |
543 | - [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних | |
544 | - | |
545 | - ${org_name} = get from dictionary by keys ${data} identifier legalName | |
546 | - run keyword if condition is not none ${org_name} input text to exist visible input ${tender_form_award_organization_name_locator} ${org_name} | |
547 | - ${organization_identifier_code} = get from dictionary by keys ${data} identifier id | |
548 | - run keyword if condition is not none ${organization_identifier_code} input text to exist visible input ${tender_form_award_organization_identifier_code_locator} ${organization_identifier_code} | |
549 | - ${award_organization_scale} = get from dictionary by keys ${data} scale | |
550 | - run keyword if condition is not none ${award_organization_scale} select from visible list by value ${tender_form_award_organization_scale_locator} ${award_organization_scale} | |
551 | - ${region} = get from dictionary by keys ${data} address region | |
552 | - run keyword if condition is not none ${region} select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | |
553 | - ${postal_code} = get from dictionary by keys ${data} address postalCode | |
554 | - run keyword if condition is not none ${postal_code} input text to exist visible input ${tender_form_award_organization_postal_code_locator} ${postal_code} | |
555 | - ${locality} = get from dictionary by keys ${data} address locality | |
556 | - run keyword if condition is not none ${locality} input text to exist visible input ${tender_form_award_organization_locality_locator} ${locality} | |
557 | - ${street_address} = get from dictionary by keys ${data} address streetAddress | |
558 | - run keyword if condition is not none ${street_address} input text to exist visible input ${tender_form_award_organization_street_address_locator} ${street_address} | |
559 | - ${contact_point_name} = get from dictionary by keys ${data} contactPoint name | |
560 | - run keyword if condition is not none ${contact_point_name} input text to exist visible input ${tender_form_award_organization_contact_point_name_locator} ${contact_point_name} | |
561 | - ${contact_point_email} = get from dictionary by keys ${data} contactPoint email | |
562 | - run keyword if condition is not none ${contact_point_email} input text to exist visible input ${tender_form_award_organization_contact_point_email_locator} ${contact_point_email} | |
563 | - ${contact_point_phone} = get from dictionary by keys ${data} contactPoint telephone | |
564 | - run keyword if condition is not none ${contact_point_phone} input text to exist visible input ${tender_form_award_organization_contact_point_phone_locator} ${contact_point_phone} | |
565 | -# ${duration_days} = get from dictionary by keys ${data} contactPoint days | |
566 | -# run keyword if condition is not none ${duration_days} input text to exist visible input ${milestone_form_popup_duration_days_input_locator} ${duration_days} | |
567 | - input number to exist visible input ${tender_form_award_budget_locator} ${budget} | |
568 | - | |
569 | -open tender search form | |
570 | - [Documentation] відкриває сторінку з пошуком тендерів | |
571 | - | |
572 | - open page and wait element by locator ${broker_baseurl}/tenders ${tender_search_form_locator} | |
573 | - | |
574 | -save tender form and wait synchronization | |
575 | - [Documentation] натискає кнопку "Зберегти" і чекає синхронізації тендеру | |
576 | - | |
577 | - submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator} ${true} | |
578 | - wait until page does not contain element with reloading ${tender_sync_element_locator} | |
579 | - | |
580 | -add document in tender | |
581 | - [Arguments] ${filepath} | |
582 | - [Documentation] Завантажити документ, який знаходиться по шляху filepath. | |
583 | - | |
584 | - click visible element ${tender_form_general_panel_edit_add_document_btn_locator} | |
585 | - choose file ${add_file_to_form_locator} ${filepath} | |
586 | - wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
587 | - submit current visible popup | |
588 | - | |
589 | -add document in lot | |
590 | - [Arguments] ${filepath} ${lot_id} | |
591 | - [Documentation] Завантажити в лот (з ідентіфікатором ${lot_id}) документ, який знаходиться по шляху filepath. | |
592 | - | |
593 | - ${open_form_add_doc_lot_btn_locator} = replace string ${tender_form_lot_panel_add_document_btn_locator_tpl} %lot_id% ${lot_id} | |
594 | - 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 | |
595 | - choose file ${add_file_to_form_locator} ${filepath} | |
596 | - wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
597 | - submit current visible popup | |
598 | - | |
599 | -confirm-stage2 | |
600 | - [Documentation] Перевести тендер tender_uaid в статус active.stage2.waiting. | |
601 | - | |
602 | - Wait Until Keyword Succeeds 300 s 20 s Wait For stage2button | |
603 | - click visible element ${tender_stage2_open_btn_locator} | |
604 | - Wait Until Page Contains ${tender_stage2_submit_success_msg} 60 | |
605 | -# click visible element ${tender_stage2_submit_success_btn_locator} | |
606 | -# submit form and check result ${tender_stage2_submit_success_btn_locator} ${tender_stage2_submit_alert_success_msg} ${tender_created_checker_element_locator} | |
607 | - execute javascript ${tender_stage2_submit_js_success_btn_locator} | |
608 | - Wait Until Page Contains ${tender_stage2_submit_alert_success_msg} 60 | |
609 | - wait until alert is visible ${tender_stage2_submit_alert_success_msg} | |
610 | - run keyword and ignore error close current visible alert | |
611 | - | |
612 | - | |
613 | -activate stage 2 | |
614 | - [Documentation] Перевести тендер tender_uaid в статус active.tendering. | |
615 | - | |
616 | - open popup by btn locator ${tender_form_general_panel_edit_btn_locator} | |
617 | - ${tender_end_date} = Get Current Date increment=00:35:00 | |
618 | - input datetime to visible input ${tender_tender_period_end_date_input_locator} ${tender_end_date} | |
619 | - capture page screenshot | |
620 | - click visible element ${tender_form_general_panel_draft_mode_input_locator} | |
621 | - capture page screenshot | |
622 | - submit current visible popup | |
623 | - capture page screenshot | |
624 | - ${file_path} ${file_name} ${file_content} = create_fake_doc | |
625 | - click visible element ${tender_form_general_panel_document_stage2_input_locator} | |
626 | - choose file ${add_file_to_form_locator} ${file_path} | |
627 | - wait until element is visible ${stage2_form_add_document_type_input_locator} | |
628 | - click visible element ${stage2_form_add_document_description_btn_locator} | |
629 | - capture page screenshot | |
630 | - wait until element is visible ${stage2_form_add_document_description_input_locator} | |
631 | - input text to exist visible input ${stage2_form_add_document_description_input_locator} test2 | |
632 | - click visible element ${stage2_form_add_document_close_description_btn_locator} | |
633 | - capture page screenshot | |
634 | - submit current visible popup | |
635 | - capture page screenshot | |
636 | - | |
637 | -fix awards data in global Users variable | |
638 | - [Arguments] ${username} | |
639 | - [Documentation] Фікс для помилки "Resolving variable '${award.value.amount}' failed: AttributeError: value" | |
640 | - | |
641 | - :FOR ${user} IN @{USERS} | |
642 | - \ continue for loop if '${user}' == '${username}' | |
643 | - \ ${is_user_has_data} = run keyword and return status dictionary should contain key ${USERS.users} ${user} | |
644 | - \ continue for loop if ${is_user_has_data} == ${False} | |
645 | - \ ${user_data} = set variable ${USERS.users['${user}']} | |
646 | - \ ${is_user_has_tender_data} = run keyword and return status dictionary should contain key ${user_data} tender_data | |
647 | - \ continue for loop if ${is_user_has_tender_data} == ${False} | |
648 | - \ ${status} ${award_data} = run keyword and ignore error get_from_object ${USERS.users['${user}'].tender_data.data} awards | |
649 | - \ continue for loop if '${status}' != 'PASS' | |
650 | - \ set to object ${USERS.users['${username}'].tender_data.data} awards ${award_data} | |
651 | - \ exit for loop | |
652 | - | |
653 | -fill tender contact person | |
654 | - [Arguments] ${data} | |
655 | - [Documentation] заповнює відкриту форму згідно вказаних даних | |
656 | - run keyword and ignore error open popup by btn locator ${tender_form_cp_edit_btn_locator} | |
657 | - ${organization_name_en} = get from dictionary by keys ${data} procuringEntity name_en | |
658 | - run keyword if condition is not none ${organization_name_en} input text to visible input ${tender_form_organization_name_en_input_locator} ${organization_name_en} | |
659 | - ${contact_point_name_en} = get from dictionary by keys ${data} procuringEntity contactPoint name_en | |
660 | - run keyword if condition is not none ${contact_point_name_en} input text to visible input ${tender_form_contact_point_name_en_input_locator} ${contact_point_name_en} | |
661 | - submit current visible popup |
playtender_variables.robot
deleted
100644 → 0
1 | -*** Variables *** | |
2 | - | |
3 | -${kekv_schemes} = ["KEKV", "КЕКВ"] | |
4 | -${site_allowed_schemes} = ["ДК021", "ДК015", "ДК018", "ДК003", "specialNorms", "INN", "ATC"] | |
5 | -${page_content_locator} = jquery=.page__content | |
6 | - | |
7 | -# alerts | |
8 | -${alert_opened_locator} = jquery=.jconfirm:last .content | |
9 | -${alert_confirm_btn_locator} = jquery=.jconfirm:last .buttons .js-btn-confirm | |
10 | -${alert_opened_close_btn_locator} = jquery=.jconfirm:last .closeIcon | |
11 | -${alert_message_contains_text_locator_tpl} = jquery=.jconfirm:last .message:contains(%text%) | |
12 | - | |
13 | -# popups | |
14 | -${popup_opened_last_locator} = jquery=.fancybox-is-open:last | |
15 | -${popup_opened_last_submit_btn_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .modal-footer:last .js-submit,.fancybox-is-open:last .fancybox-slide--current .modal-footer:last .js-popup-submit | |
16 | -${popup_opened_content_locator} = jquery=.fancybox-is-open .fancybox-slide--current .fancybox-content # for checking if it's visible | |
17 | - | |
18 | -# error pages | |
19 | -${error_page_404_checker_element_locator} = jquery=.site-error[data-error-code="404"] | |
20 | - | |
21 | -# language | |
22 | -${language_selector_active_element_locator} = jquery=.languages.page-header__languages .languages__btn | |
23 | -${language_selector_active_element_code_attribute_name} = data-language-code | |
24 | -${language_selector_open_element_locator} = jquery=.languages.page-header__languages .js-popup-open-initiator | |
25 | -${language_selector_active_element_by_code_locator_tpl} = jquery=.languages.page-header__languages .languages__btn[data-language-code='%code%'] | |
26 | -${language_selector_list_element_locator_tpl} = jquery=.languages.page-header__languages .popup.languages__menu .languages__link[data-language-code='%code%'] | |
27 | - | |
28 | -# classification popup | |
29 | -${classification_popup_opened_content_locator} = jquery=.fancybox-is-open .fancybox-slide--current .fancybox-content.classification-modal # for checking if it's visible | |
30 | -${classification_popup_scheme_tab_locator_tpl} = jquery=.fancybox-is-open .fancybox-slide--current .fancybox-content.classification-modal .nav a[data-toggle="tab"][data-scheme="%scheme%"] | |
31 | -${classification_popup_search_input_locator} = jquery=.fancybox-is-open .fancybox-slide--current .fancybox-content.classification-modal .js-search-wrapper:visible .js-input | |
32 | -${classification_popup_serach_item_locator_tpl} = jquery=.fancybox-is-open .fancybox-slide--current .fancybox-content.classification-modal .js-search-wrapper:visible .js-search-tree strong:contains(%code%) | |
33 | - | |
34 | -# authorization | |
35 | -${login_popup_open_locator} = jquery=.page__header a[data-action="login"] | |
36 | -${login_popup_login_input_locator} = id=loginform-identity | |
37 | -#${login_popup_login_input_locator} = id=loginform-email | |
38 | -${login_popup_password_input_locator} = id=loginform-password | |
39 | -${login_popup_submit_btn_locator} = jquery=#login-form .js-submit-btn | |
40 | -${user_logged_checker_element_locator} = id=notifications-button # елемент для перевірки чи авторизований користувач | |
41 | - | |
42 | -# item form | |
43 | -${item_form_popup_description_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-description'] | |
44 | -${item_form_popup_description_ru_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-description_ru'] | |
45 | -${item_form_popup_description_en_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-description_en'] | |
46 | -${item_form_popup_quantity_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-quantity'] | |
47 | -${item_form_popup_unit_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-unit_id'] | |
48 | -${item_form_popup_classification_edit_btn_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content .js-classification-input-wrapper [data-toggle="classification"] | |
49 | -${item_form_popup_additional_classification_edit_btn_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content .js-additional-classification-input-wrapper [data-toggle="additional-classification"] | |
50 | -${item_form_popup_delivery_region_id_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-delivery_region_id'] | |
51 | -${item_form_popup_delivery_postal_code_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-delivery_postal_code'] | |
52 | -${item_form_popup_delivery_locality_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-delivery_locality'] | |
53 | -${item_form_popup_delivery_street_address_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-delivery_street_address'] | |
54 | -${item_form_popup_delivery_start_date_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-delivery_start_date'] | |
55 | -${item_form_popup_delivery_end_date_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-delivery_end_date'] | |
56 | - | |
57 | -# buyer form | |
58 | -${buyer_form_popup_legal_name_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-procuring_entity_name'] | |
59 | -${buyer_form_popup_identifier_id_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-procuring_entity_identifier_code'] | |
60 | - | |
61 | -# tender form | |
62 | -${tender_load_form_after_mode_locator} = jquery=#tender-form-pjax.loading-wrapper | |
63 | -#${tender_form_submit_success_msg} = дочекайтеся опублікування на сайті уповноваженого органу | |
64 | -${tender_form_submit_success_msg} = опублікування на сайті уповноваженого органу | |
65 | -${tender_form_submit_reporting_success_msg} = Закупівля успішно створена, дочекайтесь закінчення синхронізації, після чого потрібно накласти ЕЦП/КЕП | |
66 | -${tender_form_locator} = id=tender-form | |
67 | -${tender_form_procurement_method_type_input_locator} = jquery=.form-inline [id$="form-procurement_method_type"] | |
68 | -${tender_multilot_locator} = jquery=[id$="form-is_multilot"] | |
69 | -${tender_form_general_panel_edit_btn_locator} = jquery=#General #headingGeneral .actions-wrapper .js-form-popup-update | |
70 | -${tender_form_general_tender_plan_id_locator} = jquery=[id$="form-plan_id"] | |
71 | -${tender_form_general_tender_title_locator} = jquery=[id$="form-title"] | |
72 | -${tender_form_general_tender_title_en_locator} = jquery=[id$="form-title_en"] | |
73 | -${tender_form_general_tender_description_locator} = jquery=[id$="form-description"] | |
74 | -${tender_form_general_tender_description_en_locator} = jquery=[id$="form-description_en"] | |
75 | -${tender_form_general_tender_funder_locator} = jquery=[id$="form-is_donor"] | |
76 | -${tender_form_general_tender_funder_name_locator} = jquery=[id$="-funder_organization_id"] | |
77 | -${tender_form_general_value_amount_input_locator} = jquery=[id$="form-value_amount-disp"] | |
78 | -${tender_form_general_value_currency_input_locator} = jquery=[id$="form-value_currency"] | |
79 | -${tender_form_general_value_added_tax_input_locator} = jquery=[id$="form-value_added_tax_included"] | |
80 | -#${tender_form_general_minimalStep_amount_input_locator} = jquery=[id$="form-min_step_amount"] | |
81 | -${tender_form_general_minimalStep_amount_input_locator} = jquery=[id$="form-min_step_amount-disp"] | |
82 | -${tender_form_general_main_procurement_category_input_locator} = jquery=[id$="form-main_procurement_category"] | |
83 | -${tender_enquiry_period_start_date_input_locator} = jquery=[id$="form-enquiry_period_start_date"] | |
84 | -${tender_enquiry_period_end_date_input_locator} = jquery=[id$="form-enquiry_period_end_date"] | |
85 | -${tender_tender_period_start_date_input_locator} = jquery=[id$="form-tender_period_start_date"] | |
86 | -${tender_tender_period_end_date_input_locator} = jquery=[id$="form-tender_period_end_date"] | |
87 | -${tender_tender_quick_mode_locator} = jquery=[id$="form-quick_mode"] | |
88 | -${tender_cpv_form_submit_success_msg} = Вид предмету закупівлі не відповідає вказаному коду CPV | |
89 | -${tender_cpv_submit_btn_locator} = jquery=.animated-content .js-btn-confirm | |
90 | -${tender_cpv_js_submit_btn_locator} = $('.animated-content .js-btn-confirm').click() | |
91 | - | |
92 | -#esco | |
93 | -${tender_form_general_funding_kind_input_locator} = id=tenderescoform-funding_kind | |
94 | -${tender_form_general_nbu_discount_rate_input_locator} = id=tenderescoform-nbu_discount_rate | |
95 | -${tender_form_general_minimal_step_percentage_input_locator} = jquery=[id$="-min_step_percentage"] | |
96 | -${tender_form_general_yearly_payments_percentage_range_input_locator} = jquery=[id$="-yearly_payments_percentage_range"] | |
97 | -#closeframework | |
98 | -${tender_form_general_max_awards_count_input_locator} = jquery=[id$="form-max_awards_count"] | |
99 | -${tender_form_general_agreement_duration_years_input_locator} = jquery=[id$="form-agreement_duration_years"] | |
100 | -${tender_form_general_agreement_duration_months_input_locator} = jquery=[id$="form-agreement_duration_months"] | |
101 | -${tender_form_general_agreement_duration_days_input_locator} = jquery=[id$="form-agreement_duration_days"] | |
102 | -#closeFrameworkAgreementSelectionUA | |
103 | -${tender_form_general_agreementid_input_locator} = jquery=[id$="form-agreement_id"] | |
104 | -${tender_form_item_edit_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last > .panel-collapse.collapse.in .panel-heading .js-form-popup-update:first | |
105 | -#${tender_form_general_max_awards_count_input_locator} = jquery=[id$="form-max_awards_count"] | |
106 | -#${tender_form_general_agreement_duration_years_input_locator} = jquery=[id$="form-agreement_duration_years"] | |
107 | -#${tender_form_general_agreement_duration_months_input_locator} = jquery=[id$="form-agreement_duration_months"] | |
108 | -#${tender_form_general_agreement_duration_days_input_locator} = jquery=[id$="form-agreement_duration_days"] | |
109 | -#negotiation | |
110 | -${tender_form_general_cause_input_locator} = jquery=[id$="form-cause"] | |
111 | -${tender_form_general_cause_description_input_locator} = jquery=[id$="form-cause_description"] | |
112 | -${tender_form_cp_edit_btn_locator} = jquery=[id="headingContactPoint"] a[data-url="#contactpoint-form-popup"] | |
113 | -${tender_form_organization_name_en_input_locator} = jquery=[id*="organization_name_en"] | |
114 | -${tender_form_contact_point_name_en_input_locator} = jquery=[id*="contact_point_name_en"] | |
115 | - | |
116 | -#Tests Files.Complaints | |
117 | -${tender_form_auction_skip_mode_input_locator} = jquery=input[id$="form-auction_skip_mode"] | |
118 | - | |
119 | -${tender_form_general_panel_add_feature_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="features"] | |
120 | -${tender_form_features_panel_edit_btn_locator} = $('.fancybox-content [href$="#add-features"]').trigger("click") | |
121 | -#${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] | |
122 | -${feature_form_popup_title_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title"]:first | |
123 | -${feature_form_popup_description_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-description"]:first | |
124 | -${feature_form_popup_title_en_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title_en"]:first | |
125 | -${feature_form_popup_description_en_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-description_en"]:first | |
126 | -${feature_form_popup_value_input_locator} = jquery=[id$="-value"] | |
127 | -${feature_form_popup_add-enums_btn_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .btn-add a[href$="#add-enums"]:last | |
128 | -${feature_form_popup_enum_title_input_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:last > .tab-pane.active input[id$="-title"] | |
129 | -${feature_form_popup_enum_title_en_input_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:last > .tab-pane.active input[id$="-title_en"] | |
130 | -${feature_form_popup_enum_value_input_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:last > .tab-pane.active input[id$="-value"] | |
131 | -#${feature_form_popup_enum_title_input_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-title"] | |
132 | -#${feature_form_popup_enum_title_en_input_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-title_en"] | |
133 | -#${feature_form_popup_enum_value_input_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-value"] | |
134 | - | |
135 | -${tender_form_general_panel_add_document_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="documents"] | |
136 | -${tender_form_general_panel_edit_add_document_btn_locator} = jquery=div[data-form="general-form-popup"] .js-form-hidden-popup-panel:last a.btn-update | |
137 | - | |
138 | -#${tender_form_item_add_edit_btn_locator} = jquery=.js-form-group-popup-panel .panel-heading .actions-wrapper .js-form-popup-add | |
139 | -#последняя кнопка “Додати” для номенклатуры (для лотовой и безлотовой и репортинг) | |
140 | -${tender_form_item_add_edit_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last > .panel-heading .js-form-popup-add | |
141 | -${tender_form_item_panel_add_feature_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last .js-form-popup-panel-list:first > .js-form-popup-panel-item:last .actions-wrapper .btn[data-attribute="features"] | |
142 | -${tender_form_item_add_feature_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last .js-form-popup-panel-list:first > .js-form-popup-panel-item:last .js-form-popup-panel[data-attribute="features"] .actions-wrapper .btn.js-form-popup-update | |
143 | -${tender_form_item_edit_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last > .panel-heading .js-form-popup-add | |
144 | - | |
145 | -#${tender_form_milestones_panel_edit_btn_locator} = jquery=[data-url$="#milestones-form-popup"] | |
146 | -${tender_form_milestones_panel_edit_btn_locator} = jquery=.form-popup-panel[data-attribute="milestones"]:last > .panel-heading .js-form-popup-update | |
147 | -${milestone_form_popup_add_btn_locator} = jquery=.fancybox-is-open [href$="#add-milestones"] | |
148 | -${milestone_form_popup_title_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-title"] | |
149 | -${milestone_form_popup_description_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-description"] | |
150 | -${milestone_form_popup_percentage_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-percentage"] | |
151 | -${milestone_form_popup_code_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-code"] | |
152 | -${milestone_form_popup_duration_days_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-duration_days"] | |
153 | -${milestone_form_popup_duration_type_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-duration_type"] | |
154 | - | |
155 | -${tender_form_lots_panel_edit_btn_locator} = jquery=a.btn.btn-default.btn-update.js-form-popup-add | |
156 | -${lot_form_popup_add_btn_locator} = jquery=[href$="#add-milestones"] | |
157 | -${lot_form_popup_title_input_locator} = jquery=.fancybox-is-open [id$="-title"] | |
158 | -${lot_form_popup_description_input_locator} = jquery=.fancybox-is-open [id$="-description"] | |
159 | -${lot_form_popup_title_en_input_locator} = jquery=.fancybox-is-open [id$="-title_en"] | |
160 | -${lot_form_popup_description_en_input_locator} = jquery=.fancybox-is-open [id$="-description_en"] | |
161 | -${lot_form_popup_value_amount_input_locator} = jquery=.fancybox-is-open [id$="-value_amount-disp"] | |
162 | -##${lot_form_popup_value_amount_input_locator} = jquery=.fancybox-is-open [id$="-value_amount"] | |
163 | -${lot_form_popup_value_currency_input_locator} = jquery=.fancybox-is-open [id$="-value_currency"] | |
164 | -${lot_form_popup_value_added_tax_input_locator} = jquery=.fancybox-is-open [id$="-value_added_tax_included"] | |
165 | -${lot_form_popup_minimalstep_amount_input_locator} = jquery=.fancybox-is-open [id$="-min_step_amount-disp"] | |
166 | -##${lot_form_popup_minimalstep_amount_input_locator} = jquery=.fancybox-is-open [id$="-min_step_amount"] | |
167 | -${lot_form_popup_min_step_percentage_amount_input_locator} = jquery=.fancybox-is-open [id$="-min_step_percentage"] | |
168 | - | |
169 | -${tender_form_lot_panel_add_feature_btn_locator} = jquery=#Lots .js-form-popup-panel-list:first > .js-form-popup-panel-item:last .actions-wrapper .btn[data-attribute="features"] | |
170 | -${tender_form_lot_panel_update_feature_btn_locator} = jquery=#Lots #collapseLots0 .js-form-popup-panel-list:first .js-form-hidden-popup-panel:nth(0) a.js-form-popup-update | |
171 | -${tender_form_lot_panel_add_document_btn_locator_tpl} = jquery=#Lots #collapseLots div[data-title*="%lot_id%"] .actions-wrapper a.js-btn-add-form-popup-panel:last | |
172 | -${tender_form_lot_panel_edit_add_document_btn_locator} = jquery=#Lots #collapseLots div[data-title*="%lot_id%"] .js-form-hidden-popup-panel:last .actions-wrapper a.js-form-popup-update | |
173 | - | |
174 | - | |
175 | -${tender_form_procuringEntity_contactPoint_edit_btn_locator} = jquery=(#tender-form .panel.panel-default.form-popup-panel.js-form-popup-panel .panel-heading .actions-wrapper .js-form-popup-update)[4] | |
176 | -${tender_form_submit_btn_locator} = jquery=#tender-form .js-submit-btn | |
177 | -${tender_created_checker_element_locator} = id=tender-part-pjax | |
178 | - | |
179 | -# tender view | |
180 | -${tender_view_checker_element_locator} = id=tender-general-info | |
181 | -${tender_sync_element_locator} = jquery=#aside-part-pjax .status-label .fa-refresh | |
182 | -${tender_uaid_text_locator} = jquery=#tender-general-info .tender-id .value | |
183 | -${tender_edit_btn_locator} = jquery=#aside-part-pjax a[href*="tender/update"] | |
184 | -${tender_status_value_locator} = jquery=#aside-part-pjax .hidden.opstatus | |
185 | -#елемент проверки загрузки формы в попапе | |
186 | -${popup_dynamic_form_loading_element_locator} = jquery=.fancybox-is-open .btn-add .fa-spin | |
187 | -#${add_file_to_form} xpath=//input[@type='file'] | |
188 | -${add_file_to_form_locator} = jquery=.fancybox-is-open input[type$="file"] | |
189 | - | |
190 | -# tender index + search | |
191 | -${tender_search_form_locator} = id=tender-filter-form | |
192 | -${tender_search_form_query_input_locator} = jquery=#tender-filter-form .dynamic-search-query input | |
193 | -${tender_search_form_result_locator_tpl} = jquery=#tender-list .lots__item .lot__characteristic li:contains(%query%) | |
194 | - | |
195 | -# -- for viewer -- | |
196 | -${tender_title_value_locator} = jquery=#tender-part-pjax > section > div > h1 | |
197 | -${tender_description_value_locator} = jquery=#tender-part-pjax > section > p | |
198 | -${tender_mainProcurementCategory_value_locator} = jquery=#tender-part-pjax .main-procurement-category-source.hidden | |
199 | -${tender_budget_amount_value_locator} = jquery=#tender-general-info .budget-amount.hidden | |
200 | -${tender_budget_amount_value_type} = float | |
201 | -${tender_tenderID_value_locator} = jquery=#tender-general-info .info-row.tender-id span.value | |
202 | -${tender_milestones_0_code_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:first .code | |
203 | -${tender_milestones_0_title_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:first .title | |
204 | -${tender_milestones_0_percentage_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:first .percentage | |
205 | -${tender_milestones_0_percentage_value_type} = float | |
206 | -${tender_milestones_0_duration_days_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:first .duration_days | |
207 | -${tender_milestones_0_duration_days_value_type} = integer | |
208 | -${tender_milestones_0_duration_type_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:first .duration_type | |
209 | -${tender_milestones_1_code_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:nth(1) .code | |
210 | -${tender_milestones_1_title_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:nth(1) .title | |
211 | -${tender_milestones_1_percentage_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:nth(1) .percentage | |
212 | -${tender_milestones_1_percentage_value_type} = float | |
213 | -${tender_milestones_1_duration_days_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:nth(1) .duration_days | |
214 | -${tender_milestones_1_duration_days_value_type} = integer | |
215 | -${tender_milestones_1_duration_type_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:nth(1) .duration_type | |
216 | -${tender_milestones_2_code_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:last .code | |
217 | -${tender_milestones_2_title_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:last .title | |
218 | -${tender_milestones_2_percentage_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:last .percentage | |
219 | -${tender_milestones_2_percentage_value_type} = float | |
220 | -${tender_milestones_2_duration_days_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:last .duration_days | |
221 | -${tender_milestones_2_duration_days_value_type} = integer | |
222 | -${tender_milestones_2_duration_type_value_locator} = jquery=#tender-part-pjax .milestone-list-wrapper .milestone-info-wrapper.hidden.info-wrapper:last .duration_type | |
223 | -${tender_value_amount_value_locator} = jquery=#tender-general-info .budget-amount.hidden | |
224 | -${tender_value_amount_value_type} = float | |
225 | -${tender_value_currency_value_locator} = jquery=#tender-general-info .budget-currency.hidden | |
226 | -${tender_value_valueAddedTaxIncluded_value_locator} = jquery=#tender-general-info .budget-tax-included.hidden | |
227 | -${tender_minimalStep_amount_value_locator} = jquery=#tender-general-info .minimal-step-source.hidden | |
228 | -${tender_minimalStep_amount_value_type} = float | |
229 | -${tender_minimalStepPercentage_value_locator} = jquery=#tender-general-info .minimal-step-percentage-source.hidden | |
230 | -${tender_fundingKind_value_locator} = jquery=#tender-general-info .funding-kind-source.hidden | |
231 | -${tender_yearlyPaymentsPercentageRange_value_locator} = jquery=#tender-general-info .yearly-payments-percentage-range-source.hidden | |
232 | -${tender_procuringEntity_name_value_locator} = jquery=#tender-part-pjax .info-row.organization span.value > span | |
233 | -${tender_enquiryPeriod_startDate_value_locator} = jquery=#tender-part-pjax .info-row.enquiry-period-start-date.hidden | |
234 | -${tender_enquiryPeriod_endDate_value_locator} = jquery=#tender-part-pjax .info-row.enquiry-period-end-date.hidden | |
235 | -${tender_tenderPeriod_startDate_value_locator} = jquery=#tender-part-pjax .info-row.tender-period-start-date.hidden | |
236 | -${tender_tenderPeriod_endDate_value_locator} = jquery=#tender-part-pjax .info-row.tender-period-end-date.hidden | |
237 | -${tender_qualificationPeriod_endDate_value_locator} = jquery=#tender-general-info .prequalification-period .value .end-date | |
238 | -#negotiation | |
239 | -${tender_cause_value_locator} = jquery=#tender-general-info .cause-source.hidden | |
240 | -${tender_causeDescription_value_locator} = jquery=#tender-general-info .cause-description .value | |
241 | - | |
242 | -${tender_items_0_description_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .description | |
243 | -#${tender_items_0_description_value_locator} = jquery=#tender-part-pjax .tabs__pane--visible .pseudo-table .item-item-wrapper .textvalue.hidden | |
244 | -#${tender_items_0_description_value_locator} = jquery=execute javascript return $('#tender-part-pjax .tabs__pane--visible .pseudo-table .item-item-wrapper').attr("data-title") | |
245 | - | |
246 | -#lots | |
247 | -${tender_lot_switch_tabs_lot_btn_locator_tpl} jquery=#lots .tabs__list .tabs__item span.tabs__tab-big-text:contains("%lot_id%") | |
248 | -${tender_lot_1_tabs_item_btn_locator} jquery=#lots .tabs__item:first > a | |
249 | -${tender_lot_title_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue:first | |
250 | -${tender_lot_description_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue:last | |
251 | -#${tender_lot_description_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible #text-modal-description div.textvalue | |
252 | -${tender_lot_value_amount_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
253 | -${tender_lot_value_amount_value_type} = float | |
254 | -${tender_lot_value_currency_value_locator} = jquery=#tender-general-info .budget-currency.hidden | |
255 | -${tender_lot_value_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget .value | |
256 | -${tender_lot_minimal_step_currency_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .minimal-step .value | |
257 | -${tender_lot_minimal_step_amount_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .minimal-step-source.hidden | |
258 | -${tender_lot_minimal_step_amount_value_type} = float | |
259 | -${tender_lot_minimal_step_amount_currency_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
260 | -${tender_lot_minimal_step_amount_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
261 | -${tender_lot_minimal_step_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .minimal-step .value | |
262 | - | |
263 | -##### BOF - TMP ##### | |
264 | -${tender_lot_0_title_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue.hidden | |
265 | -${tender_lot_0_value_amount_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
266 | -${tender_lot_0_value_amount_value_type} = float | |
267 | -${tender_lot_0_lots_0_description_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue.hidden | |
268 | -${tender_lot_0_value_currency_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
269 | -${tender_lot_0_value_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
270 | -${tender_lot_0_minimal_step_amount_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
271 | -${tender_lot_0_minimal_step_amount_value_type} = float | |
272 | -${tender_lot_0_lot_0_minimal_step_amount_currency_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
273 | -${tender_lot_0_lot_0_minimal_step_amount_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
274 | -${tender_form_lots_edit_lot1_btn_locator} = jquery=#Lots #collapseLots #Lots0 .actions-wrapper a.btn.btn-default.btn-update.js-form-popup-update:first | |
275 | -${tender_form_lots_add_item_btn_locator} = jquery=#Lots #collapseLots #Lots0 .actions-wrapper a.js-form-popup-add | |
276 | -${tender_form_lots_remove_item_btn_locator_tpl} = jquery=#collapseLots0 .js-form-popup-panel[data-title*="%item_id%"] .actions-wrapper .js-form-popup-remove | |
277 | -${tender_lots_remove_item_form_submit_success_msg} = Ви дійсно бажаєте видалити цей елемент? | |
278 | -#${not_alert_opened_close_btn_locator} = jquery=.animated-content .js-btn-confirm | |
279 | -${not_alert_opened_close_btn_locator} = $('.animated-content .js-btn-confirm').trigger("click") | |
280 | -${tender_form_lots_add_item_reporting_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last #Items0 .js-form-popup-update | |
281 | -##### EOF - TMP ##### | |
282 | - | |
283 | -#item | |
284 | -${tender_item_1_tabs_item_btn_locator} jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) | |
285 | -${tender_item_2_tabs_item_btn_locator} jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) | |
286 | -${tender_item_3_tabs_item_btn_locator} jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(2) | |
287 | - | |
288 | -${tender_form_general_panel_update_award_reporting_btn_locator} = jquery=#Award .js-form-popup-update | |
289 | -${tender_form_general_panel_update_award_negotiation_btn_locator} = jquery=.js-form-popup-panel [data-attribute="awards"] .actions-wrapper .js-form-popup-update | |
290 | -${tender_form_general_panel_add_award_negotiation_btn_locator} = jquery=.modal.modal-form [href="#add-awards"] | |
291 | - | |
292 | -#add\remove feature | |
293 | -#${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] | |
294 | -${tender_form_general_panel_update_feature_btn_locator} = jquery=#collapseGeneral .js-form-popup-update:nth(0) | |
295 | -${tender_update_feature_tender_btn_locator} = jquery=#collapseGeneral .js-form-popup-update:nth(0) | |
296 | -${tender_update_feature_lot_btn_locator} = jquery=#collapseLots #Lots0 #collapseLots0 .js-form-hidden-popup-panel .js-form-popup-panel[data-attribute*="features"] .actions-wrapper .js-form-popup-update:last | |
297 | -${tender_update_feature_item_btn_locator} = jquery=#collapseLots #Lots0 #collapseLots0 .js-form-hidden-popup-panel:nth(0) .actions-wrapper .js-form-popup-update:nth(0) | |
298 | -${tender_feature_dell_btn_locator} = jquery=.fancybox-is-open .nav.nav-pills.js-nav.allow-empty .fa.fa-times:last | |
299 | -${tender_feature_form_submit_success_msg} = Ви впевнені що бажаєте видалити поточний неціновий критерій? | |
300 | -${tender_feature_dell_submit_btn_locator} = jquery=.animated-content .js-btn-confirm | |
301 | - | |
302 | -${tender_form_general_tender_plan_id_locator} = jquery=[id$="form-plan_id"] | |
303 | -${tender_feature_switch_dell_btn_locator_tpl} = jquery=.fancybox-is-open .nav.nav-pills.js-nav.allow-empty li[data-title*="%feature_id%"] .js-dynamic-form-remove .fa.fa-times | |
304 | -#${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() | |
305 | - | |
306 | -#award reporting | |
307 | -${tender_form_award_organization_name_locator} = jquery=[id$="-award_organization_name"] | |
308 | -${tender_form_award_organization_identifier_code_locator} = jquery=[id$="-award_organization_identifier_code"] | |
309 | -${tender_form_award_organization_scale_locator} = jquery=[id$="-award_organization_scale"] | |
310 | -${tender_form_award_organization_region_id_locator} = jquery=[id$="-award_organization_region_id"] | |
311 | -${tender_form_award_organization_postal_code_locator} = jquery=[id$="-award_organization_postal_code"] | |
312 | -${tender_form_award_organization_locality_locator} = jquery=[id$="-award_organization_locality"] | |
313 | -${tender_form_award_organization_street_address_locator} = jquery=[id$="-award_organization_street_address"] | |
314 | -${tender_form_award_organization_contact_point_name_locator} = jquery=[id$="-award_organization_contact_point_name"] | |
315 | -${tender_form_award_organization_contact_point_email_locator} = jquery=[id$="-award_organization_contact_point_email"] | |
316 | -${tender_form_award_organization_contact_point_phone_locator} = jquery=[id$="-award_organization_contact_point_phone"] | |
317 | -${tender_form_award_budget_locator} = jquery=[id$="-award_value_amount"] | |
318 | - | |
319 | -#stage2button | |
320 | -${tender_stage2_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/confirm-stage2"] | |
321 | -${tender_stage2_submit_success_msg} = Ви впевнені що бажаєте підтвердити готовність переходу до другого етапу? | |
322 | -${tender_stage2_submit_success_btn_locator} = jquery=.jconfirm-box.animated-content .js-btn-confirm | |
323 | -${tender_stage2_submit_js_success_btn_locator} = $('.jconfirm-box.animated-content .js-btn-confirm').click() | |
324 | -${tender_stage2_submit_alert_success_msg} = Підтвердження успішно надане. | |
325 | -#search | |
326 | -${tender_form_search_btn_locator} = jquery=#DymamicSearch .dynamic-search-submit .js-submit-btn | |
327 | - | |
328 | -${popup_opened_content_success_locator} = Відмінити | |
329 | -${tender_form_general_panel_edit_btn_locator} = jquery=#General #headingGeneral .actions-wrapper .js-form-popup-update | |
330 | -${tender_form_general_panel_draft_mode_input_locator} = jquery=[id*="-draft_mode"] | |
331 | -${tender_form_general_panel_document_stage2_input_locator} = jquery=#collapseGeneral .actions-wrapper .js-btn-add-form-popup-panel[data-attribute="documents"] | |
332 | -${stage2_form_add_document_type_input_locator} = jquery=.js-dynamic-form-content-item:last .document-type select[id*="-document_type"] | |
333 | -${stage2_form_add_document_description_btn_locator} = jquery=.js-dynamic-form-content-item:last [href$="#edit"]:last | |
334 | -${stage2_form_add_document_description_input_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in textarea[id*="-description"].form-control | |
335 | -${stage2_form_add_document_close_description_btn_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in [href$="#close"] | |
336 | - | |
337 | - | |
338 | - |
playtender_viewer.robot
deleted
100644 → 0
1 | -*** Settings *** | |
2 | - | |
3 | -Resource playtender_common.robot | |
4 | -Resource playtender_variables.robot | |
5 | -Resource playtender_question.robot | |
6 | -Resource playtender_claim.robot | |
7 | -Resource playtender_bid.robot | |
8 | -Resource playtender_viewer.robot | |
9 | -Resource playtender_viewer_variables.robot | |
10 | - | |
11 | -*** Keywords *** | |
12 | - | |
13 | -get value from features | |
14 | - [Arguments] ${feature_id} ${field_name} | |
15 | - [Documentation] Отримати значення поля field_name з нецінового показника з feature_id в описі для тендера tender_uaid. | |
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} | |
20 | - ${return_value} = Run Keyword If 'title' == '${field_name}' Отримати інформацію із нецінового показника title ${feature_id} | |
21 | - ... ELSE IF 'description' == '${field_name}' Отримати інформацію із нецінового показника description ${feature_id} | |
22 | - ... ELSE IF 'featureOf' == '${field_name}' Отримати інформацію із нецінового показника featureOf ${feature_id} | |
23 | - [return] ${return_value} | |
24 | - | |
25 | -Отримати інформацію із нецінового показника title | |
26 | - [Arguments] ${feature_id} | |
27 | - [Documentation] Отримати значення поля title з нецінового показника з feature_id в описі для тендера tender_uaid. | |
28 | - | |
29 | - ${tender_features_title_value_locator} = replace string ${tender_features_title_value_locator_tpl} %feature_id% ${feature_id} | |
30 | - ${return_value} = get value by locator on opened page ${tender_features_title_value_locator} | |
31 | - [return] ${return_value} | |
32 | - | |
33 | -Отримати інформацію із нецінового показника description | |
34 | - [Arguments] ${feature_id} | |
35 | - [Documentation] Отримати значення поля description з нецінового показника з feature_id в описі для тендера tender_uaid. | |
36 | - | |
37 | - ${tender_features_description_value_locator} = replace string ${tender_features_description_value_locator_tpl} %feature_id% ${feature_id} | |
38 | - ${return_value} = get value by locator on opened page ${tender_features_description_value_locator} | |
39 | - [return] ${return_value} | |
40 | - | |
41 | -Отримати інформацію із нецінового показника featureOf | |
42 | - [Arguments] ${feature_id} | |
43 | - [Documentation] Отримати значення поля featureOf з нецінового показника з feature_id в описі для тендера tender_uaid. | |
44 | - | |
45 | - ${tender_features_featureof_value_locator} = replace string ${tender_features_featureof_value_locator_tpl} %feature_id% ${feature_id} | |
46 | - ${return_value} = get value by locator on opened page ${tender_features_featureof_value_locator} | |
47 | - [return] ${return_value} | |
48 | - | |
49 | - | |
50 | -get value from item | |
51 | - [Arguments] ${item_id} ${field_name} | |
52 | - [Documentation] Отримати значення поля field_name з предмету з item_id в описі для тендера tender_uaid. | |
53 | - | |
54 | -# ${return_value} = Run Keyword If 'title' == '${field_name}' Отримати інформацію із предмету title ${item_id} | |
55 | -# ... ELSE IF 'description' == '${field_name}' Отримати інформацію із предмету description ${item_id} | |
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} | |
60 | - Run Keyword And Return If 'description' == '${field_name}' Отримати інформацію із предмету description ${item_id} | |
61 | - Run Keyword And Return If 'deliveryDate.startDate' == '${field_name}' Отримати інформацію із предмету deliveryDate.startDate ${item_id} | |
62 | - Run Keyword And Return If 'deliveryDate.endDate' == '${field_name}' Отримати інформацію із предмету deliveryDate.endDate ${item_id} | |
63 | - Run Keyword And Return If 'deliveryAddress.countryName' == '${field_name}' Отримати інформацію із предмету deliveryAddress.countryName ${item_id} | |
64 | - Run Keyword And Return If 'deliveryAddress.postalCode' == '${field_name}' Отримати інформацію із предмету deliveryAddress.postalCode ${item_id} | |
65 | - Run Keyword And Return If 'deliveryAddress.region' == '${field_name}' Отримати інформацію із предмету deliveryAddress.region ${item_id} | |
66 | - Run Keyword And Return If 'deliveryAddress.locality' == '${field_name}' Отримати інформацію із предмету deliveryAddress.locality ${item_id} | |
67 | - Run Keyword And Return If 'deliveryAddress.streetAddress' == '${field_name}' Отримати інформацію із предмету deliveryAddress.streetAddress ${item_id} | |
68 | - Run Keyword And Return If 'classification.scheme' == '${field_name}' Отримати інформацію із предмету classification.scheme ${item_id} | |
69 | - Run Keyword And Return If 'classification.id' == '${field_name}' Отримати інформацію із предмету classification.id ${item_id} | |
70 | - Run Keyword And Return If 'classification.description' == '${field_name}' Отримати інформацію із предмету classification.description ${item_id} | |
71 | - Run Keyword And Return If 'additionalClassifications[0].scheme' == '${field_name}' Отримати інформацію із предмету additionalClassifications[0].scheme ${item_id} | |
72 | - Run Keyword And Return If 'additionalClassifications[0].id' == '${field_name}' Отримати інформацію із предмету additionalClassifications[0].id ${item_id} | |
73 | - Run Keyword And Return If 'additionalClassifications[0].description' == '${field_name}' Отримати інформацію із предмету additionalClassifications[0].description ${item_id} | |
74 | - Run Keyword And Return If 'unit.name' == '${field_name}' Отримати інформацію із предмету unit.name ${item_id} | |
75 | - Run Keyword And Return If 'unit.code' == '${field_name}' Отримати інформацію із предмету unit.code ${item_id} | |
76 | - Run Keyword And Return If 'quantity' == '${field_name}' Отримати інформацію із предмету quantity ${item_id} | |
77 | -# [return] ${return_value} | |
78 | - | |
79 | - | |
80 | -Отримати інформацію із предмету description | |
81 | - [Arguments] ${item_id} | |
82 | - [Documentation] Отримати значення поля description з предмету з item_id в описі для тендера tender_uaid. | |
83 | - | |
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} | |
87 | - ${return_value} = get value by locator on opened page ${tender_items_description_value_locator} | |
88 | - [return] ${return_value} | |
89 | - | |
90 | -Отримати інформацію із предмету deliveryDate.startDate | |
91 | - [Arguments] ${item_id} | |
92 | - [Documentation] Отримати значення поля deliveryDate.startDate з предмету з item_id в описі для тендера tender_uaid. | |
93 | - | |
94 | - ${tender_items_delivery_start_date_value_locator} = replace string ${tender_items_delivery_start_date_value_locator_tpl} %item_id% ${item_id} | |
95 | - ${return_value} = get value by locator on opened page ${tender_items_delivery_start_date_value_locator} | |
96 | - [return] ${return_value} | |
97 | - | |
98 | -Отримати інформацію із предмету deliveryDate.endDate | |
99 | - [Arguments] ${item_id} | |
100 | - [Documentation] Отримати значення поля deliveryDate.endDate з предмету з item_id в описі для тендера tender_uaid. | |
101 | - | |
102 | - ${tender_items_delivery_end_date_value_locator} = replace string ${tender_items_delivery_end_date_value_locator_tpl} %item_id% ${item_id} | |
103 | - ${return_value} = get value by locator on opened page ${tender_items_delivery_end_date_value_locator} | |
104 | - [return] ${return_value} | |
105 | - | |
106 | -Отримати інформацію із предмету deliveryAddress.countryName | |
107 | - [Arguments] ${item_id} | |
108 | - [Documentation] Отримати значення поля deliveryAddress.countryName з предмету з item_id в описі для тендера tender_uaid. | |
109 | - | |
110 | - ${tender_items_delivery_country_value_locator} = replace string ${tender_items_delivery_country_value_locator_tpl} %item_id% ${item_id} | |
111 | - ${return_value} = get value by locator on opened page ${tender_items_delivery_country_value_locator} | |
112 | - [return] ${return_value} | |
113 | - | |
114 | -Отримати інформацію із предмету deliveryAddress.postalCode | |
115 | - [Arguments] ${item_id} | |
116 | - [Documentation] Отримати значення поля deliveryAddress.postalCode з предмету з item_id в описі для тендера tender_uaid. | |
117 | - | |
118 | - ${tender_items_delivery_postal_code_value_locator} = replace string ${tender_items_delivery_postal_code_value_locator_tpl} %item_id% ${item_id} | |
119 | - ${return_value} = get value by locator on opened page ${tender_items_delivery_postal_code_value_locator} | |
120 | - [return] ${return_value} | |
121 | - | |
122 | -Отримати інформацію із предмету deliveryAddress.region | |
123 | - [Arguments] ${item_id} | |
124 | - [Documentation] Отримати значення поля deliveryAddress.region з предмету з item_id в описі для тендера tender_uaid. | |
125 | - | |
126 | - ${tender_items_delivery_region_id_value_locator} = replace string ${tender_items_delivery_region_id_value_locator_tpl} %item_id% ${item_id} | |
127 | - ${return_value} = get value by locator on opened page ${tender_items_delivery_region_id_value_locator} | |
128 | - [return] ${return_value} | |
129 | - | |
130 | -Отримати інформацію із предмету deliveryAddress.locality | |
131 | - [Arguments] ${item_id} | |
132 | - [Documentation] Отримати значення поля deliveryAddress.locality з предмету з item_id в описі для тендера tender_uaid. | |
133 | - | |
134 | - ${tender_items_delivery_locality_value_locator} = replace string ${tender_items_delivery_locality_value_locator_tpl} %item_id% ${item_id} | |
135 | - ${return_value} = get value by locator on opened page ${tender_items_delivery_locality_value_locator} | |
136 | - [return] ${return_value} | |
137 | - | |
138 | -Отримати інформацію із предмету deliveryAddress.streetAddress | |
139 | - [Arguments] ${item_id} | |
140 | - [Documentation] Отримати значення поля deliveryAddress.streetAddress з предмету з item_id в описі для тендера tender_uaid. | |
141 | - | |
142 | - ${tender_items_delivery_street_address_value_locator} = replace string ${tender_items_delivery_street_address_value_locator_tpl} %item_id% ${item_id} | |
143 | - ${return_value} = get value by locator on opened page ${tender_items_delivery_street_address_value_locator} | |
144 | - [return] ${return_value} | |
145 | - | |
146 | -Отримати інформацію із предмету classification.scheme | |
147 | - [Arguments] ${item_id} | |
148 | - [Documentation] Отримати значення поля classification.scheme з предмету з item_id в описі для тендера tender_uaid. | |
149 | - | |
150 | - ${tender_items_classification_scheme_value_locator} = replace string ${tender_items_classification_scheme_value_locator_tpl} %item_id% ${item_id} | |
151 | - ${return_value} = get value by locator on opened page ${tender_items_classification_scheme_value_locator} | |
152 | - [return] ${return_value} | |
153 | - | |
154 | -Отримати інформацію із предмету classification.id | |
155 | - [Arguments] ${item_id} | |
156 | - [Documentation] Отримати значення поля classification.id з предмету з item_id в описі для тендера tender_uaid. | |
157 | - | |
158 | - ${tender_items_classification_code_value_locator} = replace string ${tender_items_classification_code_value_locator_tpl} %item_id% ${item_id} | |
159 | - ${return_value} = get value by locator on opened page ${tender_items_classification_code_value_locator} | |
160 | - [return] ${return_value} | |
161 | - | |
162 | -Отримати інформацію із предмету classification.description | |
163 | - [Arguments] ${item_id} | |
164 | - [Documentation] Отримати значення поля classification.description з предмету з item_id в описі для тендера tender_uaid. | |
165 | - | |
166 | - ${tender_items_classification_description_value_locator} = replace string ${tender_items_classification_description_value_locator_tpl} %item_id% ${item_id} | |
167 | - ${return_value} = get value by locator on opened page ${tender_items_classification_description_value_locator} | |
168 | - [return] ${return_value} | |
169 | - | |
170 | -Отримати інформацію із предмету additionalClassifications[0].scheme | |
171 | - [Arguments] ${item_id} | |
172 | - [Documentation] Отримати значення поля additionalClassifications[0].scheme з предмету з item_id в описі для тендера tender_uaid. | |
173 | - | |
174 | - ${tender_items_additional_classification_scheme_value_locator} = replace string ${tender_items_additional_classification_scheme_value_locator_tpl} %item_id% ${item_id} | |
175 | - ${return_value} = get value by locator on opened page ${tender_items_additional_classification_scheme_value_locator} | |
176 | - [return] ${return_value} | |
177 | - | |
178 | -Отримати інформацію із предмету additionalClassifications[0].id | |
179 | - [Arguments] ${item_id} | |
180 | - [Documentation] Отримати значення поля additionalClassifications[0].id з предмету з item_id в описі для тендера tender_uaid. | |
181 | - | |
182 | - ${tender_items_additional_classification_code_value_locator} = replace string ${tender_items_additional_classification_code_value_locator_tpl} %item_id% ${item_id} | |
183 | - ${return_value} = get value by locator on opened page ${tender_items_additional_classification_code_value_locator} | |
184 | - [return] ${return_value} | |
185 | - | |
186 | -Отримати інформацію із предмету additionalClassifications[0].description | |
187 | - [Arguments] ${item_id} | |
188 | - [Documentation] Отримати значення поля additionalClassifications[0].description з предмету з item_id в описі для тендера tender_uaid. | |
189 | - | |
190 | - ${tender_items_additional_classification_description_value_locator} = replace string ${tender_items_additional_classification_description_value_locator_tpl} %item_id% ${item_id} | |
191 | - ${return_value} = get value by locator on opened page ${tender_items_additional_classification_description_value_locator} | |
192 | - [return] ${return_value} | |
193 | - | |
194 | -Отримати інформацію із предмету unit.name | |
195 | - [Arguments] ${item_id} | |
196 | - [Documentation] Отримати значення поля unit.name з предмету з item_id в описі для тендера tender_uaid. | |
197 | - | |
198 | - ${tender_items_unit_title_value_locator} = replace string ${tender_items_unit_title_value_locator_tpl} %item_id% ${item_id} | |
199 | - ${return_value} = get value by locator on opened page ${tender_items_unit_title_value_locator} | |
200 | - [return] ${return_value} | |
201 | - | |
202 | -Отримати інформацію із предмету unit.code | |
203 | - [Arguments] ${item_id} | |
204 | - [Documentation] Отримати значення поля unit.code з предмету з item_id в описі для тендера tender_uaid. | |
205 | - | |
206 | - ${tender_items_unit_code_value_locator} = replace string ${tender_items_unit_code_value_locator_tpl} %item_id% ${item_id} | |
207 | - ${return_value} = get value by locator on opened page ${tender_items_unit_code_value_locator} | |
208 | - [return] ${return_value} | |
209 | - | |
210 | -Отримати інформацію із предмету quantity | |
211 | - [Arguments] ${item_id} | |
212 | - [Documentation] Отримати значення поля quantity з предмету з item_id в описі для тендера tender_uaid. | |
213 | - | |
214 | - ${tender_items_quantity_value_locator} = replace string ${tender_items_quantity_value_locator_tpl} %item_id% ${item_id} | |
215 | - ${return_value} = get value by locator on opened page ${tender_items_quantity_value_locator} float | |
216 | - [return] ${return_value} | |
217 | - | |
218 | -get value from lot | |
219 | - [Arguments] ${lot_id} ${field_name} | |
220 | - [Documentation] Отримати значення поля field_name з лоту з lot_id в описі для тендера tender_uaid. | |
221 | - | |
222 | - Run Keyword And Return If 'title' == '${field_name}' Отримати інформацію із лоту title ${lot_id} | |
223 | - Run Keyword And Return If 'description' == '${field_name}' Отримати інформацію із лоту description ${lot_id} | |
224 | - Run Keyword And Return If 'value.amount' == '${field_name}' Отримати інформацію із лоту value.amount ${lot_id} | |
225 | - Run Keyword And Return If 'minimalStep.amount' == '${field_name}' Отримати інформацію із лоту minimalStep.amount ${lot_id} | |
226 | - Run Keyword And Return If 'value.currency' == '${field_name}' Отримати інформацію із лоту value.currency ${lot_id} | |
227 | - Run Keyword And Return If 'value.valueAddedTaxIncluded' == '${field_name}' Отримати інформацію із лоту value.valueAddedTaxIncluded ${lot_id} | |
228 | - Run Keyword And Return If 'minimalStep.currency' == '${field_name}' Отримати інформацію із лоту minimalStep.currency ${lot_id} | |
229 | - Run Keyword And Return If 'minimalStep.valueAddedTaxIncluded' == '${field_name}' Отримати інформацію із лоту minimalStep.valueAddedTaxIncluded ${lot_id} | |
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} | |
237 | - | |
238 | - | |
239 | -Отримати інформацію із лоту title | |
240 | - [Arguments] ${lot_id} | |
241 | - [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. | |
242 | - | |
243 | -# ${tender_lot_title_value_locator} = replace string ${tender_lot_title_value_locator_tpl} %lot_id% ${lot_id} | |
244 | - ${return_value} = get value by locator on opened page ${tender_lot_title_value_locator} | |
245 | - [return] ${return_value} | |
246 | - | |
247 | -Отримати інформацію із лоту description | |
248 | - [Arguments] ${lot_id} | |
249 | - [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. | |
250 | - | |
251 | -# ${tender_lot_description_value_locator} = replace string ${tender_lot_description_value_locator_tpl} %lot_id% ${lot_id} | |
252 | - ${return_value} = get value by locator on opened page ${tender_lot_description_value_locator} | |
253 | - [return] ${return_value} | |
254 | - | |
255 | -Отримати інформацію із лоту value.amount | |
256 | - [Arguments] ${lot_id} | |
257 | - [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. | |
258 | - | |
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} | |
261 | - [return] ${return_value} | |
262 | - | |
263 | -Отримати інформацію із лоту minimalStep.amount | |
264 | - [Arguments] ${lot_id} | |
265 | - [Documentation] Отримати значення поля featureOf з лоту з lot_id в описі для тендера tender_uaid. | |
266 | - | |
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} | |
269 | - [return] ${return_value} | |
270 | - | |
271 | -Отримати інформацію із лоту value.currency | |
272 | - [Arguments] ${lot_id} | |
273 | - [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. | |
274 | - | |
275 | -# ${tender_lot_value_currency_value_locator} = replace string ${tender_lot_value_currency_value_locator_tpl} %lot_id% ${lot_id} | |
276 | - ${return_value} = get value by locator on opened page ${tender_lot_value_currency_value_locator} | |
277 | - [return] ${return_value} | |
278 | - | |
279 | -Отримати інформацію із лоту value.valueAddedTaxIncluded | |
280 | - [Arguments] ${lot_id} | |
281 | - [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. | |
282 | - | |
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} | |
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 'з ПДВ' in '${return_value}' ${True} ${False} | |
286 | -# ${return_value} = set variable if ${return_value} == 1 True | |
287 | - [return] ${return_value} | |
288 | - | |
289 | -Отримати інформацію із лоту minimalStep.currency | |
290 | - [Arguments] ${lot_id} | |
291 | - [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. | |
292 | - | |
293 | -# ${tender_lot_minimal_step_currency_value_locator} = replace string ${tender_lot_minimal_step_currency_value_locator_tpl} %lot_id% ${lot_id} | |
294 | - ${return_value} = get value by locator on opened page ${tender_lot_minimal_step_currency_value_locator} | |
295 | - ${return_value} = set variable if 'UAH' in '${return_value}' UAH | |
296 | - [return] ${return_value} | |
297 | - | |
298 | -Отримати інформацію із лоту minimalStep.valueAddedTaxIncluded | |
299 | - [Arguments] ${lot_id} | |
300 | - [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. | |
301 | - | |
302 | -# ${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} | |
303 | -# ${return_value} = get value by locator on opened page ${tender_lot_minimal_step_value_added_tax_included_value_locator} | |
304 | - ${return_value} = get value by locator on opened page ${tender_lot_value_value_added_tax_included_value_locator} | |
305 | - ${return_value} = set variable if 'з ПДВ' in '${return_value}' ${True} ${False} | |
306 | - [return] ${return_value} | |
307 | - | |
308 | -Отримати інформацію із лоту auctionPeriod.startDate | |
309 | - [Arguments] ${lot_id} | |
310 | - [Documentation] Отримати значення поля featureOf з лоту з lot_id в описі для тендера tender_uaid. | |
311 | - | |
312 | -# ${tender_lot_delivery_region_id_value_locator} = replace string ${tender_lot_delivery_region_id_value_locator_tpl} %lot_id% ${lot_id} | |
313 | - ${return_value} = get value by locator on opened page ${tender_auctionPeriod_startDate_value_locator} | |
314 | -# ${return_value} = parse_complaintPeriod_date ${return_value} | |
315 | - [return] ${return_value} | |
316 | - | |
317 | -Отримати інформацію із лоту auctionPeriod.endDate | |
318 | - [Arguments] ${lot_id} | |
319 | - [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. | |
320 | - | |
321 | -# ${tender_lot_delivery_locality_value_locator} = replace string ${tender_lot_delivery_locality_value_locator_tpl} %lot_id% ${lot_id} | |
322 | - ${return_value} = get value by locator on opened page ${tender_auctionPeriod_endDate_value_locator} | |
323 | - [return] ${return_value} | |
324 | - | |
325 | -Отримати інформацію із лоту minimalStepPercentage | |
326 | - [Arguments] ${lot_id} | |
327 | - [Documentation] Отримати значення поля minimalStepPercentage з лоту з lot_id в описі для тендера tender_uaid. | |
328 | - | |
329 | -# ${tender_lot_delivery_street_address_value_locator} = replace string ${tender_lot_delivery_street_address_value_locator_tpl} %lot_id% ${lot_id} | |
330 | -# ${return_value} = get field_value by field_name on opened page ${tender_minimalStepPercentage_value_locator} | |
331 | - ${return_value} = get value by locator on opened page ${tender_minimalStepPercentage_value_locator} | |
332 | - ${return_value} = convert_string_to_float ${return_value} | |
333 | - [return] ${return_value} | |
334 | - | |
335 | -Отримати інформацію із лоту fundingKind | |
336 | - [Arguments] ${lot_id} | |
337 | - [Documentation] Отримати значення поля featureOf з лоту з lot_id в описі для тендера tender_uaid. | |
338 | - | |
339 | -# ${tender_lot_classification_scheme_value_locator} = replace string ${tender_lot_classification_scheme_value_locator_tpl} %lot_id% ${lot_id} | |
340 | - ${return_value} = get value by locator on opened page ${tender_fundingKind_value_locator} | |
341 | - [return] ${return_value} | |
342 | - | |
343 | -Отримати інформацію із лоту yearlyPaymentsPercentageRange | |
344 | - [Arguments] ${lot_id} | |
345 | - [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. | |
346 | - | |
347 | -# ${tender_lot_classification_code_value_locator} = replace string ${tender_lot_classification_code_value_locator_tpl} %lot_id% ${lot_id} | |
348 | -# ${field_name} = set variable tender.${field_name}.value | |
349 | -# ${return_value} = get field_value by field_name on opened page ${tender_yearlyPaymentsPercentageRange_value_locator} | |
350 | - ${return_value} = get value by locator on opened page ${tender_yearlyPaymentsPercentageRange_value_locator} | |
351 | - ${return_value} = convert_string_to_float ${return_value} | |
352 | - [return] ${return_value} | |
353 | - | |
354 | -Отримати інформацію із документа title | |
355 | - [Arguments] ${doc_id} | |
356 | - [Documentation] Отримати значення поля title з документу з doc_id в описі для тендера tender_uaid. | |
357 | - | |
358 | -#заготовка | |
359 | - ${tender_new_doc_locator} = replace string ${tender_new_doc_locator_tpl} %doc_id% ${doc_id} | |
360 | - wait until page contains element with reloading ${tender_new_doc_locator} | |
361 | - | |
362 | - ${tender_new_doc__title_locator} = replace string ${tender_new_doc_title_locator_tpl} %doc_id% ${doc_id} | |
363 | - | |
364 | - ${return_value} = Execute Javascript return ${tender_new_doc__title_locator} | |
365 | - ##${return_value} = get text ${tender_new_doc_locator} | |
366 | - #${return_value} = get value by locator on opened page ${tender_new_doc_locator} | |
367 | - [return] ${return_value} | |
368 | - | |
369 | -wait for tender status | |
370 | - [Documentation] Очикування відповідного статусу закупівлі, в залежності від кейворда | |
371 | - | |
372 | - Run Keyword If '${TEST_NAME}' == 'Неможливість завантажити документ першим учасником після закінчення прийому пропозицій' Wait Until Keyword Succeeds 480 s 20 s Wait For EndEnquire | |
373 | - Run Keyword If '${TEST_NAME}' == 'Неможливість завантажити документ другим учасником після закінчення прийому пропозицій' Wait Until Keyword Succeeds 480 s 20 s Wait For EndEnquire | |
374 | - Run Keyword If '${TEST_NAME}' == 'Неможливість задати запитання на тендер після закінчення періоду прийому пропозицій' Wait Until Keyword Succeeds 480 s 20 s Wait For EndEnquire | |
375 | - #Run Keyword If '${TEST_NAME}' == 'Неможливість задати запитання на тендер після закінчення періоду уточнень' Wait Until Keyword Succeeds 480 s 20 s Wait For EndEnquire | |
376 | - Run Keyword If '${TEST_NAME}' == 'Можливість подати пропозицію першим учасником' Wait Until Keyword Succeeds 480 s 20 s Wait For TenderPeriod | |
377 | - Run Keyword If '${TEST_NAME}' == 'Можливість подати пропозицію другим учасником' Wait Until Keyword Succeeds 480 s 20 s Wait For TenderPeriod | |
378 | - Run Keyword If '${TEST_NAME}' == 'Відображення дати закінчення періоду блокування перед початком аукціону' Wait Until Keyword Succeeds 80 s 20 s Wait For AuctionPeriod | |
379 | - Run Keyword If '${TEST_NAME}' == 'Можливість підтвердити першу пропозицію кваліфікації' Wait Until Keyword Succeeds 80 s 20 s Wait For PreQualificationPeriod | |
380 | - Run Keyword If '${TEST_NAME}' == 'Можливість підтвердити другу пропозицію кваліфікації' Wait Until Keyword Succeeds 80 s 20 s Wait For PreQualificationPeriod | |
381 | - Run Keyword If '${TEST_NAME}' == 'Можливість дочекатися завершення роботи мосту' Wait Until Keyword Succeeds 6000 s 20 s Wait For CompletePeriod | |
382 | - #cat Run Keyword If '${TEST_NAME}' == 'Можливість дочекатися початку періоду очікування' Wait Until Keyword Succeeds 600 s 20 s Wait For PreQualificationsStandPeriod | |
383 | - Run Keyword If '${TEST_NAME}' == 'Можливість дочекатися початку періоду очікування' Wait Until Keyword Succeeds 600 s 20 s Wait For ActiveStage2Pending | |
384 | - Run Keyword If '${TEST_NAME}' == 'Можливість перевести тендер в статус очікування обробки мостом' Wait Until Keyword Succeeds 600 s 20 s Wait For ActiveStage2Waiting | |
385 | - Run Keyword If '${TEST_NAME}' == 'Можливість дочекатись дати закінчення прийому пропозицій' and '${SUITE NAME}' == 'Tests Files.Complaints' Wait Until Keyword Succeeds 800 s 20 s Wait For NotTenderPeriod | |
386 | - Run Keyword If '${TEST_NAME}' == 'Можливість дочекатись дати початку періоду кваліфікації' and '${SUITE NAME}' == 'Tests Files.Complaints' Wait Until Keyword Succeeds 800 s 20 s Wait For QualificationsStandPeriod | |
387 | - Run Keyword If '${TEST_NAME}' == 'Відображення статусу успішного завершення тендера' Wait Until Keyword Succeeds 6000 s 20 s Wait For CompletePeriod | |
388 | - | |
389 | -Wait For EndEnquire | |
390 | - [Documentation] Очикування статусу закупівлі закінчення обговорення | |
391 | - | |
392 | - Reload Page | |
393 | - ${return_value} = Get text ${tender_status_value_locator} | |
394 | - Log Many CAT ${return_value} | |
395 | - Page Should Not Contain Element ${tender_status_active_tendering_value_locator} | |
396 | - | |
397 | -Wait For TenderPeriod | |
398 | - [Documentation] Очикування статусу закупівлі початку подачи пропозицій | |
399 | - | |
400 | - Reload Page | |
401 | - ${return_value} = Get text ${tender_status_value_locator} | |
402 | - Log Many CAT ${return_value} | |
403 | - Page Should Contain Element ${tender_status_active_tendering_value_locator} | |
404 | - | |
405 | -Wait For AuctionPeriod | |
406 | - [Documentation] Очикування статусу закупівлі аукціон | |
407 | - | |
408 | - Reload Page | |
409 | - ${return_value} = Get text ${tender_status_value_locator} | |
410 | - Log Many CAT ${return_value} | |
411 | - Page Should Contain Element ${tender_status_active_auction_value_locator} | |
412 | - | |
413 | -Wait For PreQualificationPeriod | |
414 | - [Documentation] Очикування статусу закупівлі аукціон | |
415 | - | |
416 | - Reload Page | |
417 | - ${return_value} = Get text ${tender_status_value_locator} | |
418 | - Log Many CAT ${return_value} | |
419 | - Page Should Contain Element ${tender_status_active_pre_qualification_value_locator} | |
420 | - | |
421 | -Wait For CompletePeriod | |
422 | - [Documentation] Очикування статусу закупівлі завершення | |
423 | - | |
424 | - Reload Page | |
425 | - ${return_value} = Get text ${tender_status_value_locator} | |
426 | - Log Many CAT ${return_value} | |
427 | - Page Should Contain Element ${tender_status_complete_value_locator} | |
428 | - | |
429 | -Wait For ActiveStage2Pending | |
430 | - [Documentation] Очикування статусу закупівлі завершення | |
431 | - | |
432 | - Reload Page | |
433 | - ${return_value} = Get text ${tender_status_value_locator} | |
434 | - Log Many CAT ${return_value} | |
435 | - Page Should Contain Element ${tender_status_active_stage2_pending_value_locator} | |
436 | - | |
437 | -Wait For ActiveStage2Waiting | |
438 | - [Documentation] Очикування статусу закупівлі завершення | |
439 | - | |
440 | - Reload Page | |
441 | - ${return_value} = Get text ${tender_status_value_locator} | |
442 | - Log Many CAT ${return_value} | |
443 | - Page Should Contain Element ${tender_status_active_stage2_waiting_value_locator} | |
444 | - | |
445 | -Wait For NotTenderPeriod | |
446 | - [Documentation] Очикування статусу закупівлі завершення | |
447 | - | |
448 | - Reload Page | |
449 | - ${return_value} = Get text ${tender_status_value_locator} | |
450 | - Log Many CAT ${return_value} | |
451 | - Page Should Contain Element ${tender_status_active_tendering_value_locator} | |
452 | - | |
453 | -Wait For QualificationsStandPeriod | |
454 | - [Documentation] Очикування статусу закупівлі завершення кваліфікації | |
455 | - | |
456 | - Reload Page | |
457 | - ${return_value} = Get text ${tender_status_value_locator} | |
458 | - Log Many CAT ${return_value} | |
459 | - Page Should Contain Element ${tender_status_active_qualification_value_locator} | |
460 | - | |
461 | -Wait For QualificationsPeriodEnd | |
462 | - [Documentation] Очикування дати завершення кваліфікації закупівлі | |
463 | - | |
464 | - Reload Page | |
465 | - ${complaintPeriod} = get value by locator on opened page ${tender_qualificationPeriod_endDate_value_locator} | |
466 | - Log Many CAT ${complaintPeriod} | |
467 | - Run Keyword If '${complaintPeriod}' == '' input text to exist visible input ${contract_contractform_date_start_input_locator} ${date_start} | |
468 | - :FOR ${INDEX} IN RANGE 1 60 | |
469 | - \ Run Keyword If '${complaintPeriod}' != '' Exit For Loop | |
470 | - \ Reload Page | |
471 | - \ ${complaintPeriod} = get value by locator on opened page ${tender_qualificationPeriod_endDate_value_locator} | |
472 | - | |
473 | -Отримати інформацію із contracts[0].status | |
474 | - [Documentation] Отримати значення поля contracts[0].status | |
475 | - | |
476 | -# ${tmp} = get value by locator on opened page ${tender_contracts_0_status_value_locator} | |
477 | -# ${return_value} = Set Variable If '${tmp}' in 'Підписаний Новий' active other | |
478 | - Run Keyword If '${TEST_NAME}' == 'Відображення статусу підписаної угоди з постачальником переговорної процедури' Wait Until Keyword Succeeds 800 s 20 s Wait For contractactive | |
479 | - Run Keyword If '${TEST_NAME}' == 'Відображення статусу підписаної угоди з постачальником звіту про укладений договір' Wait Until Keyword Succeeds 800 s 20 s Wait For contractactive | |
480 | - Run Keyword If '${TEST_NAME}' == 'Відображення статусу підписаної угоди з постачальником закупівлі' Wait Until Keyword Succeeds 800 s 20 s Wait For contractactive | |
481 | - ${return_value} = get value by locator on opened page ${tender_contracts_0_status_value_locator} | |
482 | - [return] ${return_value} | |
483 | - | |
484 | -Wait For contractactive | |
485 | - [Documentation] Очикування статусу закупівлі початку подачи пропозицій | |
486 | - | |
487 | - Reload Page | |
488 | - ${return_value} = get value by locator on opened page ${tender_contracts_0_status_value_locator} | |
489 | - Page Should Contain Element ${tender_contracts_status_active_value_locator} | |
490 | - | |
491 | -Отримати інформацію із awards.complaintPeriod.endDate | |
492 | - [Documentation] Отримати значення поля awards.complaintPeriod.endDate | |
493 | - | |
494 | - run keyword and ignore error Wait Until Keyword Succeeds 600 s 30 s Wait For complaintPeriodendDate | |
495 | - ${return_value} = get value by locator on opened page ${tender_awards_complaintPeriod_endDate_value_locator} | |
496 | -# ${return_value} = run keyword if '${mode}' in 'negotiation' get value by locator on opened page ${tender_awards_negotiation_complaintPeriod_endDate_value_locator} | |
497 | -# ... ELSE get value by locator on opened page ${tender_awards_complaintPeriod_endDate_value_locator} | |
498 | -# ${return_value} = run keyword if '${mode}' in 'negotiation' parse_complaintPeriod_date ${return_value} | |
499 | -# ... ELSE set variable ${return_value} | |
500 | - [return] ${return_value} | |
501 | - | |
502 | -Отримати інформацію із complaintPeriod.endDate | |
503 | - [Documentation] Отримати значення поля complaintPeriod.endDate | |
504 | - | |
505 | - ${return_value} = get value by locator on opened page ${tender_complaintPeriod_endDate_value_locator} | |
506 | - [return] ${return_value} | |
507 | - | |
508 | -Wait For complaintPeriodendDate | |
509 | - [Documentation] Очикування появи дати завершення подачи скарг на кваліфікацію закупівлі в belowThreshold та below_funders | |
510 | - | |
511 | - reload page | |
512 | - ${complaintPeriod} = get value by locator on opened page ${tender_awards_complaintPeriod_endDate_value_locator} | |
513 | - :FOR ${INDEX} IN RANGE 1 60 | |
514 | - \ Run Keyword If '${complaintPeriod}' != '' Exit For Loop | |
515 | - \ Reload Page | |
516 | - \ ${complaintPeriod} = get value by locator on opened page ${tender_awards_complaintPeriod_endDate_value_locator} | |
517 | - | |
518 | -Отримати інформацію із minimalStep.amount | |
519 | - [Documentation] Отримати значення поля minimalStep.amount для тендера tender_uaid. | |
520 | - | |
521 | -# ${tender_lot_minimal_step_amount_value_locator} = replace string ${tender_lot_minimal_step_amount_value_locator_tpl} %lot_id% ${lot_id} | |
522 | - ${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} | |
523 | - ... ELSE get value by locator on opened page ${tender_minimalStep_amount_value_locator} ${tender_lot_minimal_step_amount_value_type} | |
524 | - [return] ${return_value} | |
525 | - | |
526 | -Отримати інформацію із awards[0].documents[0].title | |
527 | - [Documentation] Отримати значення поля minimalStep.amount для тендера tender_uaid. | |
528 | - | |
529 | -# ${tender_lot_minimal_step_amount_value_locator} = replace string ${tender_lot_minimal_step_amount_value_locator_tpl} %lot_id% ${lot_id} | |
530 | -# click visible element ${tender_awards_negotiation_documents_btn_locator} | |
531 | - open popup by btn locator ${tender_awards_negotiation_documents_btn_locator} | |
532 | - ${return_value} = get value by locator on opened page ${tender_awards_0_documents_0_title_value_locator} | |
533 | - click visible element ${tender_awards_negotiation_documents_close_btn_locator} | |
534 | - [return] ${return_value} | |
535 | - | |
536 | -Wait For stage2button | |
537 | - [Documentation] Очикування кнопки переводу до другого етапу | |
538 | - | |
539 | - Reload Page | |
540 | - Page Should Contain Element ${tender_stage2_open_btn_locator} | |
541 | - | |
542 | -Отримати інформацію із qualificationPeriod.endDate | |
543 | - [Documentation] Отримати значення поля qualificationPeriod.endDate | |
544 | - | |
545 | -# run keyword and ignore error run keyword if '${mode}' in 'belowThreshold below_funders' Wait Until Keyword Succeeds 600 s 30 s Wait For complaintPeriodendDate | |
546 | -# run keyword and ignore error Wait Until Keyword Succeeds 600 s 30 s Wait For complaintPeriodendDate | |
547 | - ${return_value} = get value by locator on opened page ${tender_qualificationPeriod_endDate_value_locator} | |
548 | - ${return_value} = parse_complaintPeriod_date ${return_value} | |
549 | - [return] ${return_value} | |
550 | - | |
551 | -wait for agreements status active | |
552 | - [Documentation] Очикування статусу agreements active | |
553 | - | |
554 | - Reload Page | |
555 | - ${return_value} = get value by locator on opened page ${tender_agreements_0_status_value_locator} | |
556 | - Page Should Contain Element ${tender_agreements_status_active_value_locator} | |
557 | - | |
558 | -Wait date | |
559 | - [Arguments] ${date} | |
560 | - ${sleep}= wait_to_date ${date} | |
561 | - Run Keyword If ${sleep} > 0 Sleep ${sleep} | |
562 | - | |
563 | - | |
564 | - |
playtender_viewer_variables.robot
deleted
100644 → 0
1 | -*** Variables *** | |
2 | - | |
3 | -#features | |
4 | -${tender_features_title_value_locator_tpl} = jquery=#lots .tabs__pane--visible .feature-list-wrapper [data-title*="%feature_id%"] .hidden.info-wrapper .title | |
5 | -${tender_features_description_value_locator_tpl} = jquery=#lots .tabs__pane--visible .feature-list-wrapper [data-title*="%feature_id%"] .hidden.info-wrapper .description | |
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 | - | |
9 | - | |
10 | -#item view | |
11 | -${tender_items_new_value_locator_tpl} = jquery=.item-item-wrapper[data-title*="%item_id%"] | |
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 | |
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 | |
15 | -${tender_items_quantity_value_type} = float | |
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 | |
17 | -${tender_items_unit_code_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .unit-code-source | |
18 | -${tender_items_classification_scheme_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .main-classification-scheme | |
19 | -${tender_items_classification_code_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .main-classification-code | |
20 | -${tender_items_classification_description_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .main-classification-description | |
21 | -${tender_items_additional_classification_scheme_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .additional-classification-scheme | |
22 | -${tender_items_additional_classification_code_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .additional-classification-code | |
23 | -${tender_items_additional_classification_description_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .additional-classification-description | |
24 | -${tender_items_delivery_country_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .delivery-country | |
25 | -${tender_items_delivery_region_id_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .delivery-region | |
26 | -${tender_items_delivery_postal_code_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .delivery-postalcode | |
27 | -${tender_items_delivery_locality_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .delivery-locality | |
28 | -${tender_items_delivery_street_address_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .delivery-street-address | |
29 | -${tender_items_delivery_start_date_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .delivery-start-date-source | |
30 | -${tender_items_delivery_end_date_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .delivery-end-date-source | |
31 | -${tender_items_delivery_latitude_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .delivery-latitude | |
32 | -${tender_items_delivery_longitude_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .delivery-longitude | |
33 | - | |
34 | -#${tender_item_description_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .textvalue.hidden | |
35 | -${tender_item_description_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .description | |
36 | -${tender_item_description_ru_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper [id$='-description_ru'] | |
37 | -${tender_item_description_en_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper [id$='-description_en'] | |
38 | -${tender_item_quantity_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .quantity-source | |
39 | -${tender_item_quantity_value_type} = float | |
40 | -${tender_item_unit_title_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .unit-title-source | |
41 | -${tender_item_unit_code_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .unit-code-source | |
42 | -${tender_item_classification_scheme_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .main-classification-scheme | |
43 | -${tender_item_classification_code_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .main-classification-code | |
44 | -${tender_item_classification_description_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .main-classification-description | |
45 | -${tender_item_additional_classification_scheme_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .additional-classification-scheme | |
46 | -${tender_item_additional_classification_code_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .additional-classification-code | |
47 | -${tender_item_additional_classification_description_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .additional-classification-description | |
48 | -${tender_item_delivery_region_id_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-country | |
49 | -${tender_item_delivery_postal_code_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-postalcode | |
50 | -${tender_item_delivery_locality_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-locality | |
51 | -${tender_item_delivery_street_address_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-street-address | |
52 | -${tender_item_delivery_start_date_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-start-date-source | |
53 | -${tender_item_delivery_end_date_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-end-date-source | |
54 | -${tender_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 | |
55 | -${tender_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 | |
56 | - | |
57 | -${tender_lot_item_description_value_locator} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper div.textvalue | |
58 | -${tender_lot_item_quantity_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .quantity-source | |
59 | -${tender_lot_item_quantity_value_type} = float | |
60 | -${tender_lot_item_unit_title_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .unit-title-source | |
61 | -${tender_lot_item_unit_code_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .unit-code-source | |
62 | -${tender_lot_item_classification_scheme_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .main-classification-scheme | |
63 | -${tender_lot_item_classification_code_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .main-classification-code | |
64 | -${tender_lot_item_classification_description_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .main-classification-description | |
65 | -${tender_lot_item_additional_classification_scheme_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .additional-classification-scheme | |
66 | -${tender_lot_item_additional_classification_code_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .additional-classification-code | |
67 | -${tender_lot_item_additional_classification_description_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .additional-classification-description | |
68 | -${tender_lot_item_delivery_region_id_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-country | |
69 | -${tender_lot_item_delivery_postal_code_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-postalcode | |
70 | -${tender_lot_item_delivery_locality_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-locality | |
71 | -${tender_lot_item_delivery_street_address_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-street-address | |
72 | -${tender_lot_item_delivery_start_date_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-start-date-source | |
73 | -${tender_lot_item_delivery_end_date_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-end-date-source | |
74 | -${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 | |
75 | -${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 | |
76 | - | |
77 | -${tender_procurementMethodType_value_locator} = jquery=#aside-part-pjax .aside__inner .opprocurementmethodtype | |
78 | -${tender_complaintPeriod_endDate_value_locator} = jquery=#tender-general-info .info-row.complaint-period .end-date | |
79 | -${tender_qualifications_0_status_value_locator} = jquery=.pjax-container .pseudo-table__row[qualification-index="0"] .qualification-info-wrapper .status-source | |
80 | -${tender_qualifications_1_status_value_locator} = jquery=.pjax-container .pseudo-table__row[qualification-index="1"] .qualification-info-wrapper .status-source | |
81 | - | |
82 | -#lots | |
83 | -${tender_lots_0_title_value_locator} = jquery=#lots .tabs__list .tabs__item--active .tabs__tab-big-text | |
84 | -${tender_lots_0_description_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible > span div:nth(1) | |
85 | -${tender_lots_title_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue:first | |
86 | -${tender_lots_description_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue.hidden | |
87 | -${tender_lots_value_amount_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
88 | -${tender_lots_value_amount_value_type} = float | |
89 | -${tender_lots_value_currency_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
90 | -${tender_lots_value_value_added_tax_included_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
91 | -${tender_lots_minimal_step_amount_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .minimal-step-source.hidden | |
92 | -${tender_lots_minimal_step_amount_value_type} = float | |
93 | -${tender_lots_minimal_step_amount_currency_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
94 | -${tender_lots_minimal_step_amount_value_added_tax_included_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | |
95 | - | |
96 | -#docs and auction | |
97 | -${tender_new_doc_locator_tpl} = jquery=.docs__list .docs__item.js-item .doc__title:contains("%doc_id%") | |
98 | -${tender_new_doc_title_locator_tpl} = $('.docs__list .docs__item.js-item:contains("%doc_id%")').attr("data-title") | |
99 | -#${tender_new_doc_locator_tpl} = jquery=.docs__list .docs__item.js-item:first .doc__title:contains("%doc_id%") | |
100 | -${tender_auction_locator} = jquery=#auction-info | |
101 | -${tender_auction_input_locator} = $('#auction-info a[href*="https://auction-staging"]').attr("href") | |
102 | -${tender_auction_belowThreshold_locator} = jquery=#aside-part-pjax a[href*="https://auction-staging"] | |
103 | -${tender_auction_belowThreshold_input_locator} = jquery=#aside-part-pjax a[href*="https://auction-staging"] | |
104 | -${tender_auction_belowThreshold_value_locator} = $('#aside-part-pjax a[href*="https://auction-staging"]').attr("href") | |
105 | -${tender_auctionPeriod_startDate_value_locator} = jquery=#tender-general-info .auction-start-date.hidden | |
106 | -${tender_auctionPeriod_endDate_value_locator} = jquery=#tender-general-info .auction-end-date.hidden | |
107 | -${tender_lots_0_auctionPeriod_endDate_value_locator} = jquery=#tender-general-info .auction-end-date.hidden | |
108 | - | |
109 | - | |
110 | -#wait for status | |
111 | -${tender_status_active_tendering_value_locator} = xpath=//*[contains(text(), "active.tendering")] | |
112 | -${tender_status_active_auction_value_locator} = xpath=//*[contains(text(), "active.auction")] | |
113 | -${tender_status_active_pre_qualification_value_locator} = xpath=//*[contains(text(), "active.pre-qualification")] | |
114 | -${tender_status_complete_value_locator} = jquery=#aside-part-pjax .hidden.opstatus:contains(complete) | |
115 | -${tender_status_active_stage2_pending_value_locator} = xpath=//*[contains(text(), "active.stage2.pending")] | |
116 | -${tender_status_active_stage2_waiting_value_locator} = xpath=//*[contains(text(), "active.stage2.waiting")] | |
117 | -${tender_status_active_complete_value_locator} = jquery=#aside-part-pjax .hidden.opstatus:contains(complete) | |
118 | -${tender_status_active_qualification_value_locator} = xpath=//*[contains(text(), "active.qualification")] | |
119 | - | |
120 | -#funders | |
121 | -${tender_funders_0_name_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .organization_name.hidden .definitions__value | |
122 | -${tender_funders_0_address_countryName_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .country.hidden .definitions__value | |
123 | -${tender_funders_0_address_locality_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .locality.hidden .definitions__value | |
124 | -${tender_funders_0_address_postalCode_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .postcode.hidden .definitions__value | |
125 | -${tender_funders_0_address_region_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .region.hidden .definitions__value | |
126 | -${tender_funders_0_address_streetAddress_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .street-address.hidden .definitions__value | |
127 | -${tender_funders_0_identifier_id_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .identifier_id .definitions__value | |
128 | -${tender_funders_0_identifier_legalName_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .identifier_legal_name.hidden .definitions__value | |
129 | -${tender_funders_0_identifier_scheme_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .identifier_scheme.hidden .definitions__value | |
130 | - | |
131 | -#negotiation | |
132 | -#${tender_procuringEntity_contactPoint_name_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .contact-point-name.hidden .definitions__value | |
133 | -#${tender_procuringEntity_contactPoint_telephone_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .contact-point-phone.hidden .definitions__value | |
134 | -#${tender_procuringEntity_identifier_legalName_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .identifier_legal_name.hidden .definitions__value | |
135 | -#${tender_procuringEntity_identifier_scheme_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .identifier_scheme.hidden .definitions__value | |
136 | -${tender_procuringEntity_contactPoint_name_value_locator} = jquery=#w0tooltip-content > ul > li.definitions__item.contact-point-name.hidden .definitions__value | |
137 | -${tender_procuringEntity_contactPoint_telephone_value_locator} = jquery=#w0tooltip-content > ul > li.definitions__item.contact-point-phone.hidden .definitions__value | |
138 | -${tender_procuringEntity_identifier_legalName_value_locator} = jquery=#w0tooltip-content > ul > li.definitions__item.identifier_legal_name.hidden .definitions__value | |
139 | -${tender_procuringEntity_identifier_scheme_value_locator} = jquery=#w0tooltip-content > ul > li.definitions__item.identifier_scheme.hidden .definitions__value | |
140 | - | |
141 | -${tender_procuringEntity_organization_name_value_locator} = jquery=#w0tooltip-content > ul > li.definitions__item.organization-name.hidden .definitions__value | |
142 | -${tender_procuringEntity_address_countryName_value_locator} = jquery=#w0tooltip-content > ul > li.definitions__item.country.hidden .definitions__value | |
143 | -${tender_procuringEntity_address_locality_value_locator} = jquery=#w0tooltip-content > ul > li.definitions__item.locality.hidden .definitions__value | |
144 | -${tender_procuringEntity_address_postalCode_value_locator} = jquery=#w0tooltip-content > ul > li.definitions__item.postcode.hidden .definitions__value | |
145 | -${tender_procuringEntity_address_region_value_locator} = jquery=#w0tooltip-content > ul > li.definitions__item.region.hidden .definitions__value | |
146 | -${tender_procuringEntity_address_streetAddress_value_locator} = jquery=#w0tooltip-content > ul > li.definitions__item.street-address.hidden .definitions__value | |
147 | -${tender_procuringEntity_contactPoint_url_value_locator} = jquery=#w0tooltip-content > ul > li.definitions__item.url .definitions__value | |
148 | -${tender_procuringEntity_identifier_id_value_locator} = jquery=#w0tooltip-content > ul > li.definitions__item.identifier_id.hidden .definitions__value | |
149 | - | |
150 | -${tender_items_1_description_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .description | |
151 | -${tender_items_1_quantity_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .quantity-source | |
152 | -${tender_items_1_quantity_value_type} = float | |
153 | -${tender_items_1_unit_title_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .unit-title-source | |
154 | -${tender_items_1_unit_code_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .unit-code-source | |
155 | -${tender_items_1_classification_scheme_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .main-classification-scheme | |
156 | -${tender_items_1_classification_code_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .main-classification-code | |
157 | -${tender_items_1_classification_description_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .main-classification-description | |
158 | -${tender_items_1_additional_classification_scheme_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .additional-classification-scheme | |
159 | -${tender_items_1_additional_classification_code_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .additional-classification-code | |
160 | -${tender_items_1_additional_classification_description_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .additional-classification-description | |
161 | -${tender_items_1_delivery_country_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .delivery-country | |
162 | -${tender_items_1_delivery_region_id_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .delivery-region | |
163 | -${tender_items_1_delivery_postal_code_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .delivery-postalcode | |
164 | -${tender_items_1_delivery_locality_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .delivery-locality | |
165 | -${tender_items_1_delivery_street_address_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .delivery-street-address | |
166 | -${tender_items_1_delivery_start_date_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .delivery-start-date-source | |
167 | -${tender_items_1_delivery_end_date_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .delivery-end-date-source | |
168 | -${tender_items_1_delivery_latitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .delivery-latitude | |
169 | -${tender_items_1_delivery_longitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(1) .item-info-wrapper.hidden.info-wrapper .delivery-longitude | |
170 | - | |
171 | - | |
172 | -${tender_awards_0_suppliers_0_contactPoint_telephone_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .contact-point-phone.hidden .definitions__value | |
173 | -${tender_awards_0_suppliers_0_contactPoint_name_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .contact-point-name.hidden .definitions__value | |
174 | -${tender_awards_0_suppliers_0_contactPoint_email_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .contact-point-email.hidden .definitions__value | |
175 | -${tender_awards_0_suppliers_0_identifier_scheme_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .identifier_scheme.hidden .definitions__value | |
176 | -${tender_awards_0_suppliers_0_identifier_legalName_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .identifier_legal_name.hidden .definitions__value | |
177 | -${tender_awards_0_suppliers_0_address_countryName_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .country.hidden .definitions__value | |
178 | -${tender_awards_0_suppliers_0_address_locality_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .locacity.hidden .definitions__value | |
179 | -${tender_awards_0_suppliers_0_address_postalCode_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .postcode.hidden .definitions__value | |
180 | -${tender_awards_0_suppliers_0_address_region_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .region.hidden .definitions__value | |
181 | -${tender_awards_0_suppliers_0_address_streetAddress_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .street-address.hidden .definitions__value | |
182 | - | |
183 | -#esco | |
184 | -${tender_NBUdiscountRate_value_locator} = jquery=#tender-general-info .nbu-discount-rate-source.hidden | |
185 | -${tender_NBUdiscountRate_value_type} = float | |
186 | -${tender_minimalStepPercentage_value_locator} = jquery=#tender-general-info .minimal-step-percentage-source.hidden | |
187 | -${tender_minimalStepPercentage_value_type} = float | |
188 | -${tender_fundingKind_value_locator} = jquery=#tender-general-info .funding-kind-source.hidden | |
189 | -${tender_yearlyPaymentsPercentageRange_value_locator} = jquery=#tender-general-info .yearly-payments-percentage-range-source.hidden | |
190 | -${tender_yearlyPaymentsPercentageRange_value_type} = float | |
191 | -${tender_lots_0_minimalStepPercentage_value_locator} = jquery=#tender-general-info .minimal-step-percentage-source.hidden | |
192 | -${tender_lots_0_minimalStepPercentage_value_type} = float | |
193 | -${tender_lots_0_yearlyPaymentsPercentageRange_value_locator} = jquery=#tender-general-info .yearly-payments-percentage-range-source.hidden | |
194 | -${tender_lots_0_yearlyPaymentsPercentageRange_value_type} = float | |
195 | - | |
196 | -#awards | |
197 | -${tender_awards_0_complaintPeriod_endDate_value_locator} = jquery=#tender-general-info .complaint-period .value .end-date | |
198 | -${tender_awards_1_complaintPeriod_endDate_value_locator} = jquery=#tender-general-info .complaint-period .value .end-date | |
199 | -${tender_awards_complaintPeriod_endDate_value_locator} = jquery=.award-info-wrapper.hidden .complaint-period-end-date | |
200 | -${tender_awards_negotiation_complaintPeriod_endDate_value_locator} = jquery=#bids-pjax .pseudo-table__cell .end-date | |
201 | -#${tender_awards_complaintPeriod_endDate_value_locator} = jquery=#tender-contract-form .js-award-complaint-period-wrapper .end-date | |
202 | -${tender_awards_negotiation_documents_btn_locator} = jquery=[href*="/tender/view-qualification-result-documents?award"] | |
203 | -${tender_awards_negotiation_documents_close_btn_locator} = jquery=.modal.fade.fancybox-content .modal-footer .btn.btn-default | |
204 | -${tender_awards_0_documents_0_title_value_locator} = jquery=.doc__table_title a[href*="https://public-docs-staging.prozorro.gov.ua"] | |
205 | -${tender_awards_0_status_value_locator} = jquery=.award-info-wrapper.hidden .status-source | |
206 | - | |
207 | -#status contract | |
208 | -#${tender_contracts_0_status_value_locator} = jquery=#contracts-pjax .tabs__pane--visible .definitions__item--offset-big .badge__text | |
209 | -${tender_contracts_0_status_value_locator} = jquery=#contracts-pjax .tabs__pane--visible .status-source.hidden | |
210 | -${tender_contracts_status_active_value_locator} = jquery=#contracts-pjax .tabs__pane--visible .status-source.hidden:contains(active) | |
211 | - | |
212 | -${wait_msg_contract} = Завантаження контракту буде | |
213 | - | |
214 | -#framework_agreement | |
215 | -${tender_maxAwardsCount_value_locator} = jquery=#tender-general-info .max-award-count.hidden | |
216 | -${tender_maxAwardsCount_value_type} = integer | |
217 | -${tender_agreementDuration_value_locator} = jquery=#tender-general-info .agreement-duration | |
218 | -${tender_agreements_0_status_value_locator} = jquery=.tabs__pane--visible[id*="tab-agreement-contract"] .status-source.hidden | |
219 | -${tender_agreements_status_active_value_locator} = jquery=.tabs__pane--visible[id*="tab-agreement-contract"] .status-source.hidden:contains(active) | |
220 | - | |
221 | -${tender_agreements_0_agreementID_value_locator} = jquery=#agreement-contracts-list .agreement-info-wrapper.info-wrapper .agreement-id .value |
Please
register
or
login
to post a comment