|
...
|
...
|
@@ -9,11 +9,36 @@ open new tender form |
|
9
|
9
|
|
|
10
|
10
|
open page and wait element by locator ${broker_baseurl}/tender/create ${tender_form_locator}
|
|
11
|
11
|
|
|
|
12
|
+update tender queue
|
|
|
13
|
+ [Documentation] запускає оновлення планів з ЦБД і додає їх в чергу, тобто синхронізація може відбутися не відразу
|
|
|
14
|
+ ... поточна сторіка повертається
|
|
|
15
|
+
|
|
|
16
|
+ ${current_url} = get location
|
|
|
17
|
+ go to ${broker_baseurl}/utils/queue-tender-update
|
|
|
18
|
+ go to ${current_url}
|
|
|
19
|
+
|
|
|
20
|
+open tender form by uaid
|
|
|
21
|
+ [Arguments] ${tender_uaid}
|
|
|
22
|
+ [Documentation] відкриття сторінки редагування плану
|
|
|
23
|
+
|
|
|
24
|
+ open tender page by uaid ${tender_uaid}
|
|
|
25
|
+ click visible element and wait until page contains element ${tender_edit_btn_locator} ${tender_form_locator}
|
|
|
26
|
+
|
|
12
|
27
|
open tender page by uaid
|
|
13
|
28
|
[Arguments] ${uaid}
|
|
14
|
29
|
[Documentation] відкриває сторінку з тендером
|
|
15
|
30
|
|
|
16
|
|
- open page and wait element by locator ${broker_baseurl}/tender/${uaid} ${tender_view_checker_element_locator}
|
|
|
31
|
+# open page and wait element by locator ${broker_baseurl}/tender/${uaid} ${tender_view_checker_element_locator}
|
|
|
32
|
+ open site page and wait content element ${broker_baseurl}/tender/${uaid}
|
|
|
33
|
+ ${is_tender_found} = get is element exist ${tender_view_checker_element_locator}
|
|
|
34
|
+ return from keyword if ${is_tender_found} == ${True}
|
|
|
35
|
+ ${is_tender_not_found} = get is 404 page
|
|
|
36
|
+ ${is_needed_to_update_and_wait_sync} = set variable if ${is_test_role_owner} == ${False} and ${is_tender_not_found} ${True} ${False}
|
|
|
37
|
+ run keyword if ${is_needed_to_update_and_wait_sync} update tender queue
|
|
|
38
|
+ run keyword if ${is_needed_to_update_and_wait_sync} wait until 404 page disappears
|
|
|
39
|
+ ${is_tender_found} = get is element exist ${tender_view_checker_element_locator}
|
|
|
40
|
+ run keyword if ${is_tender_found} == ${False} fail Opening tender page by uaid fails.
|
|
|
41
|
+
|
|
17
|
42
|
|
|
18
|
43
|
fill tender form
|
|
19
|
44
|
[Arguments] ${data}
|
|
...
|
...
|
@@ -37,7 +62,7 @@ fill tender general info |
|
37
|
62
|
|
|
38
|
63
|
${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType
|
|
39
|
64
|
run keyword if condition is not none ${procurement_method_type} select from visible list by value ${tender_form_procurement_method_type_input_locator} ${procurement_method_type}
|
|
40
|
|
- wait until page does not contain element ${button_refresh_element}
|
|
|
65
|
+ wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
|
|
41
|
66
|
|
|
42
|
67
|
${lots} = get from dictionary by keys ${data} lots
|
|
43
|
68
|
run keyword if condition is not none ${lots} Run Keyword And Ignore Error Click Element ${tender_multilot_locator}
|
|
...
|
...
|
@@ -84,6 +109,18 @@ fill tender general info |
|
84
|
109
|
run keyword if condition is not none ${funding_kind} select from visible list by value ${tender_form_general_funding_kind_input_locator} ${funding_kind}
|
|
85
|
110
|
${nbu_discount_rate} = get from dictionary by keys ${data} NBUdiscountRate
|
|
86
|
111
|
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}
|
|
|
112
|
+#closeframework
|
|
|
113
|
+ ${max_awards_count} = get from dictionary by keys ${data} maxAwardsCount
|
|
|
114
|
+ 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}
|
|
|
115
|
+ ${agreement_duration_years} = get from dictionary by keys ${data} agreementDuration
|
|
|
116
|
+ ${agreement_duration_years1}= Run keyword If '${agreement_duration_years}' != '${None}' split_agreementDuration ${agreement_duration_years} year
|
|
|
117
|
+ 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}
|
|
|
118
|
+ ${agreement_duration_months} = get from dictionary by keys ${data} agreementDuration
|
|
|
119
|
+ ${agreement_duration_months1}= Run keyword If '${agreement_duration_months}' != '${None}' split_agreementDuration ${agreement_duration_months} month
|
|
|
120
|
+ 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}
|
|
|
121
|
+ ${agreement_duration_days} = get from dictionary by keys ${data} agreementDuration
|
|
|
122
|
+ ${agreement_duration_days1}= Run keyword If '${agreement_duration_days}' != '${None}' split_agreementDuration ${agreement_duration_years} day
|
|
|
123
|
+ 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}
|
|
87
|
124
|
submit current visible popup
|
|
88
|
125
|
|
|
89
|
126
|
fill tender form items
|
|
...
|
...
|
@@ -125,7 +162,7 @@ fill tender form milestones |
|
125
|
162
|
wait until popup is visible
|
|
126
|
163
|
:FOR ${milestone_attributes} IN @{milestone_attributes_array}
|
|
127
|
164
|
\ click visible element ${milestone_form_popup_add_btn_locator}
|
|
128
|
|
- \ wait until page does not contain element ${button_refresh_element}
|
|
|
165
|
+ \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
|
|
129
|
166
|
\ fill milestone form in opened popup ${milestone_attributes}
|
|
130
|
167
|
submit current visible popup
|
|
131
|
168
|
|
|
...
|
...
|
@@ -154,7 +191,7 @@ fill tender form features |
|
154
|
191
|
wait until popup is visible
|
|
155
|
192
|
:FOR ${feature_attributes} IN @{feature_attributes_array}
|
|
156
|
193
|
\ click visible element ${tender_form_features_panel_edit_btn_locator}
|
|
157
|
|
- \ wait until page does not contain element ${button_refresh_element}
|
|
|
194
|
+ \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
|
|
158
|
195
|
\ fill feature form in opened popup ${feature_attributes}
|
|
159
|
196
|
submit current visible popup
|
|
160
|
197
|
|
|
...
|
...
|
@@ -166,11 +203,16 @@ fill feature form in opened popup |
|
166
|
203
|
run keyword if condition is not none ${title} input text to exist visible input ${feature_form_popup_title_input_locator} ${title}
|
|
167
|
204
|
${description} = get from dictionary by keys ${data} description
|
|
168
|
205
|
run keyword if condition is not none ${description} input text to exist visible input ${feature_form_popup_description_input_locator} ${description}
|
|
|
206
|
+ ${title_en} = get from dictionary by keys ${data} title_en
|
|
|
207
|
+ run keyword if condition is not none ${title_en} input text to exist visible input ${feature_form_popup_title_en_input_locator} ${title_en}
|
|
|
208
|
+ ${description_en} = get from dictionary by keys ${data} description
|
|
|
209
|
+ run keyword if condition is not none ${description_en} input text to exist visible input ${feature_form_popup_description_en_input_locator} ${description_en}
|
|
169
|
210
|
${options} = Get From Dictionary ${data} enum
|
|
170
|
211
|
${count} = Get Length ${options}
|
|
171
|
212
|
${ex}= Evaluate ${count} - 1
|
|
172
|
213
|
: FOR ${INDEX} IN RANGE 0 ${count}
|
|
173
|
214
|
\ 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}
|
|
|
215
|
+# \ 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}
|
|
174
|
216
|
\ ${value} = convert_float_to_string ${options[${INDEX}].value}
|
|
175
|
217
|
\ ${value} = Convert To Number ${value}
|
|
176
|
218
|
\ ${value} = multiply_hundred ${value}
|
|
...
|
...
|
@@ -178,7 +220,7 @@ fill feature form in opened popup |
|
178
|
220
|
\ run keyword if condition is not none ${options[${INDEX}].value} input text to exist visible input ${feature_form_popup_enum_value_input_locator} ${value}
|
|
179
|
221
|
\ Continue For Loop If '${INDEX}' == '${ex}'
|
|
180
|
222
|
\ Run Keyword If ${count} != 1 click visible element ${feature_form_popup_add-enums_btn_locator}
|
|
181
|
|
- \ wait until page does not contain element ${button_refresh_element}
|
|
|
223
|
+ \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
|
|
182
|
224
|
|
|
183
|
225
|
fill tender form lots
|
|
184
|
226
|
[Arguments] ${lot_attributes_array}
|
|
...
|
...
|
@@ -228,8 +270,8 @@ fill tender required documents |
|
228
|
270
|
|
|
229
|
271
|
${file_path} ${file_name} ${file_content} = create_fake_doc
|
|
230
|
272
|
click visible element ${tender_form_general_panel_add_document_btn_locator}
|
|
231
|
|
- choose file ${add_file_to_form} ${file_path}
|
|
232
|
|
- wait until page does not contain element ${button_refresh_element}
|
|
|
273
|
+ choose file ${add_file_to_form_locator} ${file_path}
|
|
|
274
|
+ wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
|
|
233
|
275
|
submit current visible popup
|
|
234
|
276
|
|
|
235
|
277
|
open tender search form
|
|
...
|
...
|
@@ -239,5 +281,182 @@ open tender search form |
|
239
|
281
|
|
|
240
|
282
|
get tender field value by name
|
|
241
|
283
|
[Arguments] ${key}
|
|
242
|
|
- [Documentation] Отримати інформацію із тендера, користуючись ідентіфікатором плану та назвою поля ${key}.
|
|
|
284
|
+ [Documentation] Отримати інформацію із тендера, користуючись ідентіфікатором тендеру та назвою поля ${key}.
|
|
|
285
|
+
|
|
|
286
|
+
|
|
|
287
|
+save tender form and wait synchronization
|
|
|
288
|
+ [Documentation] натискає кнопку "Зберегти" і чекає синхронізації тендеру
|
|
|
289
|
+
|
|
|
290
|
+ submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator}
|
|
|
291
|
+ wait until page does not contain element with reloading ${tender_sync_element_locator}
|
|
|
292
|
+
|
|
|
293
|
+add document in tender
|
|
|
294
|
+ [Arguments] ${filepath}
|
|
|
295
|
+ [Documentation] Завантажити документ, який знаходиться по шляху filepath.
|
|
|
296
|
+
|
|
|
297
|
+ click visible element ${tender_form_general_panel_edit_add_document_btn_locator}
|
|
|
298
|
+ choose file ${add_file_to_form_locator} ${filepath}
|
|
|
299
|
+ wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
|
|
|
300
|
+ submit current visible popup
|
|
|
301
|
+
|
|
|
302
|
+add document in lot
|
|
|
303
|
+ [Arguments] ${filepath} ${lot_id}
|
|
|
304
|
+ [Documentation] Завантажити в лот (з ідентіфікатором ${lot_id}) документ, який знаходиться по шляху filepath.
|
|
|
305
|
+
|
|
|
306
|
+ ${open_form_add_doc_lot_btn_locator} = replace string ${tender_form_lot_panel_add_document_btn_locator_tpl} %lot_id% ${lot_id}
|
|
|
307
|
+ click visible element ${open_form_add_doc_lot_btn_locator}
|
|
|
308
|
+ choose file ${add_file_to_form_locator} ${filepath}
|
|
|
309
|
+ wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
|
|
|
310
|
+ submit current visible popup
|
|
|
311
|
+
|
|
|
312
|
+Задати запитання
|
|
|
313
|
+ [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${question}
|
|
|
314
|
+ [Documentation] Створити запитання з question в описі для тендера tender_uaid.
|
|
|
315
|
+# run keyword and ignore error save tender form and wait synchronization
|
|
|
316
|
+ click visible element ${question_form_create_question_btn_locator}
|
|
|
317
|
+ wait until popup is visible
|
|
|
318
|
+ input text to exist visible input ${question_form_open_form_answer_input_locator} ${answer_data.data.answer}
|
|
|
319
|
+ Run Keyword If '${type}' == 'tender' Select From List By Value ${question_form_create_questionform_related_of_input_locator} Закупівля
|
|
|
320
|
+ Run Keyword If '${type}' == 'lot' Select From List By Value ${question_form_create_questionform_related_of_input_locator} Лот
|
|
|
321
|
+ Run Keyword If '${type}' == 'lot' Click Element ${question_form_create_questionform_related_lot_input_locator}
|
|
|
322
|
+ ${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}
|
|
|
323
|
+ Run Keyword If '${type}' == 'lot' Click Element ${question_form_create_questionform_related_lot_input_locator}
|
|
|
324
|
+ Run Keyword If '${type}' == 'item' Select From List By Value ${question_form_create_questionform_related_of_input_locator} Предмет закупівлі
|
|
|
325
|
+ Run Keyword If '${type}' == 'item' Click Element ${question_form_create_questionform_related_item_input_locator}
|
|
|
326
|
+ ${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}
|
|
|
327
|
+ Run Keyword If '${type}' == 'item' Click Element ${question_questionform_related_item_input_locator}
|
|
|
328
|
+ input text to exist visible input ${question_form_create_questionform_title_input_locator} ${question.data.title}
|
|
|
329
|
+ input text to exist visible input ${question_form_create_questionform_description_input_locator} ${question.data.description}
|
|
|
330
|
+ click visible element ${question_form_answer_submit_btn_locator}
|
|
|
331
|
+ wait until page does not contain element with reloading ${tender_sync_element_locator}
|
|
|
332
|
+
|
|
|
333
|
+answer question
|
|
|
334
|
+ [Arguments] ${answer_data} ${question_id}
|
|
|
335
|
+ [Documentation] Дати відповідь answer_data на запитання з question_id в описі для тендера tender_uaid.
|
|
|
336
|
+
|
|
|
337
|
+ run keyword and ignore error save tender form and wait synchronization
|
|
|
338
|
+ click visible element ${question_form_open_btn_locator}
|
|
|
339
|
+ ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id}
|
|
|
340
|
+ wait until page contains element with reloading ${question_open_form_answer_locator}
|
|
|
341
|
+ ${question_form_open_form_answer_btn_locator} = replace string ${question_form_open_form_answer_btn_locator_tpl} %title% ${question_id}
|
|
|
342
|
+ click visible element ${question_form_open_form_answer_btn_locator}
|
|
|
343
|
+ wait until popup is visible
|
|
|
344
|
+ input text to exist visible input ${question_form_open_form_answer_input_locator} ${answer_data.data.answer}
|
|
|
345
|
+# click visible element ${question_form_answer_submit_btn_locator}
|
|
|
346
|
+ submit form and check result ${question_form_answer_submit_btn_locator} ${question_form_submit_success_msg} ${tender_created_checker_element_locator}
|
|
|
347
|
+
|
|
|
348
|
+Створити вимогу
|
|
|
349
|
+ [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${claim} ${doc_name}
|
|
|
350
|
+ [Documentation] Створити вимогу з claim в описі для тендера tender_uaid.
|
|
|
351
|
+
|
|
|
352
|
+ click visible element ${claim_form_open_btn_locator}
|
|
|
353
|
+ wait until popup is visible
|
|
|
354
|
+ input text to exist visible input ${claim_form_complaintform_title_input_locator} ${claim.data.title}
|
|
|
355
|
+ input text to exist visible input ${claim_form_complaintform_description_input_locator} ${claim.data.description}
|
|
|
356
|
+ Run Keyword And Ignore Error Run Keyword If '${type}' == 'tender' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Закупівля
|
|
|
357
|
+ Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Лот
|
|
|
358
|
+ Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_input_locator}
|
|
|
359
|
+ ${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}
|
|
|
360
|
+ Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_select_locator}
|
|
|
361
|
+ Run Keyword And Ignore Error Select From List By Label ${claim_form_complaintform_complaintform_type_input_locator} Вимога
|
|
|
362
|
+ Run Keyword If '${doc_name}' != 'null' click visible element ${claim_form_complaintform_document_btn_locator}
|
|
|
363
|
+ Run Keyword If '${doc_name}' != 'null' choose file ${add_file_to_form_locator} ${doc_name}
|
|
|
364
|
+ Run Keyword If '${doc_name}' != 'null' wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
|
|
|
365
|
+# Run Keyword If '${doc_name}' != 'null' submit current visible popup
|
|
|
366
|
+ submit form and check result ${claim_form_complaintform_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator}
|
|
|
367
|
+# Функция ожидания claim_uaid_text_locator соответствующей вимоги
|
|
|
368
|
+ click visible element ${claim_form_open_btn_locator}
|
|
|
369
|
+ ${return_value}= Get Element Attribute ${claim_uaid_text_locator}
|
|
|
370
|
+ ${return_value}= Convert To String ${return_value}
|
|
|
371
|
+ [return] ${return_value}
|
|
|
372
|
+
|
|
|
373
|
+
|
|
|
374
|
+fill bid form
|
|
|
375
|
+ [Arguments] ${tender_uaid} ${bid} ${lots_ids} ${features_ids}
|
|
|
376
|
+ [Documentation] Подати цінову пропозицію bid для тендера tender_uaid на лоти lots_ids (якщо lots_ids != None) з неціновими показниками features_ids (якщо features_ids != None).
|
|
|
377
|
+
|
|
|
378
|
+ click visible element ${bid_form_open_btn_locator}
|
|
|
379
|
+ wait until popup is visible
|
|
|
380
|
+ ${value} = get from dictionary by keys ${bid} value amount
|
|
|
381
|
+ ${amount} = run keyword if condition is not none ${value} convert_float_to_string ${bid.data.value.amount}
|
|
|
382
|
+ run keyword if condition is not none ${value} input number to exist visible input ${bid_form_value_amount_input_locator} ${amount}
|
|
|
383
|
+ ${value_yearly_payments_percentage} = get from dictionary by keys ${bid} value yearlyPaymentsPercentage
|
|
|
384
|
+ ${yearly_payments_percentage} = run keyword if condition is not none ${value_yearly_payments_percentage} convert_float_to_string ${bid.data.value.yearlyPaymentsPercentage}
|
|
|
385
|
+ run keyword if condition is not none ${value} input number5 to exist visible input ${bid_form_value_yearly_payments_percentage_input_locator} ${yearly_payments_percentage}
|
|
|
386
|
+ ${contract_duration_years} = get from dictionary by keys ${bid} value contractDuration years
|
|
|
387
|
+ run keyword if condition is not none ${contract_duration_years} input text to exist visible input ${bid_form_value_contract_duration_years_input_locator} ${bid.data.value.contractDuration.years}
|
|
|
388
|
+ ${contract_duration_days} = get from dictionary by keys ${bid} value contractDuration days
|
|
|
389
|
+ run keyword if condition is not none ${contract_duration_days} input text to exist visible input ${bid_form_value_contract_duration_days_input_locator} ${bid.data.value.contractDuration.days}
|
|
|
390
|
+ ${annual_costs_reduction} = get from dictionary by keys ${bid} value annualCostsReduction
|
|
|
391
|
+ run keyword if condition is not none ${annual_costs_reduction} Подати цінову пропозицію Esco AnnualCostsReduction ${value.annualCostsReduction}
|
|
|
392
|
+# ${lots} = get from dictionary by keys ${data} lots
|
|
|
393
|
+ run keyword if condition is not none ${lots_ids} fill bid form lots ${bid}
|
|
|
394
|
+# run keyword if condition is none ${lots_ids} fill bid form whithout lots ${bid}
|
|
|
395
|
+# ${features} = get from dictionary by keys ${data} features
|
|
|
396
|
+# run keyword if condition is not none ${features_ids} fill bid form features ${bid} ${tender_form_general_panel_add_feature_btn_locator}
|
|
|
397
|
+ fill bid required documents_all
|
|
|
398
|
+ submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator}
|
|
|
399
|
+
|
|
|
400
|
+fill bid form lots
|
|
|
401
|
+ [Arguments] ${bid} ${lots_ids} ${features_ids}
|
|
|
402
|
+ [Documentation] Заповнити лотову цінову пропозицію bid для тендера tender_uaid на лоти lots_ids з неціновими показниками features_ids (якщо features_ids != None).
|
|
|
403
|
+
|
|
|
404
|
+ ${lots} = get from dictionary by keys ${bid} lotValues
|
|
|
405
|
+ ${lots_length} = Get Length ${lots}
|
|
|
406
|
+ : FOR ${INDEX} IN RANGE 0 ${lots_length}
|
|
|
407
|
+ \ ${amount} = convert_float_to_string ${bid.data.value.amount}
|
|
|
408
|
+ \ run keyword and ignore error input number to exist visible input ${bid_form_value_amount_input_locator} ${amount}
|
|
|
409
|
+ \ ${self_qualified} = get from dictionary by keys ${bid} selfQualified
|
|
|
410
|
+ \ run keyword and ignore error ${self_qualified} click visible element ${bid_form_value_self_qualified_input_locator}
|
|
|
411
|
+ \ ${self_eligible} = get from dictionary by keys ${bid} selfEligible
|
|
|
412
|
+ \ run keyword if condition is not none ${self_eligible} click visible element ${bid_form_value_self_eligible_input_locator}
|
|
|
413
|
+ \ run keyword if condition is not none ${features_ids} fill bid form features ${bid.data.parameters}
|
|
|
414
|
+
|
|
|
415
|
+fill bid form features
|
|
|
416
|
+ [Arguments] ${bid_parameters}
|
|
|
417
|
+ [Documentation] Заповнити нецінові показники цінової пропозиції.
|
|
|
418
|
+
|
|
|
419
|
+ ${features_length} = Get Length ${bid_parameters}
|
|
|
420
|
+ : FOR ${INDEX} IN RANGE 0 ${features_length}
|
|
|
421
|
+ \ ${bid_form_feature_input_locator} replace string ${bid_form_feature_input_locator_tpl} %title% ${features[${INDEX}]['code']}
|
|
|
422
|
+ \ Run Keyword And Ignore Error click visible element ${bid_form_feature_input_locator}
|
|
|
423
|
+ \ Run Keyword And Ignore Error Select From List By Label ${bid_form_feature_input_locator} ${features[${INDEX}]['value']}
|
|
|
424
|
+
|
|
|
425
|
+Подати цінову пропозицію Esco AnnualCostsReduction
|
|
|
426
|
+ [Arguments] ${values}
|
|
|
427
|
+ [Documentation] Заповнити цінову пропозицію Esco (параметр AnnualCostsReduction).
|
|
|
428
|
+
|
|
|
429
|
+ ${input_index }= set variable 1
|
|
|
430
|
+ : FOR ${value} IN @{values}
|
|
|
431
|
+ \ ${bid_form_value_annual_costs_reduction_input_locator} replace string ${bid_form_value_annual_costs_reduction_input_locator_tpl} %index% ${input_index}
|
|
|
432
|
+ \ input float ${bid_form_value_annual_costs_reduction_input_locator} ${value}
|
|
|
433
|
+ \ ${input_index} = evaluate ${input_index} + 1
|
|
|
434
|
+
|
|
|
435
|
+fill bid required documents_all
|
|
|
436
|
+ [Arguments] ${values}
|
|
|
437
|
+ [Documentation] Додати фейковий документ до цінової пропозиції при створенні.
|
|
|
438
|
+
|
|
|
439
|
+ ${file_path} ${file_name} ${file_content} = create_fake_doc
|
|
|
440
|
+ click visible element ${bid_form_add_document_all_btn_locator}
|
|
|
441
|
+ choose file ${add_file_to_form_locator} ${file_path}
|
|
|
442
|
+ wait until element is visible ${bid_form_add_document_type_input_locator} ${waiting_timeout} ${waiting_error}
|
|
|
443
|
+# submit current visible popup
|
|
|
444
|
+ Run Keyword And Ignore Error Select From List By Value ${bid_form_add_document_type_input_locator} qualificationDocuments
|
|
|
445
|
+ click visible element ${bid_form_add_document_description_btn_locator}
|
|
|
446
|
+ wait until element is visible ${bid_form_add_document_description_input_locator} ${waiting_timeout} ${waiting_error}
|
|
|
447
|
+ input text to exist visible input ${bid_form_add_document_description_input_locator} test2
|
|
|
448
|
+ click visible element ${bid_form_add_document_close_description_btn_locator}
|
|
|
449
|
+
|
|
|
450
|
+fill bid form edit
|
|
|
451
|
+ [Arguments] ${tender_uaid} ${fieldname} ${fieldvalue}
|
|
|
452
|
+ [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача username для тендера tender_uaid.
|
|
|
453
|
+
|
|
|
454
|
+ click visible element ${bid_form_open_btn_locator}
|
|
|
455
|
+ wait until popup is visible
|
|
|
456
|
+ Run Keyword If '${fieldname}' == 'lotValues[0].value.amount' and '${mode}' != 'esco' Run Keywords
|
|
|
457
|
+ ... ${amount} = convert_float_to_string ${fieldvalue}
|
|
|
458
|
+ ... input number to exist visible input ${bid_form_value_amount_input_locator} ${amount}
|
|
|
459
|
+ submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator}
|
|
|
460
|
+
|
|
|
461
|
+
|
|
243
|
462
|
|
...
|
...
|
|