Commit 8f0c6a365c0961caa90ffc45e67b3a3067d14919

Authored by Playtenders
1 parent 9279c1cb

reporting

... ... @@ -142,6 +142,7 @@ Resource playtender_tende
142 142 [Documentation] Отримати значення поля field_name для тендера tender_uaid.
143 143
144 144 open tender page by uaid ${tender_uaid}
  145 + wait until page does not contain element with reloading ${tender_sync_element_locator}
145 146 ${field_name} = set variable tender.${field_name}.value
146 147 ${value} = get field_value by field_name on opened page ${field_name}
147 148 # ${value} = get tender field value by name ${field_name}
... ... @@ -229,6 +230,30 @@ Resource playtender_tende
229 230 add document in lot ${filepath} ${lot_id}
230 231 save tender form and wait synchronization
231 232
  233 +Змінити лот
  234 + [Arguments] ${username} ${tender_uaid} ${lot_id} ${fieldname} ${fieldvalue}
  235 + [Documentation] Змінити значення поля fieldname лоту з lot_id в описі
  236 + ... для тендера tender_uaid на fieldvalue.
  237 +
  238 + ${tender_data} = generate dictionary from field path and value ${fieldname} ${fieldvalue}
  239 + open tender form by uaid ${tender_uaid}
  240 + #выбор нужного лота
  241 + click visible element ${tender_form_lots_edit_lot1_btn_locator}
  242 + wait until popup is visible
  243 + fill lot form in opened popup ${tender_data}
  244 + submit current visible popup
  245 + save tender form and wait synchronization
  246 +
  247 +Додати предмет закупівлі в лот
  248 + [Arguments] ${username} ${tender_uaid} ${lot_id} ${item}
  249 + [Documentation] Додати предмет item в лот з lot_id в описі для тендера tender_uaid.
  250 +
  251 + open tender form by uaid ${tender_uaid}
  252 + click visible element ${tender_form_lots_add_item_btn_locator}
  253 + ${items} = create list ${item}
  254 + fill tender form items ${items}
  255 + save tender form and wait synchronization
  256 +
232 257
233 258 ########################################################################################################################
234 259 ################################################### END LOT KEYWORDS #################################################
... ... @@ -268,7 +293,8 @@ Resource playtender_tende
268 293 [Documentation] Отримати значення поля field_name з нецінового показника з feature_id в описі для тендера tender_uaid.
269 294
270 295 open tender form by uaid ${tender_uaid}
271   - ${value} = get feature information ${feature_id} ${field_name}
  296 +# ${field_name} = set variable ${feature_id}.tender.feature.${field_name}.value
  297 + ${value} = get field_value by field_name on opened page ${field_name}
272 298
273 299 Видалити неціновий показник
274 300 [Arguments] ${username} ${tender_uaid} ${feature_id} ${obj_id}=Empty
... ...
... ... @@ -22,7 +22,7 @@ fill bid form
22 22 run keyword if condition is not none ${value} input number5 to exist visible input ${bid_form_value_yearly_payments_percentage_input_locator} ${yearly_payments_percentage}
23 23 ${contract_duration_years} = get from dictionary by keys ${bid} value contractDuration years
24 24 run keyword if condition is not none ${contract_duration_years} input text to exist visible input ${bid_form_value_contract_duration_years_input_locator} ${bid.data.value.contractDuration.years}
25   - ${contract_duration_days} = get from dictionary by keys ${bid} value contractDuration days
  25 + ${contract_duration_days} = get from dictionary by keys ${bid} value contractDuration days
26 26 run keyword if condition is not none ${contract_duration_days} input text to exist visible input ${bid_form_value_contract_duration_days_input_locator} ${bid.data.value.contractDuration.days}
27 27 ${annual_costs_reduction} = get from dictionary by keys ${bid} value annualCostsReduction
28 28 run keyword if condition is not none ${annual_costs_reduction} Подати цінову пропозицію Esco AnnualCostsReduction ${value.annualCostsReduction}
... ... @@ -63,7 +63,7 @@ fill bid form features
63 63 [Arguments] ${values}
64 64 [Documentation] Заповнити цінову пропозицію Esco (параметр AnnualCostsReduction).
65 65
66   - ${input_index }= set variable 1
  66 + ${input_index } = set variable 1
