Commit 1351b5420b74e3f727b0c9f4b0953ac114aef1f1

Authored by Playtenders
1 parent 5f3fe40f

add feature and milestone for create tender

... ... @@ -55,10 +55,9 @@ Resource playtender_tende
55 55 [Arguments] ${user} ${tender_data}
56 56 [Documentation] Створити тендер з початковими даними tender_data. Повернути uaid створеного тендера.
57 57
58   - config acceleration for new tender form ${tender_data['data']}
59 58 open new tender form
60 59 fill tender form ${tender_data['data']}
61   - submit form and check result ${plan_form_submit_btn_locator} ${plan_form_submit_success_msg} ${plan_created_checker_element_locator}
62   - wait until page does not contain element with reloading ${plan_sync_element_locator}
63   - ${plan_uaid} = get text ${plan_uaid_text_locator}
64   - [Return] ${plan_uaid}
  60 + submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator}
  61 + wait until page does not contain element with reloading ${tender_sync_element_locator}
  62 + ${tender_uaid} = get text ${tender_uaid_text_locator}
  63 + [Return] ${tender_uaid}
... ...
... ... @@ -66,6 +66,66 @@ fill item form in opened popup
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 68
  69 +fill item for tender form in opened popup
  70 + [Arguments] ${data}
  71 + [Documentation] заповнює відкриту форму згідно вказаних даних
  72 +
  73 + ${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}
  75 + ${postal_code} = get from dictionary by keys ${data} deliveryAddress postalCode
  76 + run keyword if condition is not none ${postal_code} input text to visible input ${item_form_popup_delivery_postal_code_input_locator} ${postal_code}
  77 + ${locality} = get from dictionary by keys ${data} deliveryAddress locality
  78 + run keyword if condition is not none ${locality} input text to visible input ${item_form_popup_delivery_locality_input_locator} ${locality}
  79 + ${street_address} = get from dictionary by keys ${data} deliveryAddress streetAddress
  80 + run keyword if condition is not none ${street_address} input text to visible input ${item_form_popup_delivery_street_address_input_locator} ${street_address}
  81 + ${delivery_start_date} = get from dictionary by keys ${data} deliveryDate startDate
  82 + run keyword if condition is not none ${delivery_start_date} run keyword and ignore error input datetime to exist visible input ${item_form_popup_delivery_start_date_input_locator} ${delivery_start_date}
  83 + ${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}
  85 +
  86 +fill milestone form in opened popup
  87 + [Arguments] ${data}
  88 + [Documentation] заповнює відкриту форму Умови оплати згідно вказаних даних
  89 +
  90 + click visible element ${tender_form_milestones_add_btn_locator}
  91 + ${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}
  93 + ${description} = get from dictionary by keys ${data} description
  94 + run keyword if condition is not none ${description} input text to exist visible input ${tender_form_milestones_description_locator} ${description}
  95 + ${percentage} = get from dictionary by keys ${data} percentage
  96 + run keyword if condition is not none ${percentage} input text to exist visible input ${tender_form_milestones_percentage_locator} ${percentage}
  97 + ${code} = get from dictionary by keys ${data} code
  98 + run keyword if condition is not none ${code} select from visible list by value ${tender_form_milestones_code_locator} ${code}
  99 + ${duration_days} = get from dictionary by keys ${data} duration days
  100 + run keyword if condition is not none ${duration_days} input text to exist visible input ${tender_form_milestones_duration_days_locator} ${duration_days}
  101 + ${duration_type} = get from dictionary by keys ${data} duration type
  102 +
  103 +fill feature form in opened popup
  104 + [Arguments] ${data}
  105 + [Documentation] заповнює відкриту форму Нецінові крітерії згідно вказаних даних
  106 +
  107 + click visible element ${tender_form_features_panel_edit_btn_locator}
  108 + ${title} = get from dictionary by keys ${data} title
  109 + run keyword if condition is not none ${title} input text to exist visible input ${tender_form_features_title_locator} ${title}
  110 + ${description} = get from dictionary by keys ${data} description
  111 + run keyword if condition is not none ${description} input text to exist visible input ${tender_form_features_description_locator} ${description}
  112 + ${options} = Get From Dictionary ${data} enum
  113 + ${count} = Get Length ${options}
  114 + ${ex}= Evaluate ${count} - 1
  115 + : 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}
  117 + \ 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}
  120 + \ 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}
  125 + \ 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
  127 + \ Continue For Loop If '${INDEX}' == '${ex}'
  128 + \ Run Keyword If ${count} != 1 click visible element ${tender_form_features_panel_edit_btn_locator}
