...
|
...
|
@@ -19,7 +19,7 @@ fill tender form |
19
|
19
|
[Arguments] ${data}
|
20
|
20
|
[Documentation] заповнення форми з масива даних
|
21
|
21
|
|
22
|
|
- fill tender general info
|
|
22
|
+ fill tender general info ${data}
|
23
|
23
|
${features} = get from dictionary by keys ${data} features
|
24
|
24
|
run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_general_panel_add_feature_btn_locator}
|
25
|
25
|
${items} = get from dictionary by keys ${data} items
|
...
|
...
|
@@ -37,7 +37,7 @@ fill tender general info |
37
|
37
|
|
38
|
38
|
${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType
|
39
|
39
|
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
|
|
- # @todo дочекатися поки завантажиться форма
|
|
40
|
+ wait until page does not contain element ${button_refresh_element}
|
41
|
41
|
|
42
|
42
|
${lots} = get from dictionary by keys ${data} lots
|
43
|
43
|
run keyword if condition is not none ${lots} Run Keyword And Ignore Error Click Element ${tender_multilot_locator}
|
...
|
...
|
@@ -55,15 +55,15 @@ fill tender general info |
55
|
55
|
run keyword if condition is not none ${funders} Click Element ${tender_form_general_tender_funder_locator}
|
56
|
56
|
Capture Page Screenshot
|
57
|
57
|
${amount} = get from dictionary by keys ${data} value amount
|
58
|
|
- run keyword if condition is not none ${amount} run keyword if ${NUMBER_OF_LOTS}==0 input number to exist visible input ${tender_form_general_value_amount_input_locator} ${amount}
|
|
58
|
+ 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}
|
59
|
59
|
${currency} = get from dictionary by keys ${data} value currency
|
60
|
60
|
run keyword if condition is not none ${currency} select from visible list by value ${tender_form_general_value_currency_input_locator} ${currency}
|
61
|
|
- ${valueAddedTaxIncluded} = get from dictionary by keys ${data} value valueAddedTaxIncluded
|
62
|
|
- run keyword if condition is not none ${valueAddedTaxIncluded} run keyword if ${valueAddedTaxIncluded} Click Element ${tender_form_general_value_added_tax_input_locator}
|
|
61
|
+ ${value_added_tax_included} = get from dictionary by keys ${data} value valueAddedTaxIncluded
|
|
62
|
+ 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}
|
63
|
63
|
${min_step_amount} = get from dictionary by keys ${data} minimalStep amount
|
64
|
64
|
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}
|
65
|
|
- ${mainProcurementCategory} = get from dictionary by keys ${data} mainProcurementCategory
|
66
|
|
- run keyword if condition is not none ${mainProcurementCategory} select from visible list by value ${tender_form_general_main_procurement_category_input_locator} ${mainProcurementCategory}
|
|
65
|
+ ${main_procurement_category} = get from dictionary by keys ${data} mainProcurementCategory
|
|
66
|
+ 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}
|
67
|
67
|
${tender_enquiry_period_start_date} = get from dictionary by keys ${data} enquiryPeriod startDate
|
68
|
68
|
# 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}
|
69
|
69
|
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}
|
...
|
...
|
@@ -80,6 +80,10 @@ fill tender general info |
80
|
80
|
${additional_classifications} = get from dictionary by keys ${data} additionalClassifications
|
81
|
81
|
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}
|
82
|
82
|
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}
|
|
83
|
+ ${funding_kind} = get from dictionary by keys ${data} fundingKind
|
|
84
|
+ 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
|
+ ${nbu_discount_rate} = get from dictionary by keys ${data} NBUdiscountRate
|
|
86
|
+ 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}
|
83
|
87
|
submit current visible popup
|
84
|
88
|
|
85
|
89
|
fill tender form items
|
...
|
...
|
@@ -120,8 +124,8 @@ fill tender form milestones |
120
|
124
|
click visible element ${tender_form_milestones_panel_edit_btn_locator}
|
121
|
125
|
wait until popup is visible
|
122
|
126
|
:FOR ${milestone_attributes} IN @{milestone_attributes_array}
|
123
|
|
- \ click visible element ${tender_form_milestones_add_btn_locator}
|
124
|
|
- \ # @todo чекати поки форма не з'явиться
|
|
127
|
+ \ click visible element ${milestone_form_popup_add_btn_locator}
|
|
128
|
+ \ wait until page does not contain element ${button_refresh_element}
|
125
|
129
|
\ fill milestone form in opened popup ${milestone_attributes}
|
126
|
130
|
submit current visible popup
|
127
|
131
|
|
...
|
...
|
@@ -129,18 +133,18 @@ fill milestone form in opened popup |
129
|
133
|
[Arguments] ${data}
|
130
|
134
|
[Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних
|
131
|
135
|
|
132
|
|
- # @todo переписати всі локатори з прив'язкою до попапа + форми milestone, зробити як в fill item form in opened popup
|
133
|
136
|
${title} = get from dictionary by keys ${data} title
|
134
|
|
- run keyword if condition is not none ${title} select from visible list by value ${tender_form_milestones_title_locator} ${title}
|
|
137
|
+ run keyword if condition is not none ${title} select from visible list by value ${milestone_form_popup_title_input_locator} ${title}
|
135
|
138
|
${description} = get from dictionary by keys ${data} description
|
136
|
|
- run keyword if condition is not none ${description} input text to exist visible input ${tender_form_milestones_description_locator} ${description}
|
|
139
|
+ run keyword if condition is not none ${description} input text to exist visible input ${milestone_form_popup_description_input_locator} ${description}
|
137
|
140
|
${percentage} = get from dictionary by keys ${data} percentage
|
138
|
|
- run keyword if condition is not none ${percentage} input text to exist visible input ${tender_form_milestones_percentage_locator} ${percentage}
|
|
141
|
+ run keyword if condition is not none ${percentage} input text to exist visible input ${milestone_form_popup_percentage_input_locator} ${percentage}
|
139
|
142
|
${code} = get from dictionary by keys ${data} code
|
140
|
|
- run keyword if condition is not none ${code} select from visible list by value ${tender_form_milestones_code_locator} ${code}
|
|
143
|
+ run keyword if condition is not none ${code} select from visible list by value ${milestone_form_popup_code_input_locator} ${code}
|
141
|
144
|
${duration_days} = get from dictionary by keys ${data} duration days
|
142
|
|
- run keyword if condition is not none ${duration_days} input text to exist visible input ${tender_form_milestones_duration_days_locator} ${duration_days}
|
|
145
|
+ run keyword if condition is not none ${duration_days} input text to exist visible input ${milestone_form_popup_duration_days_input_locator} ${duration_days}
|
143
|
146
|
${duration_type} = get from dictionary by keys ${data} duration type
|
|
147
|
+ run keyword if condition is not none ${duration_type} select from visible list by value ${milestone_form_popup_duration_type_input_locator} ${duration_type}
|
144
|
148
|
|
145
|
149
|
fill tender form features
|
146
|
150
|
[Arguments] ${feature_attributes_array} ${add_btn_locator}
|
...
|
...
|
@@ -150,7 +154,7 @@ fill tender form features |
150
|
154
|
wait until popup is visible
|
151
|
155
|
:FOR ${feature_attributes} IN @{feature_attributes_array}
|
152
|
156
|
\ click visible element ${tender_form_features_panel_edit_btn_locator}
|
153
|
|
- \ # @todo чекати поки форма не з'явиться
|
|
157
|
+ \ wait until page does not contain element ${button_refresh_element}
|
154
|
158
|
\ fill feature form in opened popup ${feature_attributes}
|
155
|
159
|
submit current visible popup
|
156
|
160
|
|
...
|
...
|
@@ -158,29 +162,23 @@ fill feature form in opened popup |
158
|
162
|
[Arguments] ${data}
|
159
|
163
|
[Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних
|
160
|
164
|
|
161
|
|
- # @todo переписати локатори для прив'язки чисто поточний попап + НК форм. краще у відкритій формі НК видалити відкру форму Опції і
|
162
|
|
- # тоді к циклі додавати опції, візьми підчисть код бо купа коментарів і тяжко розбиратися, можеш додавання опції в окремий кейворд винести
|
163
|
165
|
${title} = get from dictionary by keys ${data} title
|
164
|
|
- run keyword if condition is not none ${title} input text to exist visible input ${tender_form_features_title_locator} ${title}
|
|
166
|
+ run keyword if condition is not none ${title} input text to exist visible input ${feature_form_popup_title_input_locator} ${title}
|
165
|
167
|
${description} = get from dictionary by keys ${data} description
|
166
|
|
- run keyword if condition is not none ${description} input text to exist visible input ${tender_form_features_description_locator} ${description}
|
|
168
|
+ run keyword if condition is not none ${description} input text to exist visible input ${feature_form_popup_description_input_locator} ${description}
|
167
|
169
|
${options} = Get From Dictionary ${data} enum
|
168
|
170
|
${count} = Get Length ${options}
|
169
|
171
|
${ex}= Evaluate ${count} - 1
|
170
|
172
|
: FOR ${INDEX} IN RANGE 0 ${count}
|
171
|
|
- \ run keyword if condition is not none ${options[${INDEX}].title} input text to exist visible input ${tender_form_features_enum_title_locator} ${options[${INDEX}].title}
|
172
|
|
- \ Capture Page Screenshot
|
173
|
|
-# \ ${description} = get from dictionary by keys ${data} description
|
174
|
|
-# \ run keyword if condition is not none ${description} input text to exist visible input ${tender_form_features_description_locator} ${description}
|
175
|
|
- \ Capture Page Screenshot
|
|
173
|
+ \ 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}
|
176
|
174
|
\ ${value} = convert_float_to_string ${options[${INDEX}].value}
|
177
|
175
|
\ ${value} = Convert To Number ${value}
|
178
|
176
|
\ ${value} = multiply_hundred ${value}
|
179
|
177
|
\ ${value} = convert_float_to_string ${value}
|
180
|
|
- \ run keyword if condition is not none ${options[${INDEX}].value} input text to exist visible input ${tender_form_features_enum_value_locator} ${value}
|
181
|
|
- \ Capture Page Screenshot
|
182
|
|
- \ Continue For Loop If '${INDEX}' == '${ex}'
|
183
|
|
- \ Run Keyword If ${count} != 1 click visible element ${tender_form_features_add-enums_locator}
|
|
178
|
+ \ 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
|
+ \ Continue For Loop If '${INDEX}' == '${ex}'
|
|
180
|
+ \ 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}
|
184
|
182
|
|
185
|
183
|
fill tender form lots
|
186
|
184
|
[Arguments] ${lot_attributes_array}
|
...
|
...
|
@@ -191,44 +189,55 @@ fill tender form lots |
191
|
189
|
\ wait until popup is visible
|
192
|
190
|
\ fill lot form in opened popup ${lot_attributes}
|
193
|
191
|
\ submit current visible popup
|
194
|
|
- \ ${features} = get from dictionary by keys ${data} features
|
|
192
|
+ \ ${features} = get from dictionary by keys ${lot_attributes} features
|
195
|
193
|
\ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_lot_panel_add_feature_btn_locator}
|
196
|
|
- \ ${milestones} = get from dictionary by keys ${data} milestones
|
|
194
|
+ \ ${milestones} = get from dictionary by keys ${lot_attributes} milestones
|
197
|
195
|
\ run keyword if condition is not none ${milestones} fill tender form milestones ${milestones}
|
198
|
|
- \ ${items} = get from dictionary by keys ${data} items
|
|
196
|
+ \ ${items} = get from dictionary by keys ${lot_attributes} items
|
199
|
197
|
\ run keyword if condition is not none ${items} fill tender form items ${items}
|
200
|
198
|
|
201
|
199
|
fill lot form in opened popup
|
202
|
200
|
[Arguments] ${data}
|
203
|
201
|
[Documentation] заповнює відкриту форму згідно вказаних даних
|
204
|
202
|
|
205
|
|
- # @todo переписати локатори для прив'язки чисто поточний попап + лот форм
|
206
|
203
|
${title} = get from dictionary by keys ${data} title
|
207
|
|
- run keyword if condition is not none ${title} input text to visible input ${tender_form_lots_title_locator} ${title}
|
|
204
|
+ run keyword if condition is not none ${title} input text to visible input ${lot_form_popup_title_input_locator} ${title}
|
208
|
205
|
${title_en} = get from dictionary by keys ${data} title_en
|
209
|
|
- run keyword if condition is not none ${title_en} input text to exist visible input ${tender_form_lots_title_en_locator} ${title_en}
|
|
206
|
+ run keyword if condition is not none ${title_en} input text to exist visible input ${lot_form_popup_title_en_input_locator} ${title_en}
|
210
|
207
|
${description} = get from dictionary by keys ${data} description
|
211
|
|
- run keyword if condition is not none ${description} input text to visible input ${tender_form_lots_description_locator} ${description}
|
|
208
|
+ run keyword if condition is not none ${description} input text to visible input ${lot_form_popup_description_input_locator} ${description}
|
212
|
209
|
${description_en} = get from dictionary by keys ${data} description_en
|
213
|
|
- run keyword if condition is not none ${description_en} input text to exist visible input ${tender_form_lots_description_locator} ${description_en}
|
|
210
|
+ run keyword if condition is not none ${description_en} input text to exist visible input ${lot_form_popup_description_en_input_locator} ${description_en}
|
214
|
211
|
capture page screenshot
|
215
|
212
|
${description_ru} = get from dictionary by keys ${data} description_ru
|
216
|
213
|
run keyword if condition is not none ${description_ru} input text to exist visible input ${item_form_popup_description_ru_input_locator} ${description_ru}
|
217
|
214
|
${amount} = get from dictionary by keys ${data} value amount
|
218
|
|
- run keyword if condition is not none ${amount} input number to exist visible input ${tender_form_lots_value_amount_input_locator} ${amount}
|
219
|
|
- submit current visible popup
|
|
215
|
+ run keyword if condition is not none ${amount} input number to exist visible input ${lot_form_popup_value_amount_input_locator} ${amount}
|
|
216
|
+ ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount
|
|
217
|
+ 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}
|
|
218
|
+ ${min_step_percentage} = get from dictionary by keys ${data} minimalStepPercentage
|
|
219
|
+ run keyword if condition is not none ${min_step_percentage} input number to exist visible input ${lot_form_popup_min_step_percentage_amount_input_locator} ${min_step_percentage}
|
|
220
|
+
|
220
|
221
|
# ${currency} = get from dictionary by keys ${data} value currency
|
221
|
222
|
# run keyword if condition is not none ${currency} select from visible list by value ${tender_form_lots_value_currency_input_locator} ${currency}
|
222
|
223
|
# ${valueAddedTaxIncluded} = get from dictionary by keys ${data} value valueAddedTaxIncluded
|
223
|
224
|
# run keyword if condition is not none ${valueAddedTaxIncluded} run keyword if ${valueAddedTaxIncluded} Click Element ${tender_form_lots_value_added_tax_input_locator}
|
224
|
|
- ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount
|
225
|
|
- run keyword if condition is not none ${min_step_amount} input number to exist visible input ${tender_form_lots_minimalStep_amount_input_locator} ${min_step_amount}
|
226
|
225
|
|
227
|
226
|
fill tender required documents
|
228
|
227
|
[Documentation] додає документ до усієї закупівлі для успішної валідації форми
|
229
|
228
|
|
230
|
229
|
${file_path} ${file_name} ${file_content} = create_fake_doc
|
231
|
230
|
click visible element ${tender_form_general_panel_add_document_btn_locator}
|
232
|
|
- choose file xpath=//input[@type='file'] ${file_path} # @todo винести локатор в variables + привязатися до відкритого попапу
|
233
|
|
- # @todo чекати поки документ завантажиться
|
234
|
|
- submit current visible popup |
|
|
\ No newline at end of file |
|
231
|
+ choose file ${add_file_to_form} ${file_path}
|
|
232
|
+ wait until page does not contain element ${button_refresh_element}
|
|
233
|
+ submit current visible popup
|
|
234
|
+
|
|
235
|
+open tender search form
|
|
236
|
+ [Documentation] відкриває сторінку з пошуком тендерів
|
|
237
|
+
|
|
238
|
+ open page and wait element by locator ${broker_baseurl}/tenders ${tender_search_form_locator}
|
|
239
|
+
|
|
240
|
+get tender field value by name
|
|
241
|
+ [Arguments] ${key}
|
|
242
|
+ [Documentation] Отримати інформацію із тендера, користуючись ідентіфікатором плану та назвою поля ${key}.
|
|
243
|
+ |
...
|
...
|
|