Commit 74e6f1585cb1b694a5c6cd1b75b5b8f62bc8ac87
1 parent
cda1d559
add lot and feature, milestone, items in lot for create tender. search plan. get…
… information from the plan
Showing
6 changed files
with
242 additions
and
57 deletions
... | ... | @@ -51,26 +51,28 @@ Resource playtender_tende |
51 | 51 | |
52 | 52 | open plan page by uaid ${plan_uaid} |
53 | 53 | |
54 | +Пошук плану по ідентифікатору | |
55 | + [Arguments] ${username} ${tenderId} | |
56 | + [Documentation] Знайти план з uaid рівним tender_uaid. | |
57 | + search plan ${tenderId} | |
58 | + | |
59 | +Отримати інформацію із плану | |
60 | + [Arguments] ${username} ${tender_uaid} ${field_name} | |
61 | + [Documentation] Отримати інформацію із плану, користуючись ідентіфікатором плану та назвою поля ${field_name}. | |
62 | + | |
63 | + get information from the plan ${tender_uaid} ${field_name} | |
64 | + | |
54 | 65 | Створити тендер |
55 | 66 | [Arguments] ${user} ${tender_data} |
56 | 67 | [Documentation] Створити тендер з початковими даними tender_data. Повернути uaid створеного тендера. |
57 | 68 | |
58 | -<<<<<<< HEAD | |
69 | + ${tender_prepared_data} = prepare tender data ${tender_data['data']} | |
70 | + log ${tender_prepared_data} | |
71 | + | |
59 | 72 | open new tender form |
60 | - fill tender form ${tender_data['data']} | |
73 | + fill tender form ${tender_prepared_data} | |
61 | 74 | submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator} |
62 | 75 | wait until page does not contain element with reloading ${tender_sync_element_locator} |
63 | 76 | ${tender_uaid} = get text ${tender_uaid_text_locator} |
64 | 77 | [Return] ${tender_uaid} |
65 | -======= | |
66 | - ${tender_prepared_data} = prepare tender data ${tender_data['data']} | |
67 | - log ${tender_prepared_data} | |
68 | 78 | |
69 | - config acceleration for new tender form ${tender_prepared_data} | |
70 | - open new tender form | |
71 | - fill tender form ${tender_prepared_data} | |
72 | - submit form and check result ${plan_form_submit_btn_locator} ${plan_form_submit_success_msg} ${plan_created_checker_element_locator} | |
73 | - wait until page does not contain element with reloading ${plan_sync_element_locator} | |
74 | - ${plan_uaid} = get text ${plan_uaid_text_locator} | |
75 | - [Return] ${plan_uaid} | |
76 | ->>>>>>> 3facf555e072d9d85d4bc44ada0c5c5280ea5820 | ... | ... |
... | ... | @@ -65,10 +65,9 @@ fill item form in opened popup |
65 | 65 | run keyword if condition is not none ${classification} select classification by code attributes ${item_form_popup_classification_edit_btn_locator} ${classification} |
66 | 66 | ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications |
67 | 67 | run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${item_form_popup_additional_classification_edit_btn_locator} ${additional_classifications} |
68 | - | |
69 | -fill item for tender form in opened popup | |
70 | - [Arguments] ${data} | |
71 | - [Documentation] заповнює відкриту форму згідно вказаних даних | |
68 | +#fill item for tender form in opened popup | |
69 | +# [Arguments] ${data} | |
70 | +# [Documentation] заповнює відкриту форму згідно вказаних даних | |
72 | 71 | |
73 | 72 | ${region} = get from dictionary by keys ${data} deliveryAddress region |
74 | 73 | run keyword if condition is not none ${region} select from visible list by label ${item_form_popup_delivery_region_id_input_locator} ${region} |
... | ... | @@ -83,11 +82,28 @@ fill item for tender form in opened popup |
83 | 82 | ${delivery_end_date} = get from dictionary by keys ${data} deliveryDate endDate |
84 | 83 | 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} |
85 | 84 | |
85 | + submit current visible popup | |
86 | + | |
87 | + # features | |
88 | + ${features} = get from dictionary by keys ${data} features | |
89 | + run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_item_panel_add_feature_btn_locator} | |
90 | + | |
91 | +fill buyer form in opened popup | |
92 | + [Arguments] ${data} | |
93 | + [Documentation] заповнює відкриту форму згідно вказаних даних про замовника | |
94 | + | |
95 | + ${legalName} = get from dictionary by keys ${data} identifier legalName | |
96 | + run keyword if condition is not none ${legalName} input text to visible input ${plan_form_add_buyer_legalName_input_locator} ${legalName} | |
97 | + ${id} = get from dictionary by keys ${data} identifier id | |
98 | + run keyword if condition is not none ${id} input text to exist visible input ${plan_form_add_buyer_id_input_locator} ${id} | |
99 | + | |
86 | 100 | fill milestone form in opened popup |
87 | 101 | [Arguments] ${data} |
88 | 102 | [Documentation] заповнює відкриту форму Умови оплати згідно вказаних даних |
89 | 103 | |
104 | + Capture Page Screenshot | |
90 | 105 | click visible element ${tender_form_milestones_add_btn_locator} |
106 | + Capture Page Screenshot | |
91 | 107 | ${title} = get from dictionary by keys ${data} title |
92 | 108 | run keyword if condition is not none ${title} select from visible list by value ${tender_form_milestones_title_locator} ${title} |
93 | 109 | ${description} = get from dictionary by keys ${data} description |
... | ... | @@ -115,17 +131,60 @@ fill feature form in opened popup |
115 | 131 | : FOR ${INDEX} IN RANGE 0 ${count} |
116 | 132 | \ 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} |
117 | 133 | \ Capture Page Screenshot |
118 | - \ ${description} = get from dictionary by keys ${data} description | |
119 | - \ run keyword if condition is not none ${description} input text to exist visible input ${tender_form_features_description_locator} ${description} | |
134 | +# \ ${description} = get from dictionary by keys ${data} description | |
135 | +# \ run keyword if condition is not none ${description} input text to exist visible input ${tender_form_features_description_locator} ${description} | |
120 | 136 | \ Capture Page Screenshot |
121 | - \ ${value} = convert_float_to_string ${options[${INDEX}].value} | |
122 | - \ ${value} = Convert To Number ${value} | |
123 | - \ ${value} = multiply_hundred ${value} | |
124 | - \ ${value} = convert_float_to_string ${value} | |
137 | + \ ${value} = convert_float_to_string ${options[${INDEX}].value} | |
138 | + \ ${value} = Convert To Number ${value} | |
139 | + \ ${value} = multiply_hundred ${value} | |
140 | + \ ${value} = convert_float_to_string ${value} | |
125 | 141 | \ run keyword if condition is not none ${options[${INDEX}].value} input text to exist visible input ${tender_form_features_enum_value_locator} ${value} |
126 | 142 | \ Capture Page Screenshot |
127 | 143 | \ Continue For Loop If '${INDEX}' == '${ex}' |
128 | - \ Run Keyword If ${count} != 1 click visible element ${tender_form_features_panel_edit_btn_locator} | |
144 | + \ Run Keyword If ${count} != 1 click visible element ${tender_form_features_add-enums_locator} | |
145 | + | |
146 | +fill lot form in opened popup | |
147 | + [Arguments] ${data} | |
148 | + [Documentation] заповнює відкриту форму згідно вказаних даних | |
149 | + | |
150 | + ${title} = get from dictionary by keys ${data} title | |
151 | + run keyword if condition is not none ${title} input text to visible input ${tender_form_lots_title_locator} ${title} | |
152 | + ${title_en} = get from dictionary by keys ${data} title_en | |
153 | + run keyword if condition is not none ${title_en} input text to exist visible input ${tender_form_lots_title_en_locator} ${title_en} | |
154 | + ${description} = get from dictionary by keys ${data} description | |
155 | + run keyword if condition is not none ${description} input text to visible input ${tender_form_lots_description_locator} ${description} | |
156 | + ${description_en} = get from dictionary by keys ${data} description_en | |
157 | + run keyword if condition is not none ${description_en} input text to exist visible input ${tender_form_lots_description_locator} ${description_en} | |
158 | + capture page screenshot | |
159 | + ${description_ru} = get from dictionary by keys ${data} description_ru | |
160 | + run keyword if condition is not none ${description_ru} input text to exist visible input ${item_form_popup_description_ru_input_locator} ${description_ru} | |
161 | + ${amount} = get from dictionary by keys ${data} value amount | |
162 | + run keyword if condition is not none ${amount} input number to exist visible input ${tender_form_lots_value_amount_input_locator} ${amount} | |
163 | + submit current visible popup | |
164 | +# ${currency} = get from dictionary by keys ${data} value currency | |
165 | +# run keyword if condition is not none ${currency} select from visible list by value ${tender_form_lots_value_currency_input_locator} ${currency} | |
166 | +# ${valueAddedTaxIncluded} = get from dictionary by keys ${data} value valueAddedTaxIncluded | |
167 | +# run keyword if condition is not none ${valueAddedTaxIncluded} run keyword if ${valueAddedTaxIncluded} Click Element ${tender_form_lots_value_added_tax_input_locator} | |
168 | + ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount | |
169 | + 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} | |
170 | + capture page screenshot | |
171 | + # features | |
172 | + ${features} = get from dictionary by keys ${data} features | |
173 | + run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_lot_panel_add_feature_btn_locator} | |
174 | + | |
175 | + # milestones | |
176 | + ${milestones} = get from dictionary by keys ${data} milestones | |
177 | + run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} | |
178 | + | |
179 | + # items | |
180 | + ${items} = get from dictionary by keys ${data} items | |
181 | + run keyword if condition is not none ${items} fill tender form items ${items} | |
182 | + | |
183 | +Створити FakeDocs | |
184 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
185 | + click visible element ${tender_form_general_panel_add_document_btn_locator} | |
186 | + Choose File xpath=//input[@type='file'] ${file_path} | |
187 | + submit current visible popup | |
129 | 188 | ######################################################################################################################## |
130 | 189 | #################################################### COMMON HELPERS #################################################### |
131 | 190 | ######################################################################################################################## |
... | ... | @@ -318,6 +377,15 @@ reload page and fail if element exists |
318 | 377 | ${exists} = __private__get_is_element_exist ${locator} |
319 | 378 | run keyword if ${exists} == ${True} fail |
320 | 379 | |
380 | +Click and wait for the search | |
381 | + [Arguments] ${click_locator} ${wanted_locator} ${timeout} | |
382 | + [Documentation] Натиснути и дочекатися пошуку | |
383 | + ... click_locator: Where to click | |
384 | + ... wanted_locator: What are we waiting for | |
385 | + ... timeout: Timeout | |
386 | + Press key ${click_locator} \\13 | |
387 | +# Sleep 3 | |
388 | + Wait Until Page Contains Element ${wanted_locator} ${timeout} | |
321 | 389 | ######################################################################################################################## |
322 | 390 | ################################################### PRIVATE KEYWORDS ################################################### |
323 | 391 | ######################################################################################################################## | ... | ... |
... | ... | @@ -51,6 +51,10 @@ fill plan form |
51 | 51 | ${items} = get from dictionary by keys ${data} items |
52 | 52 | run keyword if condition is not none ${items} fill plan form items ${items} |
53 | 53 | |
54 | + # buyers | |
55 | + ${buyers} = get from dictionary by keys ${data} buyers | |
56 | + run keyword if condition is not none ${buyers} fill plan form buyers ${buyers} | |
57 | + | |
54 | 58 | fill plan form items |
55 | 59 | [Arguments] ${item_attributes_array} |
56 | 60 | [Documentation] заповнення номенклатури плану |
... | ... | @@ -59,5 +63,75 @@ fill plan form items |
59 | 63 | \ click visible element ${plan_form_add_item_btn_locator} |
60 | 64 | \ wait until popup is visible |
61 | 65 | \ fill item form in opened popup ${item_attributes} |
62 | - \ submit current visible popup | |
66 | + \ run keyword and ignore error submit current visible popup | |
67 | + | |
68 | +fill plan form buyers | |
69 | + [Arguments] ${buyer_attributes_array} | |
70 | + [Documentation] заповнення замовника плану | |
71 | + | |
72 | + :FOR ${buyer_attributes} IN @{buyer_attributes_array} | |
73 | + \ click visible element ${plan_form_add_buyer_btn_locator} | |
74 | + \ wait until popup is visible | |
75 | + \ fill buyer form in opened popup ${buyer_attributes} | |
76 | + \ run keyword and ignore error submit current visible popup | |
77 | + | |
78 | +search plan | |
79 | + [Arguments] ${tenderId} | |
80 | + [Documentation] пошук плану по tenderId | |
81 | + | |
82 | + Go To ${broker_baseurl}/plans | |
83 | + Wait Until Page Contains Element ${form_search_plan} 10 | |
84 | + input text to visible input ${search_plan_input} ${tenderId} | |
85 | + click visible element ${button_search_plan} | |
86 | +# Sleep 1 | |
87 | + ${passed}= Run Keyword And Return Status Wait Until Keyword Succeeds 360 s 0 s Search and find a plan | |
88 | + Run Keyword Unless ${passed} Fatal Error Тендер не знайдено за 360 секунд | |
89 | + Wait Until Page Does Not Contain Element ${search_plan_list-pjax} | |
90 | + click visible element ${search_plan_result} | |
91 | + | |
92 | +Search and find a plan | |
93 | + Click and wait for the search ${button_search_plan} ${search_plan_result} 8 | |
94 | + | |
95 | +get information from the plan | |
96 | + [Arguments] ${tender_uaid} ${key} | |
97 | + [Documentation] Отримати інформацію із плану, користуючись ідентіфікатором плану та назвою поля ${field_name}. | |
63 | 98 | |
99 | + open plan page by uaid ${tender_uaid} | |
100 | + ${budget}= get_invisible_text jquery=#general-info .budget-amount | |
101 | + Run Keyword And Return If '${key}' == 'tender.procurementMethodType' get_invisible_text jquery=#general-info .procurement-method-type | |
102 | + Run Keyword And Return If '${key}' == 'budget.amount' Convert To Number ${budget} | |
103 | + Run Keyword And Return If '${key}' == 'budget.description' get_text jquery=#general-info .budget-description .value | |
104 | + Run Keyword And Return If '${key}' == 'budget.currency' get_invisible_text jquery=#general-info .budget-currency | |
105 | + Run Keyword And Return If '${key}' == 'budget.id' get_text jquery=#general-info .budget-id .value | |
106 | + Run Keyword And Return If '${key}' == 'budget.project.id' get_invisible_text jquery=#general-info .budget-project-id | |
107 | + Run Keyword And Return If '${key}' == 'budget.project.name' get_invisible_text jquery=#general-info .budget-project-name | |
108 | + Run Keyword And Return If '${key}' == 'classification.description' get_invisible_text jquery=#general-info .main-classification-description | |
109 | + Run Keyword And Return If '${key}' == 'classification.scheme' get_invisible_text jquery=#general-info .main-classification-scheme | |
110 | + Run Keyword And Return If '${key}' == 'classification.id' get_invisible_text jquery=#general-info .main-classification-code | |
111 | + Run Keyword And Return If '${key}' == 'tender.tenderPeriod.startDate' get_invisible_text jquery=#general-info .tender-start-date-source | |
112 | + ${procuringEntityNeedToBeVisible}= Run Keyword And Return Status Should Start With ${key} procuringEntity | |
113 | + Run Keyword If ${procuringEntityNeedToBeVisible} JsSetScrollToElementBySelector \#procuring-entity-info | |
114 | + Run Keyword And Return If '${key}' == 'procuringEntity.name' get_invisible_text jquery=#procuring-entity-info .name | |
115 | + Run Keyword And Return If '${key}' == 'procuringEntity.identifier.scheme' get_invisible_text jquery=#procuring-entity-info .identifier-scheme | |
116 | + Run Keyword And Return If '${key}' == 'procuringEntity.identifier.id' get_invisible_text jquery=#procuring-entity-info .identifier-code | |
117 | + Run Keyword And Return If '${key}' == 'procuringEntity.identifier.legalName' get_text jquery=#procuring-entity-info .legal-name .value | |
118 | + ${item0NeedToBeVisible}= Run Keyword And Return Status Should Start With ${key} items[0] | |
119 | + Run Keyword If ${item0NeedToBeVisible} JsCollapseShowAndScroll ${item0Wrapper} | |
120 | + Run Keyword And Return If '${key}' == 'items[0].description' get_text jquery=div#accordionItems.panel-group div.panel.panel-default .panel-collapse.collapse.in div.panel-body div#w1.item-info-wrapper.info-wrapper p.title span.value | |
121 | + Run Keyword And Return If '${key}' == 'items[0].quantity' Get invisible text number by locator jquery=${item0Wrapper} .item-info-wrapper .quantity-source | |
122 | + Run Keyword And Return If '${key}' == 'items[0].deliveryDate.endDate' get_invisible_text jquery=${item0Wrapper} .item-info-wrapper .delivery-end-date-source | |
123 | + Run Keyword And Return If '${key}' == 'items[0].unit.code' get_invisible_text jquery=${item0Wrapper} .item-info-wrapper .unit-code-source | |
124 | + Run Keyword And Return If '${key}' == 'items[0].unit.name' get_invisible_text jquery=${item0Wrapper} .item-info-wrapper .unit-title-source | |
125 | + Run Keyword And Return If '${key}' == 'items[0].classification.description' get_invisible_text jquery=${item0Wrapper} .item-info-wrapper .main-classification-description | |
126 | + Run Keyword And Return If '${key}' == 'items[0].classification.scheme' get_invisible_text jquery=${item0Wrapper} .item-info-wrapper .main-classification-scheme | |
127 | + Run Keyword And Return If '${key}' == 'items[0].classification.id' get_invisible_text jquery=${item0Wrapper} .item-info-wrapper .main-classification-code | |
128 | + ${item1NeedToBeVisible}= Run Keyword And Return Status Should Start With ${key} items[1] | |
129 | + Run Keyword If ${item1NeedToBeVisible} JsCollapseShowAndScroll ${item1Wrapper} | |
130 | + Run Keyword And Return If '${key}' == 'items[1].description' get_text jquery=${item1Wrapper} .item-info-wrapper .title .value | |
131 | + Run Keyword And Return If '${key}' == 'items[1].quantity' Get invisible text number by locator jquery=${item1Wrapper} .item-info-wrapper .quantity-source | |
132 | + Run Keyword And Return If '${key}' == 'items[1].deliveryDate.endDate' get_invisible_text jquery=${item1Wrapper} .item-info-wrapper .delivery-end-date-source | |
133 | + Run Keyword And Return If '${key}' == 'items[1].unit.code' get_invisible_text jquery=${item1Wrapper} .item-info-wrapper .unit-code-source | |
134 | + Run Keyword And Return If '${key}' == 'items[1].unit.name' get_invisible_text jquery=${item1Wrapper} .item-info-wrapper .unit-title-source | |
135 | + Run Keyword And Return If '${key}' == 'items[1].classification.description' get_invisible_text jquery=${item1Wrapper} .item-info-wrapper .main-classification-description | |
136 | + Run Keyword And Return If '${key}' == 'items[1].classification.scheme' get_invisible_text jquery=${item1Wrapper} .item-info-wrapper .main-classification-scheme | |
137 | + Run Keyword And Return If '${key}' == 'items[1].classification.id' get_invisible_text jquery=${item1Wrapper} .item-info-wrapper .main-classification-code | ... | ... |
... | ... | @@ -96,11 +96,11 @@ def isodate_format(isodate, format): |
96 | 96 | iso_dt = parse_date(isodate) |
97 | 97 | return iso_dt.strftime(format) |
98 | 98 | |
99 | -<<<<<<< HEAD | |
99 | + | |
100 | 100 | #Percentage conversion |
101 | 101 | def multiply_hundred(number): |
102 | 102 | return number*100 |
103 | -======= | |
103 | + | |
104 | 104 | |
105 | 105 | # prepares data for filling form in easiest way |
106 | 106 | def prepare_tender_data(data): |
... | ... | @@ -148,4 +148,4 @@ def prepare_tender_data(data): |
148 | 148 | del data['milestones'] |
149 | 149 | |
150 | 150 | return data |
151 | ->>>>>>> 3facf555e072d9d85d4bc44ada0c5c5280ea5820 | |
151 | + | ... | ... |
... | ... | @@ -36,22 +36,17 @@ fill tender form |
36 | 36 | run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_description_locator} ${description} |
37 | 37 | ${description_en} = get from dictionary by keys ${data} description_en |
38 | 38 | run keyword if condition is not none ${title} input text to exist visible input ${tender_form_general_tender_description_en_locator} ${description_en} |
39 | - Capture Page Screenshot | |
40 | 39 | ${funders} = get from dictionary by keys ${data} funders |
41 | 40 | run keyword if condition is not none ${funders} Click Element ${tender_form_general_tender_funder_locator} |
42 | 41 | Capture Page Screenshot |
43 | 42 | ${amount} = get from dictionary by keys ${data} value amount |
44 | 43 | 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} |
45 | - Capture Page Screenshot | |
46 | 44 | ${currency} = get from dictionary by keys ${data} value currency |
47 | 45 | run keyword if condition is not none ${currency} select from visible list by value ${tender_form_general_value_currency_input_locator} ${currency} |
48 | - Capture Page Screenshot | |
49 | 46 | ${valueAddedTaxIncluded} = get from dictionary by keys ${data} value valueAddedTaxIncluded |
50 | 47 | run keyword if condition is not none ${valueAddedTaxIncluded} run keyword if ${valueAddedTaxIncluded} Click Element ${tender_form_general_value_added_tax_input_locator} |
51 | - Capture Page Screenshot | |
52 | 48 | ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount |
53 | 49 | 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} |
54 | - Capture Page Screenshot | |
55 | 50 | ${mainProcurementCategory} = get from dictionary by keys ${data} mainProcurementCategory |
56 | 51 | run keyword if condition is not none ${mainProcurementCategory} select from visible list by value ${tender_form_general_main_procurement_category_input_locator} ${mainProcurementCategory} |
57 | 52 | Capture Page Screenshot |
... | ... | @@ -63,28 +58,23 @@ fill tender form |
63 | 58 | ${tender_enquiry_period_end_date} = get from dictionary by keys ${data} enquiryPeriod endDate |
64 | 59 | # 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} |
65 | 60 | 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} |
66 | - Capture Page Screenshot | |
67 | 61 | ${tender_start_date} = get from dictionary by keys ${data} tenderPeriod startDate |
68 | 62 | 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} |
69 | - Capture Page Screenshot | |
70 | 63 | ${tender_end_date} = get from dictionary by keys ${data} tenderPeriod endDate |
71 | 64 | 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} |
72 | - Capture Page Screenshot | |
73 | 65 | click element ${tender_tender_quick_mode_locator} |
74 | 66 | |
75 | 67 | ${classification} = get from dictionary by keys ${data} classification |
76 | 68 | run keyword if condition is not none ${classification} select classification by code attributes ${plan_form_classification_edit_btn_locator} ${classification} |
77 | - Capture Page Screenshot | |
78 | 69 | ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications |
79 | 70 | 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} |
80 | - Capture Page Screenshot | |
81 | 71 | 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} |
82 | 72 | submit current visible popup |
83 | 73 | |
84 | 74 | # features |
85 | 75 | ${features} = get from dictionary by keys ${data} features |
86 | - run keyword if condition is not none ${features} fill tender form features ${features} | |
87 | - #tenderer ${empty} ${tender_form_general_panel_add_feature_btn_locator} | |
76 | + run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_general_panel_add_feature_btn_locator} | |
77 | + | |
88 | 78 | # items |
89 | 79 | ${items} = get from dictionary by keys ${data} items |
90 | 80 | run keyword if condition is not none ${items} fill tender form items ${items} |
... | ... | @@ -92,6 +82,11 @@ fill tender form |
92 | 82 | # milestones |
93 | 83 | ${milestones} = get from dictionary by keys ${data} milestones |
94 | 84 | run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} |
85 | + Створити FakeDocs | |
86 | + | |
87 | + #lots | |
88 | + ${lots} = get from dictionary by keys ${data} lots | |
89 | + run keyword if condition is not none ${lots} fill tender form lots ${lots} | |
95 | 90 | |
96 | 91 | fill tender form items |
97 | 92 | [Arguments] ${item_attributes_array} |
... | ... | @@ -101,31 +96,39 @@ fill tender form items |
101 | 96 | \ click visible element ${tender_form_item_add_edit_btn_locator} |
102 | 97 | \ wait until popup is visible |
103 | 98 | \ fill item form in opened popup ${item_attributes} |
104 | - \ fill item for tender form in opened popup ${item_attributes} | |
105 | - \ submit current visible popup | |
99 | +# \ fill item for tender form in opened popup ${item_attributes} | |
100 | + \ run keyword and ignore error submit current visible popup | |
106 | 101 | |
107 | 102 | fill tender form milestones |
108 | 103 | [Arguments] ${milestone_attributes_array} |
109 | 104 | [Documentation] заповнення умов оплати тендеру |
110 | 105 | |
111 | - Capture Page Screenshot | |
112 | 106 | Log Many ${milestone_attributes_array} |
113 | 107 | :FOR ${milestone_attributes} IN @{milestone_attributes_array} |
108 | +# \ click visible element ${button_selector} | |
114 | 109 | \ click visible element ${tender_form_milestones_panel_edit_btn_locator} |
110 | + \ capture page screenshot | |
115 | 111 | \ wait until popup is visible |
116 | 112 | \ fill milestone form in opened popup ${milestone_attributes} |
117 | 113 | \ submit current visible popup |
118 | 114 | |
119 | 115 | fill tender form features |
120 | - [Arguments] ${feature_attributes_array} | |
116 | + [Arguments] ${feature_attributes_array} ${button_add} | |
121 | 117 | [Documentation] заповнення нецінові крітерії тендеру |
122 | 118 | |
123 | - Capture Page Screenshot | |
124 | - Log Many ${feature_attributes_array} | |
125 | 119 | :FOR ${feature_attributes} IN @{feature_attributes_array} |
126 | - \ click visible element ${tender_form_general_panel_add_feature_btn_locator} | |
120 | + \ click visible element ${button_add} | |
127 | 121 | #${tender_form_features_panel_edit_btn_locator} |
128 | 122 | \ wait until popup is visible |
129 | - \ fill feature form in opened popup ${feature_attributes} | |
123 | + \ fill feature form in opened popup ${feature_attributes} | |
130 | 124 | \ submit current visible popup |
131 | 125 | |
126 | +fill tender form lots | |
127 | + [Arguments] ${lot_attributes_array} | |
128 | + [Documentation] заповнення номенклатури тендеру | |
129 | + | |
130 | + :FOR ${lot_attributes} IN @{lot_attributes_array} | |
131 | + \ click visible element ${tender_form_lots_panel_edit_btn_locator} | |
132 | + \ wait until popup is visible | |
133 | + \ fill lot form in opened popup ${lot_attributes} | |
134 | + \ run keyword and ignore error submit current visible popup | ... | ... |
... | ... | @@ -66,6 +66,17 @@ ${plan_form_kekv_classification_edit_btn_locator} = jquery=.fiel |
66 | 66 | ${plan_form_add_item_btn_locator} = jquery=#Items .js-form-popup-add |
67 | 67 | ${plan_form_submit_btn_locator} = jquery=#plan-form .js-submit-btn |
68 | 68 | ${plan_created_checker_element_locator} = id=plan-part-pjax |
69 | +${plan_form_add_buyer_btn_locator} = jquery=#Buyer .js-form-popup-update | |
70 | +${plan_form_add_buyer_legalName_input_locator} = jquery=#planform-procuring_entity_name | |
71 | +${plan_form_add_buyer_id_input_locator} = jquery=#planform-procuring_entity_identifier_code | |
72 | + | |
73 | +#search plan | |
74 | +${button_search_plan} xpath=//button[@class='btn btn-default js-submit-btn'] | |
75 | +${form_search_plan} id=plansearchform-query | |
76 | +${search_plan_input} xpath=//input[@data-ds='query-input'] | |
77 | +${search_plan_list-pjax} jquery=#plan-list-pjax.loading-wrapper | |
78 | +#${search_plan_result} xpath=(//div[@id='plan-list-pjax'])//a[contains(@href, '/plan/')][1] | |
79 | +${search_plan_result} jquery=a[class="lot__title"] | |
69 | 80 | |
70 | 81 | # plan view |
71 | 82 | ${plan_view_checker_element_locator} = id=plan-general-info |
... | ... | @@ -73,7 +84,7 @@ ${plan_sync_element_locator} = jquery=#asid |
73 | 84 | ${plan_uaid_text_locator} = jquery=#plan-general-info .plan-id .value |
74 | 85 | |
75 | 86 | # tender form |
76 | -${tender_form_submit_success_msg} = дочекайтесь опублікування на сайті уповноваженого органу | |
87 | +${tender_form_submit_success_msg} = Закупівля створена, дочекайтесь опублікування на сайті уповноваженого органу. | |
77 | 88 | ${tender_form_locator} = id=tender-form |
78 | 89 | ${tender_form_procurement_method_type_input_locator} = jquery=[id$="form-procurement_method_type"] |
79 | 90 | ${tender_multilot_locator} = jquery=[id$="form-is_multilot"] |
... | ... | @@ -94,20 +105,24 @@ ${tender_tender_period_start_date_input_locator} = jquery=[id$= |
94 | 105 | ${tender_tender_period_end_date_input_locator} = jquery=[id$="form-tender_period_end_date"] |
95 | 106 | ${tender_tender_quick_mode_locator} = jquery=[id$="form-quick_mode"] |
96 | 107 | |
97 | -${tender_form_general_panel_add_feature_btn_locator} = jquery=#collapseGeneral div.form-content.js-form-content div.actions-wrapper a:contains("Додати нецінові критерії") | |
98 | -${tender_form_features_panel_edit_btn_locator} = jquery=[href$="#add-features"] | |
108 | +${tender_form_general_panel_add_feature_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="features"] | |
109 | +${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] | |
99 | 110 | ${tender_form_features_title_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title"]:first |
100 | 111 | ${tender_form_features_description_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-description"]:first |
101 | 112 | ${tender_form_features_value_locator} = jquery=[id$="-value"] |
102 | -${tender_form_features_add-enums_locator} = jquery=[id$="#add-enums"] | |
103 | -${tender_form_features_enum_title_locator} = jquery=.fancybox-is-open .form-group.featureform-enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-title"] | |
104 | -${tender_form_features_enum_value_locator} = jquery=.fancybox-is-open .form-group.featureform-enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-value"] | |
113 | +${tender_form_features_add-enums_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .btn-add a[href$="#add-enums"] | |
114 | +${tender_form_features_enum_title_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-title"] | |
115 | +${tender_form_features_enum_value_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-value"] | |
105 | 116 | |
106 | -${tender_form_general_panel_add_document_btn_locator} = jquery=#collapseGeneral div.form-content.js-form-content div.actions-wrapper a:contains("Додати документ") | |
117 | +${tender_form_general_panel_add_document_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="documents"] | |
107 | 118 | |
108 | -${tender_form_item_add_edit_btn_locator} = jquery=.js-form-group-popup-panel .panel-heading .actions-wrapper .js-form-popup-add | |
119 | +#${tender_form_item_add_edit_btn_locator} = jquery=.js-form-group-popup-panel .panel-heading .actions-wrapper .js-form-popup-add | |
120 | +#последняя кнопка “Додати” для номенклатуры (для лотовой и безлотовой) | |
121 | +${tender_form_item_add_edit_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last > .panel-heading .js-form-popup-add | |
122 | +${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"] | |
109 | 123 | |
110 | -${tender_form_milestones_panel_edit_btn_locator} = jquery=[data-url$="#milestones-form-popup"] | |
124 | +#${tender_form_milestones_panel_edit_btn_locator} = jquery=[data-url$="#milestones-form-popup"] | |
125 | +${tender_form_milestones_panel_edit_btn_locator} = jquery=.form-popup-panel[data-attribute="milestones"]:last > .panel-heading .js-form-popup-update | |
111 | 126 | ${tender_form_milestones_add_btn_locator} = jquery=[href$="#add-milestones"] |
112 | 127 | ${tender_form_milestones_title_locator} = jquery=.milestones-dynamic-forms-wrapper.dynamic-forms-wrapper.js-dynamic-forms-wrapper .js-dynamic-form-content-item.item-wrapper.js-item.tab-pane.active [id$="-title"] |
113 | 128 | ${tender_form_milestones_description_locator} = jquery=.milestones-dynamic-forms-wrapper.dynamic-forms-wrapper.js-dynamic-forms-wrapper .js-dynamic-form-content-item.item-wrapper.js-item.tab-pane.active [id$="-description"] |
... | ... | @@ -116,7 +131,30 @@ ${tender_form_milestones_code_locator} = jquery=.mile |
116 | 131 | ${tender_form_milestones_duration_days_locator} = jquery=.milestones-dynamic-forms-wrapper.dynamic-forms-wrapper.js-dynamic-forms-wrapper .js-dynamic-form-content-item.item-wrapper.js-item.tab-pane.active [id$="-duration_days"] |
117 | 132 | ${tender_form_milestones_duration_type_locator} = jquery=.milestones-dynamic-forms-wrapper.dynamic-forms-wrapper.js-dynamic-forms-wrapper .js-dynamic-form-content-item.item-wrapper.js-item.tab-pane.active [id$="-duration_type"] |
118 | 133 | |
134 | +${tender_form_lots_panel_edit_btn_locator} = jquery=a.btn.btn-default.btn-update.js-form-popup-add | |
135 | +${tender_form_lots_add_btn_locator} = jquery=[href$="#add-milestones"] | |
136 | +${tender_form_lots_title_locator} = jquery=.fancybox-is-open [id$="-title"] | |
137 | +${tender_form_lots_description_locator} = jquery=.fancybox-is-open [id$="-description"] | |
138 | +${tender_form_lots_title_en_locator} = jquery=.fancybox-is-open [id$="-title_en"] | |
139 | +${tender_form_lots_description_en_locator} = jquery=.fancybox-is-open [id$="-description_en"] | |
140 | +${tender_form_lots_value_amount_input_locator} = jquery=.fancybox-is-open [id$="-value_amount"] | |
141 | +${tender_form_lots_value_currency_input_locator} = jquery=.fancybox-is-open [id$="-value_currency"] | |
142 | +${tender_form_lots_value_added_tax_input_locator} = jquery=.fancybox-is-open [id$="-value_added_tax_included"] | |
143 | +${tender_form_lots_minimalStep_amount_input_locator} = jquery=.fancybox-is-open [id$="-min_step_amount"] | |
144 | +${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"] | |
145 | + | |
146 | +${tender_form_milestones_percentage_locator} = jquery=.js-item.tab-pane.active [id$="-percentage"] | |
147 | +${tender_form_milestones_code_locator} = jquery=.tab-pane.active [id$="-code"] | |
148 | +${tender_form_milestones_duration_days_locator} = jquery=-pane.active [id$="-duration_days"] | |
149 | +${tender_form_milestones_duration_type_locator} = jquery=-pane.active [id$="-duration_type"] | |
150 | + | |
119 | 151 | |
120 | 152 | ${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] |
121 | 153 | ${tender_form_submit_btn_locator} = jquery=#tender-form .js-submit-btn |
122 | 154 | ${tender_created_checker_element_locator} = id=tender-part-pjax |
155 | + | |
156 | +# tender view | |
157 | +${tender_view_checker_element_locator} = id=tender-general-info | |
158 | +${tender_sync_element_locator} = jquery=#aside-part-pjax .status-label .fa-refresh | |
159 | +${tender_uaid_text_locator} = jquery=#tender-general-info .tender-id .value | |
160 | + | ... | ... |
Please
register
or
login
to post a comment