67 67 : FOR ${value} IN @{values}
68 68 \ ${bid_form_value_annual_costs_reduction_input_locator} replace string ${bid_form_value_annual_costs_reduction_input_locator_tpl} %index% ${input_index}
69 69 \ input float ${bid_form_value_annual_costs_reduction_input_locator} ${value}
... ...
1 1 # -*- coding: utf-8 -
2 2 import re
  3 +import copy
3 4
4 5 import dateutil.parser
5 6 from iso8601 import parse_date
... ... @@ -227,7 +228,10 @@ def multiply_hundred(number):
227 228
228 229
229 230 # prepares data for filling form in easiest way
230   -def prepare_tender_data(data):
  231 +def prepare_tender_data(data_original):
  232 + # preventing change data in global view
  233 + data = copy.deepcopy(data_original)
  234 +
231 235 # check if data is for multilot
232 236 if 'lots' not in data:
233 237 return data
... ... @@ -326,3 +330,52 @@ def set_value_minimalStepPercentage(value):
326 330
327 331 def convert_esco__float_to_string(number):
328 332 return '{0:.5f}'.format(float(number))
  333 +
  334 +def generate_fake_award_data():
  335 + myList = {}
  336 +# myList = [('suppliers', 'address', 'countryName', u'Україна'), ('suppliers', 'address', 'locality', u'Переяслав-Хмельницький'), ('suppliers', 'address', 'postalCode', u'01111'), ('suppliers', 'address', 'region', u'Київська область'), ('suppliers', 'address', 'streetAddress', u'Тестова вулиця, 21-29'), ('suppliers', 'address', 'countryName', 'Україна'), ('suppliers', 'contactPoint', 'countryName', u'Україна'), ('suppliers', 'contactPoint', 'email', u'test_e_mail@ukr.net'), ('suppliers', 'contactPoint', 'faxNumber', u'9998877'), ('suppliers', 'contactPoint', 'name', u'ТЕСТ ФОП 1'), ('suppliers', 'address', 'telephone', u'+380997778899'), ('suppliers', 'contactPoint', 'url', 'http://www.page.gov.ua/'), ('suppliers', 'identifier', 'id', u'2833906462'), ('suppliers', 'identifier', 'legalName', u'Тестовий ФОП 1'), ('suppliers', 'contactPoint', 'faxNumber', u'9998877'), ('suppliers', 'identifier', 'scheme', u'UA-EDR'), ('suppliers', 'scale', 'sme'), ('value', 'amount', '5079'), ('value', 'currency', 'UAH'), ('value', 'valueAddedTaxIncluded', 'true')]
  337 + print myList
  338 +
  339 + address = {}
  340 + print myList
  341 + myList["address"] = {
  342 + "countryName": "Україна",
  343 + "locality": "Переяслав - Хмельницький",
  344 + "postalCode": "01111",
  345 + "region": "Київська область",
  346 + "streetAddress": "Тестова вулиця, 21 - 29"
  347 + }
  348 + print myList
  349 +
  350 + contactPoint = {}
  351 + myList["contactPoint"] = {
  352 + "email": "test_e_mail @ ukr.net",
  353 + "faxNumber": "9998877",
  354 + "name": "ТЕСТ ФОП 1",
  355 + "telephone": "+380997778899",
  356 + "url": "http: // www.page.gov.ua /"
  357 + }
  358 + print myList
  359 + identifier = {}
  360 + myList["identifier"] = {
  361 + "id": "2833906462",
  362 + "legalName": "Тестовий ФОП 1",
  363 + "scheme": "UA-EDR"
  364 + }
  365 + value = {}
  366 + myList["value"] = {
  367 + "amount": "56333",
  368 + "currency": "UAH",
  369 + "valueAddedTaxIncluded": "true"
  370 + }
  371 + name = {}
  372 + myList["name"] = {
  373 + "amount": "56333",
  374 + "currency": "UAH",
  375 + "valueAddedTaxIncluded": "true"
  376 + }
  377 + print myList
  378 +
  379 + suppliers = {}
  380 + suppliers = [address, contactPoint, identifier, value]
  381 + return suppliers
