Commit 74e6f1585cb1b694a5c6cd1b75b5b8f62bc8ac87

Authored by Playtenders
1 parent cda1d559

add lot and feature, milestone, items in lot for create tender. search plan. get…

… information from the plan
@@ -51,26 +51,28 @@ Resource playtender_tende @@ -51,26 +51,28 @@ Resource playtender_tende
51 51
52 open plan page by uaid ${plan_uaid} 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 [Arguments] ${user} ${tender_data} 66 [Arguments] ${user} ${tender_data}
56 [Documentation] Створити тендер з початковими даними tender_data. Повернути uaid створеного тендера. 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 open new tender form 72 open new tender form
60 - fill tender form ${tender_data['data']} 73 + fill tender form ${tender_prepared_data}
61 submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator} 74 submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator}
62 wait until page does not contain element with reloading ${tender_sync_element_locator} 75 wait until page does not contain element with reloading ${tender_sync_element_locator}
63 ${tender_uaid} = get text ${tender_uaid_text_locator} 76 ${tender_uaid} = get text ${tender_uaid_text_locator}
64 [Return] ${tender_uaid} 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,10 +65,9 @@ fill item form in opened popup
65 run keyword if condition is not none ${classification} select classification by code attributes ${item_form_popup_classification_edit_btn_locator} ${classification} 65 run keyword if condition is not none ${classification} select classification by code attributes ${item_form_popup_classification_edit_btn_locator} ${classification}
66 ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications 66 ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications
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} 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 ${region} = get from dictionary by keys ${data} deliveryAddress region 72 ${region} = get from dictionary by keys ${data} deliveryAddress region
74 run keyword if condition is not none ${region} select from visible list by label ${item_form_popup_delivery_region_id_input_locator} ${region} 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,11 +82,28 @@ fill item for tender form in opened popup
83 ${delivery_end_date} = get from dictionary by keys ${data} deliveryDate endDate 82 ${delivery_end_date} = get from dictionary by keys ${data} deliveryDate endDate
84 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} 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 fill milestone form in opened popup 100 fill milestone form in opened popup
87 [Arguments] ${data} 101 [Arguments] ${data}
88 [Documentation] заповнює відкриту форму Умови оплати згідно вказаних даних 102 [Documentation] заповнює відкриту форму Умови оплати згідно вказаних даних
89 103
  104 + Capture Page Screenshot
90 click visible element ${tender_form_milestones_add_btn_locator} 105 click visible element ${tender_form_milestones_add_btn_locator}
  106 + Capture Page Screenshot