69 129 ########################################################################################################################
70 130 #################################################### COMMON HELPERS ####################################################
71 131 ########################################################################################################################
... ... @@ -106,6 +166,14 @@ input datetime to visible input
106 166
107 167 input date to visible input ${locator} ${isodate} ${format}
108 168
  169 +input datetime to exist visible input
  170 + [Arguments] ${locator} ${isodate} ${format}=%d.%m.%Y %H:%M
  171 + [Documentation] перевіряє чи елемент видимий у вікні браузера, після чого заповнює його відформатовоною датою
  172 +
  173 + ${input_exists} = __private__get_is_element_exist ${locator}
  174 + run keyword if ${input_exists} == ${True} input date to visible input ${locator} ${isodate} ${format}
  175 + ... ELSE __private__log input ${locator} does not exist
  176 +
109 177 input number to visible input
110 178 [Arguments] ${locator} ${number}
111 179 [Documentation] робить елемент видимим, число перетворює в строку і записує в поле
... ... @@ -113,6 +181,14 @@ input number to visible input
113 181 ${number} = convert float to string ${number}
114 182 input text to visible input ${locator} ${number}
115 183
  184 +input number to exist visible input
  185 + [Arguments] ${locator} ${text}
  186 + [Documentation] перевіряє чи елемент існує і видимий у вікні браузера, після чого заповнює його
  187 +
  188 + ${input_exists} = __private__get_is_element_exist ${locator}
  189 + run keyword if ${input_exists} == ${True} input number to visible input ${locator} ${text}
  190 + ... ELSE __private__log input ${locator} does not exist
  191 +
116 192 input month.year of date to visible input
117 193 [Arguments] ${locator} ${isodate}
118 194 [Documentation] робить елемент видимим, витягує місяць.рік і записує в поле
... ...
... ... @@ -95,3 +95,7 @@ def convert_float_to_string(number):
95 95 def isodate_format(isodate, format):
96 96 iso_dt = parse_date(isodate)
97 97 return iso_dt.strftime(format)
  98 +
  99 +#Percentage conversion
  100 +def multiply_hundred(number):
  101 + return number*100
... ...
... ... @@ -9,15 +9,6 @@ open new tender form
9 9
10 10 open page and wait element by locator ${broker_baseurl}/tender/create ${tender_form_locator}
11 11
12   -config acceleration for new tender form
13   - [Arguments] ${data}
14   - [Documentation] задати акселератор створення тендеру
15   -
16   - ${procurement_method_type} = get from dictionary by keys ${data} tender procurementMethodType
17   - Run Keyword If '${SUITE_NAME}' == 'Tests Files.Complaints' and '${procurement_method_type}' == 'belowThreshold' Go To ${broker_baseurl}/utils/config?tacceleration=360
18   - Run Keyword If '${procurement_method_type}' == 'negotiation' Go To ${broker_baseurl}/utils/config?tacceleration=1080
19   - Run Keyword If '${procurement_method_type}' == 'aboveThresholdUA.defense' Go To ${broker_baseurl}utils/config?tacceleration=720
20   -
21 12 open tender page by uaid
22 13 [Arguments] ${uaid}
23 14 [Documentation] відкриває сторінку з тендером
... ... @@ -29,44 +20,112 @@ fill tender form
29 20 [Documentation] заповнення форми з масива даних
30 21
31 22 # hidden inputs
32   - ${budget_id} = get from dictionary by keys ${data} budget id
33   - run keyword if condition is not none ${budget_id} input text to hidden input ${plan_form_budget_id_input_locator} ${budget_id}
34   - ${project_id} = get from dictionary by keys ${data} budget project id
35   - run keyword if condition is not none ${project_id} input text to hidden input ${plan_form_project_id_input_locator} ${project_id}
36   - ${project_name} = get from dictionary by keys ${data} budget project name
37   - run keyword if condition is not none ${project_name} input text to hidden input ${plan_form_project_name_input_locator} ${project_name}
  23 + Log Many ${data}
38 24
39 25 # general info
  26 + ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType
  27 + 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}
  28 + ${lots} = get from dictionary by keys ${data} lots
  29 + run keyword if condition is not none ${lots} Run Keyword And Ignore Error Click Element ${tender_multilot_locator}