... ...
... ... @@ -47,16 +47,22 @@ fill tender form
47 47 [Arguments] ${data}
48 48 [Documentation] заповнення форми з масива даних
49 49
  50 + ${awards} = Run Keyword And Ignore Error playtender_service.Generate Fake Award Data
  51 + #${awards} = Run Keyword And Ignore Error generate_fake_award_data()
  52 + Run Keyword And Ignore Error fill award reporting form in opened popup ${awards}
50 53 fill tender general info ${data}
51 54 ${features} = get from dictionary by keys ${data} features
52 55 run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_general_panel_add_feature_btn_locator}
53 56 ${items} = get from dictionary by keys ${data} items
54 57 run keyword if condition is not none ${items} fill tender form items ${items}
55 58 ${milestones} = get from dictionary by keys ${data} milestones
56   - run keyword if condition is not none ${milestones} fill tender form milestones ${milestones}
  59 + run keyword and ignore error run keyword if condition is not none ${milestones} fill tender form milestones ${milestones}
57 60 ${lots} = get from dictionary by keys ${data} lots
58 61 run keyword if condition is not none ${lots} fill tender form lots ${lots}
59   - Run Keyword And Ignore Error fill tender required documents
  62 + ${awards} = Run Keyword And Ignore Error playtender_service.Generate Fake Award Data
  63 + #${awards} = Run Keyword And Ignore Error playtender_service.generate_fake_award_data()
  64 + Run Keyword And Ignore Error fill award reporting form in opened popup ${awards}
  65 + Run Keyword And Ignore Error fill tender required documents
60 66
61 67 fill tender general info
62 68 [Arguments] ${data}
... ... @@ -65,6 +71,7 @@ fill tender general info
65 71
66 72 Execute Javascript $(window).scrollTop(0)
67 73 wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
  74 + wait until page contains element ${tender_form_procurement_method_type_input_locator}
68 75 ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType
69 76 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}
70 77 wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
... ... @@ -107,7 +114,7 @@ fill tender general info
107 114 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}
108 115 ${tender_end_date} = get from dictionary by keys ${data} tenderPeriod endDate
109 116 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}
110   - click element ${tender_tender_quick_mode_locator}
  117 + run keyword and ignore error click element ${tender_tender_quick_mode_locator}
111 118 ${classification} = get from dictionary by keys ${data} classification
112 119 run keyword if condition is not none ${classification} select classification by code attributes ${plan_form_classification_edit_btn_locator} ${classification}
113 120 ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications
... ... @@ -143,13 +150,17 @@ fill tender form items
143 150 [Arguments] ${item_attributes_array}
144 151 [Documentation] заповнення номенклатури тендеру
145 152
  153 +# ${report} = set variable if "${mode}" in "reporting" 1 0
146 154 :FOR ${item_attributes} IN @{item_attributes_array}
147   - \ click visible element ${tender_form_item_add_edit_btn_locator}
  155 + \ run keyword and ignore error click visible element ${tender_form_item_add_edit_btn_locator}
  156 +# \ run keyword and ignore error run keyword if "${mode}" not in "reporting" or ${report} == 2 click visible element ${tender_form_item_add_edit_btn_locator}
  157 +# \ run keyword and ignore error run keyword if "${mode}" in "reporting" and ${report} == 1 click visible element ${tender_form_lots_add_item_reporting_btn_locator}
148 158 \ wait until popup is visible
149 159 \ fill tender item form in opened popup ${item_attributes}
150 160 \ submit current visible popup
151 161 \ ${features} = get from dictionary by keys ${item_attributes} features
152 162 \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_item_panel_add_feature_btn_locator}
  163 +# \ ${report} = set variable if "${mode}" in "reporting" 2
153 164
154 165 fill tender item form in opened popup
155 166 [Arguments] ${data}
... ... @@ -217,17 +228,15 @@ fill tender form features2
217 228
218 229 click visible element ${add_btn_locator}
219 230 wait until popup is visible
220   - click visible element ${tender_form_features_panel_edit_btn_locator}
221   - wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
222   - fill feature form in opened popup ${feature_attributes_array}
  231 + click visible element ${tender_form_features_panel_edit_btn_locator}
  232 + wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
  233 + fill feature form in opened popup ${feature_attributes_array}