91 ${title} = get from dictionary by keys ${data} title 107 ${title} = get from dictionary by keys ${data} title
92 run keyword if condition is not none ${title} select from visible list by value ${tender_form_milestones_title_locator} ${title} 108 run keyword if condition is not none ${title} select from visible list by value ${tender_form_milestones_title_locator} ${title}
93 ${description} = get from dictionary by keys ${data} description 109 ${description} = get from dictionary by keys ${data} description
@@ -115,17 +131,60 @@ fill feature form in opened popup @@ -115,17 +131,60 @@ fill feature form in opened popup
115 : FOR ${INDEX} IN RANGE 0 ${count} 131 : FOR ${INDEX} IN RANGE 0 ${count}
116 \ 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} 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 \ Capture Page Screenshot 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 \ Capture Page Screenshot 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 \ run keyword if condition is not none ${options[${INDEX}].value} input text to exist visible input ${tender_form_features_enum_value_locator} ${value} 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 \ Capture Page Screenshot 142 \ Capture Page Screenshot
127 \ Continue For Loop If '${INDEX}' == '${ex}' 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 #################################################### COMMON HELPERS #################################################### 189 #################################################### COMMON HELPERS ####################################################
131 ######################################################################################################################## 190 ########################################################################################################################
@@ -318,6 +377,15 @@ reload page and fail if element exists @@ -318,6 +377,15 @@ reload page and fail if element exists
318 ${exists} = __private__get_is_element_exist ${locator} 377 ${exists} = __private__get_is_element_exist ${locator}
319 run keyword if ${exists} == ${True} fail 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 ################################################### PRIVATE KEYWORDS ################################################### 390 ################################################### PRIVATE KEYWORDS ###################################################
323 ######################################################################################################################## 391 ########################################################################################################################
@@ -51,6 +51,10 @@ fill plan form @@ -51,6 +51,10 @@ fill plan form
51 ${items} = get from dictionary by keys ${data} items 51 ${items} = get from dictionary by keys ${data} items
52 run keyword if condition is not none ${items} fill plan form items ${items} 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 fill plan form items 58 fill plan form items
55 [Arguments] ${item_attributes_array} 59 [Arguments] ${item_attributes_array}
56 [Documentation] заповнення номенклатури плану 60 [Documentation] заповнення номенклатури плану
@@ -59,5 +63,75 @@ fill plan form items @@ -59,5 +63,75 @@ fill plan form items
59 \ click visible element ${plan_form_add_item_btn_locator} 63 \ click visible element ${plan_form_add_item_btn_locator}
60 \ wait until popup is visible 64 \ wait until popup is visible
61 \ fill item form in opened popup ${item_attributes} 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,11 +96,11 @@ def isodate_format(isodate, format):
96 iso_dt = parse_date(isodate) 96 iso_dt = parse_date(isodate)
97 return iso_dt.strftime(format) 97 return iso_dt.strftime(format)
98 98
99 -<<<<<<< HEAD 99 +
100 #Percentage conversion 100 #Percentage conversion
101 def multiply_hundred(number): 101 def multiply_hundred(number):
102 return number*100 102 return number*100
103 -======= 103 +
104 104
105 # prepares data for filling form in easiest way 105 # prepares data for filling form in easiest way
106 def prepare_tender_data(data): 106 def prepare_tender_data(data):
@@ -148,4 +148,4 @@ def prepare_tender_data(data): @@ -148,4 +148,4 @@ def prepare_tender_data(data):
148 del data['milestones'] 148 del data['milestones']
149 149
150 return data 150 return data
151 ->>>>>>> 3facf555e072d9d85d4bc44ada0c5c5280ea5820 151 +
@@ -36,22 +36,17 @@ fill tender form @@ -36,22 +36,17 @@ fill tender form
36 run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_description_locator} ${description} 36 run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_description_locator} ${description}
37 ${description_en} = get from dictionary by keys ${data} description_en 37 ${description_en} = get from dictionary by keys ${data} description_en
38 run keyword if condition is not none ${title} input text to exist visible input ${tender_form_general_tender_description_en_locator} ${description_en} 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 ${funders} = get from dictionary by keys ${data} funders 39 ${funders} = get from dictionary by keys ${data} funders
41 run keyword if condition is not none ${funders} Click Element ${tender_form_general_tender_funder_locator} 40 run keyword if condition is not none ${funders} Click Element ${tender_form_general_tender_funder_locator}
42 Capture Page Screenshot 41 Capture Page Screenshot
43 ${amount} = get from dictionary by keys ${data} value amount 42 ${amount} = get from dictionary by keys ${data} value amount
44 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} 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 ${currency} = get from dictionary by keys ${data} value currency 44 ${currency} = get from dictionary by keys ${data} value currency
47 run keyword if condition is not none ${currency} select from visible list by value ${tender_form_general_value_currency_input_locator} ${currency} 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 ${valueAddedTaxIncluded} = get from dictionary by keys ${data} value valueAddedTaxIncluded 46 ${valueAddedTaxIncluded} = get from dictionary by keys ${data} value valueAddedTaxIncluded
50 run keyword if condition is not none ${valueAddedTaxIncluded} run keyword if ${valueAddedTaxIncluded} Click Element ${tender_form_general_value_added_tax_input_locator} 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 ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount 48 ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount
53 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} 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 ${mainProcurementCategory} = get from dictionary by keys ${data} mainProcurementCategory 50 ${mainProcurementCategory} = get from dictionary by keys ${data} mainProcurementCategory
56 run keyword if condition is not none ${mainProcurementCategory} select from visible list by value ${tender_form_general_main_procurement_category_input_locator} ${mainProcurementCategory} 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 Capture Page Screenshot 52 Capture Page Screenshot
@@ -63,28 +58,23 @@ fill tender form @@ -63,28 +58,23 @@ fill tender form
63 ${tender_enquiry_period_end_date} = get from dictionary by keys ${data} enquiryPeriod endDate 58 ${tender_enquiry_period_end_date} = get from dictionary by keys ${data} enquiryPeriod endDate
64 # 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} 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 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} 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 ${tender_start_date} = get from dictionary by keys ${data} tenderPeriod startDate 61 ${tender_start_date} = get from dictionary by keys ${data} tenderPeriod startDate
68 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} 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 ${tender_end_date} = get from dictionary by keys ${data} tenderPeriod endDate 63 ${tender_end_date} = get from dictionary by keys ${data} tenderPeriod endDate
71 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} 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 click element ${tender_tender_quick_mode_locator} 65 click element ${tender_tender_quick_mode_locator}
74 66
75 ${classification} = get from dictionary by keys ${data} classification 67 ${classification} = get from dictionary by keys ${data} classification
76 run keyword if condition is not none ${classification} select classification by code attributes ${plan_form_classification_edit_btn_locator} ${classification} 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 ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications 69 ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications
79 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} 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 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} 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 submit current visible popup 72 submit current visible popup
83 73
84 # features 74 # features
85 ${features} = get from dictionary by keys ${data} features 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 # items 78 # items
89 ${items} = get from dictionary by keys ${data} items 79 ${items} = get from dictionary by keys ${data} items
90 run keyword if condition is not none ${items} fill tender form items ${items} 80 run keyword if condition is not none ${items} fill tender form items ${items}
@@ -92,6 +82,11 @@ fill tender form @@ -92,6 +82,11 @@ fill tender form
92 # milestones 82 # milestones
93 ${milestones} = get from dictionary by keys ${data} milestones 83 ${milestones} = get from dictionary by keys ${data} milestones
94 run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} 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 fill tender form items 91 fill tender form items
97 [Arguments] ${item_attributes_array} 92 [Arguments] ${item_attributes_array}
@@ -101,31 +96,39 @@ fill tender form items @@ -101,31 +96,39 @@ fill tender form items
101 \ click visible element ${tender_form_item_add_edit_btn_locator} 96 \ click visible element ${tender_form_item_add_edit_btn_locator}
102 \ wait until popup is visible 97 \ wait until popup is visible
103 \ fill item form in opened popup ${item_attributes} 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 fill tender form milestones 102 fill tender form milestones
108 [Arguments] ${milestone_attributes_array} 103 [Arguments] ${milestone_attributes_array}
109 [Documentation] заповнення умов оплати тендеру 104 [Documentation] заповнення умов оплати тендеру
110 105
111 - Capture Page Screenshot  
112 Log Many ${milestone_attributes_array} 106 Log Many ${milestone_attributes_array}
113 :FOR ${milestone_attributes} IN @{milestone_attributes_array} 107 :FOR ${milestone_attributes} IN @{milestone_attributes_array}
  108 +# \ click visible element ${button_selector}