40 30 open popup by btn locator ${plan_form_general_panel_edit_btn_locator}
41   - ${procurement_method_type} = get from dictionary by keys ${data} tender procurementMethodType
42   - run keyword if condition is not none ${procurement_method_type} select from visible list by value ${plan_form_procurement_method_type_input_locator} ${procurement_method_type}
43   - ${budget_description} = get from dictionary by keys ${data} budget description
44   - run keyword if condition is not none ${budget_description} input text to visible input ${plan_form_title_input_locator} ${budget_description}
45   - ${tender_start_date} = get from dictionary by keys ${data} tender tenderPeriod startDate
46   - run keyword if condition is not none ${tender_start_date} select from visible list by year of date ${plan_form_year_input_locator} ${tender_start_date}
47   - run keyword if condition is not none ${tender_start_date} input month.year of date to visible input ${plan_form_tender_start_date_input_locator} ${tender_start_date}
48   - ${amount} = get from dictionary by keys ${data} budget amount
49   - run keyword if condition is not none ${amount} input number to visible input ${plan_form_value_amount_input_locator} ${amount}
50   - ${currency} = get from dictionary by keys ${data} budget currency
51   - run keyword if condition is not none ${currency} select from visible list by value ${plan_form_value_currency_input_locator} ${currency}
  31 + ${title} = get from dictionary by keys ${data} title
  32 + run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_title_locator} ${title}
  33 + ${title_en} = get from dictionary by keys ${data} title_en
  34 + run keyword if condition is not none ${title} input text to exist visible input ${tender_form_general_tender_title_en_locator} ${title_en}
  35 + ${description} = get from dictionary by keys ${data} 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
  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
  41 + run keyword if condition is not none ${funders} Click Element ${tender_form_general_tender_funder_locator}
  42 + Capture Page Screenshot
  43 + ${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}
  45 + Capture Page Screenshot
  46 + ${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}
  48 + Capture Page Screenshot
  49 + ${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}
  51 + Capture Page Screenshot
  52 + ${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}
  54 + Capture Page Screenshot
  55 + ${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}
  57 + Capture Page Screenshot
  58 +
  59 + ${tender_enquiry_period_start_date} = get from dictionary by keys ${data} enquiryPeriod startDate
  60 +# 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}
  61 + run keyword if condition is not none ${tender_enquiry_period_start_date} input datetime to visible input ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date}
  62 + Capture Page Screenshot
  63 + ${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}
  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}
  66 + Capture Page Screenshot
  67 + ${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}
  69 + Capture Page Screenshot
  70 + ${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}
  72 + Capture Page Screenshot
  73 + click element ${tender_tender_quick_mode_locator}
  74 +
52 75 ${classification} = get from dictionary by keys ${data} classification
53 76 run keyword if condition is not none ${classification} select classification by code attributes ${plan_form_classification_edit_btn_locator} ${classification}
  77 + Capture Page Screenshot
54 78 ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications
55 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}
  80 + Capture Page Screenshot
56 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}
57 82 submit current visible popup
58 83
  84 + # features
  85 + ${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}
59 88 # items
60 89 ${items} = get from dictionary by keys ${data} items
61   - run keyword if condition is not none ${items} fill plan form items ${items}
  90 + run keyword if condition is not none ${items} fill tender form items ${items}
  91 +
  92 + # milestones
  93 + ${milestones} = get from dictionary by keys ${data} milestones
  94 + run keyword if condition is not none ${milestones} fill tender form milestones ${milestones}
62 95
63   -fill plan form items
  96 +fill tender form items
64 97 [Arguments] ${item_attributes_array}
65   - [Documentation] заповнення номенклатури плану
  98 + [Documentation] заповнення номенклатури тендеру
66 99
67 100 :FOR ${item_attributes} IN @{item_attributes_array}
68   - \ click visible element ${plan_form_add_item_btn_locator}
  101 + \ click visible element ${tender_form_item_add_edit_btn_locator}
69 102 \ wait until popup is visible
70 103 \ fill item form in opened popup ${item_attributes}
  104 + \ fill item for tender form in opened popup ${item_attributes}
  105 + \ submit current visible popup
  106 +
  107 +fill tender form milestones
  108 + [Arguments] ${milestone_attributes_array}
  109 + [Documentation] заповнення умов оплати тендеру
  110 +
  111 + Capture Page Screenshot
  112 + Log Many ${milestone_attributes_array}
  113 + :FOR ${milestone_attributes} IN @{milestone_attributes_array}
  114 + \ click visible element ${tender_form_milestones_panel_edit_btn_locator}
  115 + \ wait until popup is visible
  116 + \ fill milestone form in opened popup ${milestone_attributes}
  117 + \ submit current visible popup
  118 +
  119 +fill tender form features
  120 + [Arguments] ${feature_attributes_array}
  121 + [Documentation] заповнення нецінові крітерії тендеру
  122 +
  123 + Capture Page Screenshot
  124 + Log Many ${feature_attributes_array}
  125 + :FOR ${feature_attributes} IN @{feature_attributes_array}
  126 + \ click visible element ${tender_form_general_panel_add_feature_btn_locator}
  127 + #${tender_form_features_panel_edit_btn_locator}
  128 + \ wait until popup is visible
  129 + \ fill feature form in opened popup ${feature_attributes}