223 234 submit current visible popup
224 235
225 236 fill feature form in opened popup
226 237 [Arguments] ${data}
227 238 [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних
228 239
229   - log many ${data}
230   - capture page screenshot
231 240 ${title} = get from dictionary by keys ${data} title
232 241 run keyword if condition is not none ${title} input text to exist visible input ${feature_form_popup_title_input_locator} ${title}
233 242 ${description} = get from dictionary by keys ${data} description
... ... @@ -256,8 +265,6 @@ fill feature form in opened popup2
256 265 [Arguments] ${data}
257 266 [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних
258 267
259   - log many ${data}
260   - capture page screenshot
261 268 ${title} = get from dictionary by keys ${data} title
262 269 run keyword if condition is not none ${title} input text to exist visible input ${feature_form_popup_title_input_locator} ${title}
263 270 ${description} = get from dictionary by keys ${data} description
... ... @@ -302,6 +309,7 @@ fill lot form in opened popup
302 309 [Arguments] ${data}
303 310 [Documentation] заповнює відкриту форму згідно вказаних даних
304 311
  312 + log many ${data}
305 313 ${title} = get from dictionary by keys ${data} title
306 314 run keyword if condition is not none ${title} input text to visible input ${lot_form_popup_title_input_locator} ${title}
307 315 ${title_en} = get from dictionary by keys ${data} title_en
... ... @@ -317,8 +325,8 @@ fill lot form in opened popup
317 325 run keyword if condition is not none ${amount} input number to exist visible input ${lot_form_popup_value_amount_input_locator} ${amount}
318 326 ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount
319 327 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}
320   - ${min_step_percentage} = get from dictionary by keys ${data} minimalStepPercentage
321   - 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}
  328 +# ${min_step_percentage} = get from dictionary by keys ${data} minimalStepPercentage
  329 +# 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}