114 \ click visible element ${tender_form_milestones_panel_edit_btn_locator} 109 \ click visible element ${tender_form_milestones_panel_edit_btn_locator}
  110 + \ capture page screenshot
115 \ wait until popup is visible 111 \ wait until popup is visible
116 \ fill milestone form in opened popup ${milestone_attributes} 112 \ fill milestone form in opened popup ${milestone_attributes}
117 \ submit current visible popup 113 \ submit current visible popup
118 114
119 fill tender form features 115 fill tender form features
120 - [Arguments] ${feature_attributes_array} 116 + [Arguments] ${feature_attributes_array} ${button_add}
121 [Documentation] заповнення нецінові крітерії тендеру 117 [Documentation] заповнення нецінові крітерії тендеру
122 118
123 - Capture Page Screenshot  
124 - Log Many ${feature_attributes_array}  
125 :FOR ${feature_attributes} IN @{feature_attributes_array} 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 #${tender_form_features_panel_edit_btn_locator} 121 #${tender_form_features_panel_edit_btn_locator}
128 \ wait until popup is visible 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 \ submit current visible popup 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,6 +66,17 @@ ${plan_form_kekv_classification_edit_btn_locator} = jquery=.fiel
66 ${plan_form_add_item_btn_locator} = jquery=#Items .js-form-popup-add 66 ${plan_form_add_item_btn_locator} = jquery=#Items .js-form-popup-add
67 ${plan_form_submit_btn_locator} = jquery=#plan-form .js-submit-btn 67 ${plan_form_submit_btn_locator} = jquery=#plan-form .js-submit-btn
68 ${plan_created_checker_element_locator} = id=plan-part-pjax 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 # plan view 81 # plan view
71 ${plan_view_checker_element_locator} = id=plan-general-info 82 ${plan_view_checker_element_locator} = id=plan-general-info
@@ -73,7 +84,7 @@ ${plan_sync_element_locator} = jquery=#asid @@ -73,7 +84,7 @@ ${plan_sync_element_locator} = jquery=#asid
73 ${plan_uaid_text_locator} = jquery=#plan-general-info .plan-id .value 84 ${plan_uaid_text_locator} = jquery=#plan-general-info .plan-id .value
74 85
75 # tender form 86 # tender form
76 -${tender_form_submit_success_msg} = дочекайтесь опублікування на сайті уповноваженого органу 87 +${tender_form_submit_success_msg} = Закупівля створена, дочекайтесь опублікування на сайті уповноваженого органу.
77 ${tender_form_locator} = id=tender-form 88 ${tender_form_locator} = id=tender-form
78 ${tender_form_procurement_method_type_input_locator} = jquery=[id$="form-procurement_method_type"] 89 ${tender_form_procurement_method_type_input_locator} = jquery=[id$="form-procurement_method_type"]
79 ${tender_multilot_locator} = jquery=[id$="form-is_multilot"] 90 ${tender_multilot_locator} = jquery=[id$="form-is_multilot"]
@@ -94,20 +105,24 @@ ${tender_tender_period_start_date_input_locator} = jquery=[id$= @@ -94,20 +105,24 @@ ${tender_tender_period_start_date_input_locator} = jquery=[id$=
94 ${tender_tender_period_end_date_input_locator} = jquery=[id$="form-tender_period_end_date"] 105 ${tender_tender_period_end_date_input_locator} = jquery=[id$="form-tender_period_end_date"]
95 ${tender_tender_quick_mode_locator} = jquery=[id$="form-quick_mode"] 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 ${tender_form_features_title_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title"]:first 110 ${tender_form_features_title_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title"]:first
100 ${tender_form_features_description_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-description"]:first 111 ${tender_form_features_description_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-description"]:first
101 ${tender_form_features_value_locator} = jquery=[id$="-value"] 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 ${tender_form_milestones_add_btn_locator} = jquery=[href$="#add-milestones"] 126 ${tender_form_milestones_add_btn_locator} = jquery=[href$="#add-milestones"]
112 ${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"] 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 ${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"] 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,7 +131,30 @@ ${tender_form_milestones_code_locator} = jquery=.mile
116 ${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"] 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 ${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"] 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 ${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] 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 ${tender_form_submit_btn_locator} = jquery=#tender-form .js-submit-btn 153 ${tender_form_submit_btn_locator} = jquery=#tender-form .js-submit-btn
122 ${tender_created_checker_element_locator} = id=tender-part-pjax 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