...
|
...
|
@@ -61,6 +61,24 @@ fill tender form |
61
|
61
|
run keyword if '${mode}' in 'negotiation reporting' fill tender from award reporting ${supplier_data.data.value.amount} ${supplier_data.data.suppliers[0]}
|
62
|
62
|
Run Keyword And Ignore Error fill tender required documents
|
63
|
63
|
|
|
64
|
+fill tender form 2 stage
|
|
65
|
+ [Arguments] ${data}
|
|
66
|
+ [Documentation] заповнення форми з масива даних
|
|
67
|
+
|
|
68
|
+ fill tender general info 2 stage ${data}
|
|
69
|
+ ${features} = get from dictionary by keys ${data} features
|
|
70
|
+ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_general_panel_add_feature_btn_locator}
|
|
71
|
+ ${items} = get from dictionary by keys ${data} items
|
|
72
|
+# run keyword if condition is not none ${items} fill tender form items ${items}
|
|
73
|
+ run keyword if condition is not none ${items} fill tender form ${items}
|
|
74
|
+ ${milestones} = get from dictionary by keys ${data} milestones
|
|
75
|
+ run keyword and ignore error run keyword if condition is not none ${milestones} fill tender form milestones ${milestones}
|
|
76
|
+ ${lots} = get from dictionary by keys ${data} lots
|
|
77
|
+ run keyword if condition is not none ${lots} fill tender form lots 2 stage ${lots}
|
|
78
|
+ ${supplier_data} = op_robot_tests.tests_files.service_keywords . Test Supplier Data
|
|
79
|
+ run keyword if '${mode}' in 'negotiation reporting' fill tender from award reporting ${supplier_data.data.value.amount} ${supplier_data.data.suppliers[0]}
|
|
80
|
+ Run Keyword And Ignore Error fill tender required documents
|
|
81
|
+
|
64
|
82
|
fill tender general info
|
65
|
83
|
[Arguments] ${data}
|
66
|
84
|
[Documentation] обирає потрібний тип закупівлі, чекає оновлення форми, вказує мультилотовість, заповнює
|
...
|
...
|
@@ -81,9 +99,11 @@ fill tender general info |
81
|
99
|
|
82
|
100
|
open popup by btn locator ${plan_form_general_panel_edit_btn_locator}
|
83
|
101
|
${plan_path} = Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml
|
84
|
|
-# ${plan_path} = Get Variable Value ${ARTIFACT_FILE} artifact.yaml
|
|
102
|
+ ${closeFrameworkAgreementSelectionUA_path} = Get Variable Value ${ARTIFACT_FILE} artifact.yaml
|
85
|
103
|
${ARTIFACT} = load_data_from ${plan_path}
|
86
|
104
|
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}
|
|
105
|
+ ${ARTIFACT2} = load_data_from ${closeFrameworkAgreementSelectionUA_path}
|
|
106
|
+ 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}
|
87
|
107
|
${title} = get from dictionary by keys ${data} title
|
88
|
108
|
run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_title_locator} ${title}
|
89
|
109
|
${title_en} = get from dictionary by keys ${data} title_en
|
...
|
...
|
@@ -140,6 +160,18 @@ fill tender general info |
140
|
160
|
${agreement_duration_days} = get from dictionary by keys ${data} agreementDuration
|
141
|
161
|
${agreement_duration_days1}= Run keyword If '${agreement_duration_days}' != '${None}' split_agreementDuration ${agreement_duration_years} day
|
142
|
162
|
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}
|
|
163
|
+#closeFrameworkAgreementSelectionUA
|
|
164
|
+ ${max_awards_count} = get from dictionary by keys ${data} maxAwardsCount
|
|
165
|
+ 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}
|
|
166
|
+ ${agreement_duration_years} = get from dictionary by keys ${data} agreementDuration
|
|
167
|
+ ${agreement_duration_years1}= Run keyword If '${agreement_duration_years}' != '${None}' split_agreementDuration ${agreement_duration_years} year
|
|
168
|
+ 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}
|
|
169
|
+ ${agreement_duration_months} = get from dictionary by keys ${data} agreementDuration
|
|
170
|
+ ${agreement_duration_months1}= Run keyword If '${agreement_duration_months}' != '${None}' split_agreementDuration ${agreement_duration_months} month
|
|
171
|
+ 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}
|
|
172
|
+ ${agreement_duration_days} = get from dictionary by keys ${data} agreementDuration
|
|
173
|
+ ${agreement_duration_days1}= Run keyword If '${agreement_duration_days}' != '${None}' split_agreementDuration ${agreement_duration_years} day
|
|
174
|
+ 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}
|
143
|
175
|
#negotiation
|
144
|
176
|
${cause} = get from dictionary by keys ${data} cause
|
145
|
177
|
run keyword if condition is not none ${cause} select from visible list by value ${tender_form_general_cause_input_locator} ${cause}
|
...
|
...
|
@@ -149,6 +181,92 @@ fill tender general info |
149
|
181
|
Run Keyword If '${SUITE_NAME}' == 'Tests Files.Complaints' click visible element ${tender_form_auction_skip_mode_input_locator}
|
150
|
182
|
submit current visible popup
|
151
|
183
|
|
|
184
|
+fill tender general info 2 stage
|
|
185
|
+ [Arguments] ${data}
|
|
186
|
+ [Documentation] обирає потрібний тип закупівлі, чекає оновлення форми, вказує мультилотовість, заповнює
|
|
187
|
+ ... приховані поля + відкриває попап основних даних, заповнює його і закриває
|
|
188
|
+
|
|
189
|
+ Execute Javascript $(window).scrollTop(0)
|
|
190
|
+ wait until page does not contain element ${tender_load_form_after_mode_locator}
|
|
191
|
+ wait until page contains element ${tender_form_procurement_method_type_input_locator}
|
|
192
|
+ capture page screenshot
|
|
193
|
+ ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType
|
|
194
|
+ capture page screenshot
|
|
195
|
+ 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}
|
|
196
|
+ wait until page does not contain element ${tender_load_form_after_mode_locator}
|
|
197
|
+
|
|
198
|
+ ${lots} = get from dictionary by keys ${data} lots
|
|
199
|
+ run keyword if condition is not none ${lots} Run Keyword And Ignore Error Click Element ${tender_multilot_locator}
|
|
200
|
+ wait until page does not contain element ${tender_load_form_after_mode_locator} 20
|
|
201
|
+
|
|
202
|
+ open popup by btn locator ${plan_form_general_panel_edit_btn_locator}
|
|
203
|
+ ${closeFrameworkAgreementSelectionUA_path} = Get Variable Value ${ARTIFACT_FILE} artifact.yaml
|
|
204
|
+ ${ARTIFACT2} = load_data_from ${closeFrameworkAgreementSelectionUA_path}
|
|
205
|
+ 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}
|
|
206
|
+ ${main_procurement_category} = get from dictionary by keys ${data} mainProcurementCategory
|
|
207
|
+ run keyword if condition is not none ${main_procurement_category} Execute Javascript $('[id$="form-main_procurement_category"]').val('${main_procurement_category}').change()
|
|
208
|
+ ${title} = get from dictionary by keys ${data} title
|
|
209
|
+ run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_title_locator} ${title}
|
|
210
|
+ ${title_en} = get from dictionary by keys ${data} title_en
|
|
211
|
+ run keyword if condition is not none ${title} input text to exist visible input ${tender_form_general_tender_title_en_locator} ${title_en}
|
|
212
|
+ ${description} = get from dictionary by keys ${data} description
|
|
213
|
+ run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_description_locator} ${description}
|
|
214
|
+ ${description_en} = get from dictionary by keys ${data} description_en
|
|
215
|
+ run keyword if condition is not none ${title} input text to exist visible input ${tender_form_general_tender_description_en_locator} ${description_en}
|
|
216
|
+ ${amount} = get from dictionary by keys ${data} value amount
|
|
217
|
+ 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}
|
|
218
|
+ ${currency} = get from dictionary by keys ${data} value currency
|
|
219
|
+ run keyword if condition is not none ${currency} select from visible list by value ${tender_form_general_value_currency_input_locator} ${currency}
|
|
220
|
+ ${value_added_tax_included} = get from dictionary by keys ${data} value valueAddedTaxIncluded
|
|
221
|
+ 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}
|
|
222
|
+ ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount
|
|
223
|
+ 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}
|
|
224
|
+ ${tender_enquiry_period_start_date} = get from dictionary by keys ${data} enquiryPeriod startDate
|
|
225
|
+# 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}
|
|
226
|
+ 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}
|
|
227
|
+ ${tender_enquiry_period_end_date} = get from dictionary by keys ${data} enquiryPeriod endDate
|
|
228
|
+# 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}
|
|
229
|
+ 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}
|
|
230
|
+ ${tender_start_date} = get from dictionary by keys ${data} tenderPeriod startDate
|
|
231
|
+ 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}
|
|
232
|
+ ${tender_end_date} = get from dictionary by keys ${data} tenderPeriod endDate
|
|
233
|
+ 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}
|
|
234
|
+ ${date_start} = Get Current Date increment=03:00:00
|
|
235
|
+ run keyword if condition is none ${tender_end_date} input datetime to visible input ${tender_tender_period_end_date_input_locator} ${date_start}
|
|
236
|
+ run keyword and ignore error click element ${tender_tender_quick_mode_locator}
|
|
237
|
+ ${classification} = get from dictionary by keys ${data} classification
|
|
238
|
+ run keyword if condition is not none ${classification} select classification by code attributes ${plan_form_classification_edit_btn_locator} ${classification}
|
|
239
|
+ ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications
|
|
240
|
+ 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}
|
|
241
|
+ 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}
|
|
242
|
+ ${funding_kind} = get from dictionary by keys ${data} fundingKind
|
|
243
|
+ run keyword if condition is not none ${funding_kind} select from visible list by value ${tender_form_general_funding_kind_input_locator} ${funding_kind}
|
|
244
|
+#closeframework
|
|
245
|
+ ${max_awards_count} = get from dictionary by keys ${data} maxAwardsCount
|
|
246
|
+ 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}
|
|
247
|
+ ${agreement_duration_years} = get from dictionary by keys ${data} agreementDuration
|
|
248
|
+ ${agreement_duration_years1}= Run keyword If '${agreement_duration_years}' != '${None}' split_agreementDuration ${agreement_duration_years} year
|
|
249
|
+ 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}
|
|
250
|
+ ${agreement_duration_months} = get from dictionary by keys ${data} agreementDuration
|
|
251
|
+ ${agreement_duration_months1}= Run keyword If '${agreement_duration_months}' != '${None}' split_agreementDuration ${agreement_duration_months} month
|
|
252
|
+ 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}
|
|
253
|
+ ${agreement_duration_days} = get from dictionary by keys ${data} agreementDuration
|
|
254
|
+ ${agreement_duration_days1}= Run keyword If '${agreement_duration_days}' != '${None}' split_agreementDuration ${agreement_duration_years} day
|
|
255
|
+ 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}
|
|
256
|
+#closeFrameworkAgreementSelectionUA
|
|
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
|
+ submit current visible popup
|
|
269
|
+
|
152
|
270
|
fill tender form items
|
153
|
271
|
[Arguments] ${item_attributes_array}
|
154
|
272
|
[Documentation] заповнення номенклатури тендеру
|
...
|
...
|
@@ -161,6 +279,18 @@ fill tender form items |
161
|
279
|
\ ${features} = get from dictionary by keys ${item_attributes} features
|
162
|
280
|
\ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_item_panel_add_feature_btn_locator}
|
163
|
281
|
|
|
282
|
+fill tender form items 2 stage
|
|
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_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
|
+
|
164
|
294
|
fill tender item form in opened popup
|
165
|
295
|
[Arguments] ${data}
|
166
|
296
|
[Documentation] заповнює відкриту форму згідно вказаних даних
|
...
|
...
|
@@ -193,6 +323,20 @@ fill tender form milestones |
193
|
323
|
\ fill milestone form in opened popup ${milestone_attributes}
|
194
|
324
|
submit current visible popup
|
195
|
325
|
|
|
326
|
+fill tender form milestones fake
|
|
327
|
+ [Documentation] заповнення умов оплати тендеру
|
|
328
|
+
|
|
329
|
+ open popup by btn locator ${tender_form_milestones_panel_edit_btn_locator}
|
|
330
|
+ click visible element ${milestone_form_popup_add_btn_locator}
|
|
331
|
+ wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
|
|
332
|
+ select from visible list by value ${milestone_form_popup_title_input_locator} submissionDateOfApplications
|
|
333
|
+ input text to exist visible input ${milestone_form_popup_description_input_locator} submissionDateOfApplications
|
|
334
|
+ input text to exist visible input ${milestone_form_popup_percentage_input_locator} 100
|
|
335
|
+ select from visible list by value ${milestone_form_popup_code_input_locator} postpayment
|
|
336
|
+ input text to exist visible input ${milestone_form_popup_duration_days_input_locator} 145
|
|
337
|
+ select from visible list by value ${milestone_form_popup_duration_type_input_locator} working
|
|
338
|
+ submit current visible popup
|
|
339
|
+
|
196
|
340
|
fill milestone form in opened popup
|
197
|
341
|
[Arguments] ${data}
|
198
|
342
|
[Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних
|
...
|
...
|
@@ -286,6 +430,28 @@ fill tender form lots |
286
|
430
|
\ ${items} = get from dictionary by keys ${lot_attributes} items
|
287
|
431
|
\ run keyword if condition is not none ${items} fill tender form items ${items}
|
288
|
432
|
|
|
433
|
+fill tender form lots 2 stage
|
|
434
|
+ [Arguments] ${lot_attributes_array}
|
|
435
|
+ [Documentation] заповнення номенклатури тендеру
|
|
436
|
+
|
|
437
|
+ ##### BOF - TMP for negotiation milestone 1 lot#####
|
|
438
|
+ ${prepared_tender_data} = Get From Dictionary ${td_railway_crutch} data
|
|
439
|
+ ${milestones1} = Run Keyword If "${mode}" in "negotiation" Get From Dictionary ${prepared_tender_data} milestones
|
|
440
|
+ ##### EOF - TMP #####
|
|
441
|
+ :FOR ${lot_attributes} IN @{lot_attributes_array}
|
|
442
|
+ \ open popup by btn locator ${tender_form_lots_edit_lot1_btn_locator}
|
|
443
|
+ ##\ open popup by btn locator ${tender_form_lots_panel_edit_btn_locator}
|
|
444
|
+ \ fill lot form in opened popup ${lot_attributes}
|
|
445
|
+ \ submit current visible popup
|
|
446
|
+ \ ${features} = get from dictionary by keys ${lot_attributes} features
|
|
447
|
+ \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_lot_panel_add_feature_btn_locator}
|
|
448
|
+ \ ${milestones} = get from dictionary by keys ${lot_attributes} milestones
|
|
449
|
+ \ run keyword if condition is not none ${milestones} fill tender form milestones ${milestones}
|
|
450
|
+ \ run keyword if condition is none ${milestones} run keyword if "${mode}" in "negotiation" fill tender form milestones ${milestones1}
|
|
451
|
+ \ run keyword if condition is none ${milestones} run keyword if "${mode}" in "framework_selection" fill tender form milestones fake
|
|
452
|
+ \ ${items} = get from dictionary by keys ${lot_attributes} items
|
|
453
|
+ \ run keyword if condition is not none ${items} fill tender form items 2 stage ${items}
|
|
454
|
+
|
289
|
455
|
fill lot form in opened popup
|
290
|
456
|
[Arguments] ${data}
|
291
|
457
|
[Documentation] заповнює відкриту форму згідно вказаних даних
|
...
|
...
|
|