322 330
323 331 ${yearly_payments_percentage_range} = get from dictionary by keys ${data} yearlyPaymentsPercentageRange
324 332 ${yearly_payments_percentage_range} = Run keyword If '${yearly_payments_percentage_range}' != '${None}' set_value_minimalStepPercentage ${yearly_payments_percentage_range}
... ... @@ -350,6 +358,24 @@ fill tender required documents
350 358 wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
351 359 submit current visible popup
352 360
  361 +fill award reporting form in opened popup
  362 + [Arguments] ${data}
  363 + [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних
  364 +
  365 + log many ${data}
  366 + ${suppliers} = get from dictionary by keys ${data} suppliers address
  367 + run keyword if condition is not none ${title} select from visible list by value ${milestone_form_popup_title_input_locator} ${title}
  368 + ${description} = get from dictionary by keys ${data} description
  369 + run keyword if condition is not none ${description} input text to exist visible input ${milestone_form_popup_description_input_locator} ${description}
  370 + ${percentage} = get from dictionary by keys ${data} percentage
  371 + run keyword if condition is not none ${percentage} input text to exist visible input ${milestone_form_popup_percentage_input_locator} ${percentage}
  372 + ${code} = get from dictionary by keys ${data} code
  373 + run keyword if condition is not none ${code} select from visible list by value ${milestone_form_popup_code_input_locator} ${code}
  374 + ${duration_days} = get from dictionary by keys ${data} duration days
  375 + run keyword if condition is not none ${duration_days} input text to exist visible input ${milestone_form_popup_duration_days_input_locator} ${duration_days}
  376 + ${duration_type} = get from dictionary by keys ${data} duration type
  377 + run keyword if condition is not none ${duration_type} select from visible list by value ${milestone_form_popup_duration_type_input_locator} ${duration_type}
  378 +
353 379 open tender search form
354 380 [Documentation] відкриває сторінку з пошуком тендерів
355 381
... ...
... ... @@ -113,9 +113,10 @@ ${tender_form_general_panel_add_document_btn_locator} = jquery=#coll
113 113 ${tender_form_general_panel_edit_add_document_btn_locator} = jquery=div[data-form="general-form-popup"] .js-form-hidden-popup-panel:last a.btn-update
114 114
115 115 #${tender_form_item_add_edit_btn_locator} = jquery=.js-form-group-popup-panel .panel-heading .actions-wrapper .js-form-popup-add
116   -#последняя кнопка “Додати” для номенклатуры (для лотовой и безлотовой)
  116 +#последняя кнопка “Додати” для номенклатуры (для лотовой и безлотовой и репортинг)
117 117 ${tender_form_item_add_edit_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last > .panel-heading .js-form-popup-add
118 118 ${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"]
  119 +${tender_form_item_edit_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last > .panel-heading .js-form-popup-add
119 120
120 121 #${tender_form_milestones_panel_edit_btn_locator} = jquery=[data-url$="#milestones-form-popup"]
121 122 ${tender_form_milestones_panel_edit_btn_locator} = jquery=.form-popup-panel[data-attribute="milestones"]:last > .panel-heading .js-form-popup-update
... ... @@ -181,16 +182,19 @@ ${tender_milestones_0_code_value_locator} = jquery=#tend
181 182 ${tender_milestones_0_title_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:first .info-row.title
182 183 ${tender_milestones_0_percentage_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:first .info-row.percentage
183 184 ${tender_milestones_0_duration_days_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:first .info-row.duration_days
  185 +${tender_milestones_0_duration_days_value_type} = integer
184 186 ${tender_milestones_0_duration_type_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:first .info-row.duration_type
185 187 ${tender_milestones_1_code_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.code
186 188 ${tender_milestones_1_title_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.title
187 189 ${tender_milestones_1_percentage_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.percentage
188 190 ${tender_milestones_1_duration_days_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.duration_days
  191 +${tender_milestones_1_duration_days_value_type} = integer
189 192 ${tender_milestones_1_duration_type_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.duration_type
190 193 ${tender_milestones_2_code_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.code
191 194 ${tender_milestones_2_title_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.title
192 195 ${tender_milestones_2_percentage_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.percentage
193 196 ${tender_milestones_2_duration_days_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.duration_days
  197 +${tender_milestones_2_duration_days_value_type} = integer
194 198 ${tender_milestones_2_duration_type_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.duration_type
195 199 ${tender_value_amount_value_locator} = jquery=#tender-general-info .budget-amount.hidden
196 200 ${tender_value_amount_value_type} = float
... ... @@ -231,6 +235,8 @@ ${tender_lot_0_minimal_step_amount_value_locator} = jquery=#lots
231 235 ${tender_lot_0_minimal_step_amount_value_type} = float
232 236 ${tender_lot_0_lot_0_minimal_step_amount_currency_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden
233 237 ${tender_lot_0_lot_0_minimal_step_amount_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden
  238 +${tender_form_lots_edit_lot1_btn_locator} = jquery=#Lots #collapseLots #Lots0 .actions-wrapper a.btn.btn-default.btn-update.js-form-popup-update:first
  239 +${tender_form_lots_add_item_reporting_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last #Items0 .js-form-popup-update
234 240
235 241 #item
236 242 ${tender_item_1_tabs_item_btn_locator} jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0)
... ... @@ -259,6 +265,10 @@ ${tender_item_delivery_end_date_value_locator} = jquery=.tabs
259 265 ${tender_item_delivery_latitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-latitude
260 266 ${tender_item_delivery_longitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-longitude
261 267
  268 +${tender_lot_item_description_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .textvalue.hidden
  269 +
  270 +
  271 +${tender_form_general_panel_update_award_reporting_btn_locator} = jquery=#Award .js-form-popup-update
262 272
263 273 #add feature
264 274 #${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"]
... ... @@ -266,3 +276,7 @@ ${tender_form_general_panel_update_feature_btn_locator} = jquery=#coll
266 276 ${tender_feature_dell_btn_locator} = jquery=.fancybox-is-open .nav.nav-pills.js-nav.allow-empty .fa.fa-times:last
267 277 ${tender_feature_form_submit_success_msg} = Ви впевнені що бажаєте видалити поточний неціновий критерій?
268 278 ${tender_feature_dell_submit_btn_locator} = jquery=.animated-content .js-btn-confirm
  279 +
  280 +${tender_features_0_title_value_locator} = jquery=.row--value-list .value .underline__inner:nth(1)
  281 +${tender_features_1_title_value_locator} = jquery=.row--value-list .value .underline__inner:nth(0)
  282 +${tender_features_2_title_value_locator} = jquery=.row--value-list .value .underline__inner:nth(2)
\ No newline at end of file
... ...
Please register or login to post a comment