71 130 \ submit current visible popup
72 131
... ...
... ... @@ -39,6 +39,13 @@ ${item_form_popup_quantity_input_locator} = jquery=.fanc
39 39 ${item_form_popup_unit_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-unit_id']
40 40 ${item_form_popup_classification_edit_btn_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content .js-classification-input-wrapper [data-toggle="classification"]
41 41 ${item_form_popup_additional_classification_edit_btn_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content .js-additional-classification-input-wrapper [data-toggle="additional-classification"]
  42 +${item_form_popup_delivery_region_id_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-delivery_region_id']
  43 +${item_form_popup_delivery_postal_code_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-delivery_postal_code']
  44 +${item_form_popup_delivery_locality_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-delivery_locality']
  45 +${item_form_popup_delivery_street_address_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-delivery_street_address']
  46 +${item_form_popup_delivery_start_date_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-delivery_start_date']
  47 +${item_form_popup_delivery_end_date_input_locator} = jquery=.fancybox-is-open:last .fancybox-slide--current .fancybox-content [id$='-delivery_end_date']
  48 +
42 49
43 50 # plan form
44 51 ${plan_form_submit_success_msg} = дочекайтесь опублікування на сайті уповноваженого органу
... ... @@ -68,13 +75,48 @@ ${plan_uaid_text_locator} = jquery=#plan
68 75 # tender form
69 76 ${tender_form_submit_success_msg} = дочекайтесь опублікування на сайті уповноваженого органу
70 77 ${tender_form_locator} = id=tender-form
71   -${tender_form_procurement_method_type_input_locator} = id=tenderbelowthresholdform-procurement_method_type
72   -${tender_multilot_locator} = id=tenderbelowthresholdform-is_multilot
  78 +${tender_form_procurement_method_type_input_locator} = jquery=[id$="form-procurement_method_type"]
  79 +${tender_multilot_locator} = jquery=[id$="form-is_multilot"]
73 80 ${tender_form_general_panel_edit_btn_locator} = jquery=#General #headingGeneral .actions-wrapper .js-form-popup-update
  81 +${tender_form_general_tender_title_locator} = jquery=[id$="form-title"]
  82 +${tender_form_general_tender_title_en_locator} = jquery=[id$="form-title_en"]
  83 +${tender_form_general_tender_description_locator} = jquery=[id$="form-description"]
  84 +${tender_form_general_tender_description_en_locator} = jquery=[id$="form-description_en"]
  85 +${tender_form_general_tender_funder_locator} = jquery=[id$="form-is_donor"]
  86 +${tender_form_general_value_amount_input_locator} = jquery=[id$="form-value_amount"]
  87 +${tender_form_general_value_currency_input_locator} = jquery=[id$="form-value_currency"]
  88 +${tender_form_general_value_added_tax_input_locator} = jquery=[id$="form-value_added_tax_included"]
  89 +${tender_form_general_minimalStep_amount_input_locator} = jquery=[id$="form-min_step_amount"]
  90 +${tender_form_general_main_procurement_category_input_locator} = jquery=[id$="form-main_procurement_category"]
  91 +${tender_enquiry_period_start_date_input_locator} = jquery=[id$="form-enquiry_period_start_date"]
  92 +${tender_enquiry_period_end_date_input_locator} = jquery=[id$="form-enquiry_period_end_date"]
  93 +${tender_tender_period_start_date_input_locator} = jquery=[id$="form-tender_period_start_date"]
  94 +${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"]
  96 +
74 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"]
  99 +${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
  101 +${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"]
  105 +
75 106 ${tender_form_general_panel_add_document_btn_locator} = jquery=#collapseGeneral div.form-content.js-form-content div.actions-wrapper a:contains("Додати документ")
76   -${tender_form_milestones_panel_edit_btn_locator} = jquery=(#tender-form .panel.panel-default.form-popup-panel.js-form-popup-panel .panel-heading .actions-wrapper .js-form-popup-update)[3]
  107 +
77 108 ${tender_form_item_add_edit_btn_locator} = jquery=.js-form-group-popup-panel .panel-heading .actions-wrapper .js-form-popup-add
  109 +
  110 +${tender_form_milestones_panel_edit_btn_locator} = jquery=[data-url$="#milestones-form-popup"]
  111 +${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"]
  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"]
  114 +${tender_form_milestones_percentage_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$="-percentage"]
  115 +${tender_form_milestones_code_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$="-code"]
  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"]
  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"]
  118 +
  119 +
78 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]
79 121 ${tender_form_submit_btn_locator} = jquery=#tender-form .js-submit-btn
80 122 ${tender_created_checker_element_locator} = id=tender-part-pjax
... ...
Please register or login to post a comment