...
|
...
|
@@ -3,18 +3,8 @@ Library Selenium2Screenshots |
3
|
3
|
Library String
|
4
|
4
|
Library DateTime
|
5
|
5
|
|
6
|
|
-
|
7
|
6
|
*** Variables ***
|
8
|
7
|
${locator.tenderId} jquery=h3
|
9
|
|
-${locator.title} jquery=tender-subject-info>div.row:contains("Назва закупівлі:")>:eq(1)>
|
10
|
|
-${locator.description} jquery=tender-subject-info>div.row:contains("Детальний опис закупівлі:")>:eq(1)>
|
11
|
|
-${locator.minimalStep.amount} jquery=tender-subject-info>div.row:contains("Мінімальний крок аукціону, грн.:")>:eq(1)>
|
12
|
|
-${locator.procuringEntity.name} jquery=customer-info>div.row:contains("Найменування:")>:eq(1)>
|
13
|
|
-${locator.value.amount} jquery=tender-subject-info>div.row:contains("Повний доступний бюджет закупівлі, грн.:")>:eq(1)>
|
14
|
|
-${locator.tenderPeriod.startDate} jquery=tender-procedure-info>div.row:contains("Початок прийому пропозицій:")>:eq(1)>
|
15
|
|
-${locator.tenderPeriod.endDate} jquery=tender-procedure-info>div.row:contains("Завершення прийому пропозицій:")>:eq(1)>
|
16
|
|
-${locator.enquiryPeriod.startDate} jquery=tender-procedure-info>div.row:contains("Початок періоду уточнень:")>:eq(1)>
|
17
|
|
-${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contains("Завершення періоду уточнень:")>:eq(1)>
|
18
|
8
|
|
19
|
9
|
*** Keywords ***
|
20
|
10
|
Підготувати дані для оголошення тендера
|
...
|
...
|
@@ -25,15 +15,18 @@ ${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contai |
25
|
15
|
[Arguments] @{ARGUMENTS}
|
26
|
16
|
[Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо
|
27
|
17
|
... ${ARGUMENTS[0]} == username
|
28
|
|
- Open Browser ${USERS.users['${ARGUMENTS[0]}'].homepage} alias=${ARGUMENTS[0]}
|
|
18
|
+
|
|
19
|
+ Open Browser ${BROKERS['${USERS.users['${username}'].broker}'].url} ${USERS.users['${username}'].browser} alias=${ARGUMENTS[0]}
|
29
|
20
|
Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size}
|
30
|
21
|
Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position}
|
|
22
|
+ Wait Until Page Contains Element id=indexpage_login 100
|
|
23
|
+ Click Element id=indexpage_login
|
|
24
|
+ Wait Until Page Contains Element id=password 100
|
|
25
|
+ Input text id=login-email ${USERS.users['${username}'].login}
|
|
26
|
+ Input text id=password ${USERS.users['${username}'].password}
|
|
27
|
+ Click Element id=submit-login-button
|
|
28
|
+ Wait Until Page Contains Element xpath=//div[@class="introjs-overlay"] 100
|
31
|
29
|
|
32
|
|
-# login
|
33
|
|
- Wait Until Page Contains Element id=inputUsername 100
|
34
|
|
- Input text id=inputUsername ${USERS.users['${username}'].login}
|
35
|
|
- Input text id=inputPassword ${USERS.users['${username}'].password}
|
36
|
|
- Click Button id=btn_submit
|
37
|
30
|
|
38
|
31
|
Створити тендер
|
39
|
32
|
[Arguments] @{ARGUMENTS}
|
...
|
...
|
@@ -46,76 +39,105 @@ ${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contai |
46
|
39
|
${description}= Get From Dictionary ${ARGUMENTS[1].data} description
|
47
|
40
|
${budget}= Get From Dictionary ${ARGUMENTS[1].data.value} amount
|
48
|
41
|
${step_rate}= Get From Dictionary ${ARGUMENTS[1].data.minimalStep} amount
|
49
|
|
- ${items_description}= Get From Dictionary ${ARGUMENTS[1].data} description
|
50
|
|
- ${quantity}= Get From Dictionary ${items[0]} quantity
|
51
|
|
- ${cpv}= Get From Dictionary ${items[0].classification} id
|
|
42
|
+
|
|
43
|
+ ${items_description}= Get From Dictionary ${items[0]} description
|
|
44
|
+ ${quantity}= Get From Dictionary ${items[0]} quantity
|
|
45
|
+ ${cpv}= Get From Dictionary ${items[0].classification} description_ua
|
52
|
46
|
${dkpp_desc}= Get From Dictionary ${items[0].additionalClassifications[0]} description
|
53
|
|
- ${dkpp_id}= Get From Dictionary ${items[0].additionalClassifications[0]} id
|
54
|
|
- ${unit}= Get From Dictionary ${items[0].unit} name
|
55
|
|
- ${start_date}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} startDate
|
56
|
|
- ${start_date}= convert_date_to_etender_format ${start_date}
|
57
|
|
- ${start_time}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} startDate
|
58
|
|
- ${start_time}= convert_time_to_etender_format ${start_time}
|
59
|
|
- ${end_date}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} endDate
|
60
|
|
- ${end_date}= convert_date_to_etender_format ${end_date}
|
61
|
|
- ${end_time}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} endDate
|
62
|
|
- ${end_time}= convert_time_to_etender_format ${end_time}
|
63
|
|
- ${enquiry_end_date}= Get From Dictionary ${ARGUMENTS[1].data.enquiryPeriod} endDate
|
64
|
|
- ${enquiry_end_date}= convert_date_to_etender_format ${enquiry_end_date}
|
65
|
|
- ${enquiry_end_time}= Get From Dictionary ${ARGUMENTS[1].data.enquiryPeriod} endDate
|
66
|
|
- ${enquiry_end_time}= convert_time_to_etender_format ${enquiry_end_time}
|
|
47
|
+ ${dkpp_id}= Get From Dictionary ${items[0].additionalClassifications[0]} id
|
|
48
|
+ ${unit}= Get From Dictionary ${items[0].unit} name
|
|
49
|
+
|
|
50
|
+ ${start_date}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} startDate
|
|
51
|
+ ${end_date}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} endDate
|
|
52
|
+ ${enquiry_start_date}= Get From Dictionary ${ARGUMENTS[1].data.enquiryPeriod} startDate
|
|
53
|
+ ${enquiry_end_date}= Get From Dictionary ${ARGUMENTS[1].data.enquiryPeriod} endDate
|
|
54
|
+ ${deliverydate_end_date}= Get From Dictionary ${items[0].deliveryDate} endDate
|
|
55
|
+
|
|
56
|
+ ${countryName}= Get From Dictionary ${items[0].deliveryAddress} countryName
|
|
57
|
+ ${ZIP}= Get From Dictionary ${items[0].deliveryAddress} postalCode
|
|
58
|
+ ${region}= Get From Dictionary ${items[0].deliveryAddress} region
|
|
59
|
+ ${locality}= Get From Dictionary ${items[0].deliveryAddress} locality
|
|
60
|
+ ${streetAddress}= Get From Dictionary ${items[0].deliveryAddress} streetAddress
|
|
61
|
+
|
67
|
62
|
|
68
|
63
|
Selenium2Library.Switch Browser ${ARGUMENTS[0]}
|
69
|
|
- Wait Until Page Contains Мої закупівлі 100
|
70
|
|
- Click Element xpath=//a[contains(@class, 'ng-binding')][./text()='Мої закупівлі']
|
71
|
|
- Wait Until Page Contains Element xpath=//a[contains(@class, 'btn btn-info')]
|
72
|
|
- Click Element xpath=//a[contains(@class, 'btn btn-info')]
|
73
|
|
- Wait Until Page Contains Element id=title
|
74
|
|
- Input text id=title ${title}
|
75
|
|
- Input text id=description ${description}
|
76
|
|
- Input text id=value ${budget}
|
77
|
|
- Click Element xpath=//div[contains(@class, 'form-group col-sm-6')]//input[@type='checkbox']
|
78
|
|
- Input text id=minimalStep ${step_rate}
|
79
|
|
- Input text id=itemsDescription ${items_description}
|
80
|
|
- Input text id=itemsQuantity ${quantity}
|
81
|
|
- Click Element xpath=//select[@name="itemsUnit"]/option[@value='kilogram']
|
82
|
|
- Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='enqPEndDate'] ${enquiry_end_date}
|
83
|
|
- Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//div[contains(@class, 'col-sm-2')]//input[@ng-model='data.enquiryPeriod.endDate'] ${enquiry_end_time}
|
84
|
|
-
|
85
|
|
- Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='startDate'] ${start_date}
|
86
|
|
- Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//div[contains(@class, 'col-sm-2')]//input[@ng-model='data.tenderPeriod.startDate'] ${start_time}
|
87
|
|
- Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='endDate'] ${end_date}
|
88
|
|
- Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//div[contains(@class, 'col-sm-2')]//input[@ng-model='data.tenderPeriod.endDate'] ${end_time}
|
89
|
|
-
|
90
|
|
- Click Element xpath=//div[contains(@class, 'col-sm-2')]//input[@data-target='#classification']
|
91
|
|
- Wait Until Page Contains Оберіть класифікатор CPV 100
|
92
|
|
- Input text xpath=//div[contains(@class, 'modal-content')]//input[@ng-model='searchstring'] ${cpv}
|
93
|
|
- Wait Until Page Contains Картонки 100
|
94
|
|
- Click Element xpath=//table[contains(@class, 'table table-hover table-striped table-bordered ng-table-rowselected ng-scope ng-table')]//tr[1]//td[1]
|
95
|
|
- Wait Until Page Contains 44617100-9 Картонки 100
|
96
|
|
- Click Element xpath=//div[contains(@class, 'modal-content')]//button[@ng-click='choose()']
|
97
|
|
-
|
98
|
|
- Click Element xpath=//div[contains(@class, 'col-sm-2')]//input[@data-target='#addClassification']
|
99
|
|
- Wait Until Page Contains Класифікатор ДКПП 100
|
100
|
|
- Input text xpath=//div[contains(@class, 'modal fade ng-scope in')]//input[@ng-model='searchstring'] ${dkpp_desc}
|
101
|
|
- Wait Until Page Contains ${dkpp_id} 100
|
102
|
|
- Click Element xpath=//table[contains(@class, 'table table-hover table-striped table-bordered ng-table-rowselected ng-scope ng-table')]//tr[2]//td[1]
|
103
|
|
- Wait Until Page Contains 17.21.1 "Папір і картон гофровані, паперова й картонна тара" 100
|
104
|
|
- Click Element xpath=//div[contains(@class, 'modal fade ng-scope in')]//button[@ng-click='choose()']
|
105
|
|
- Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit']
|
106
|
|
- Wait Until Page Contains [ТЕСТУВАННЯ] 100
|
107
|
|
- Click Element xpath=//table[contains(@class, 'table table-hover table-striped table-bordered ng-scope ng-table')]//tr[1]//a
|
108
|
|
- ${tender_UAid}= Wait Until Keyword Succeeds 240sec 2sec get tender UAid
|
|
64
|
+ Go To ${USERS.users['${username}'].homepage}
|
|
65
|
+ Wait Until Page Contains Element xpath=//a[@href="#/create-tender"] 100
|
|
66
|
+ Click Link xpath=//a[@href="#/create-tender"]
|
|
67
|
+ Wait Until Page Contains Новый тендер 100
|
|
68
|
+
|
|
69
|
+ Input text name=tenderName ${title}
|
|
70
|
+ Input text name=tenderDescription ${description}
|
|
71
|
+ Input text id=budget ${budget}
|
|
72
|
+ Click Element id=with-nds
|
|
73
|
+ Input text id=step ${step_rate}
|
|
74
|
+ Input text id=itemDescription0 ${items_description}
|
|
75
|
+ Input text id=quantity0 ${quantity}
|
|
76
|
+ Click Element xpath=//a[@class="dropdown-toggle ng-binding"]
|
|
77
|
+ Click Element xpath=//a[contains(text(),'${unit}')]
|
|
78
|
+ Click Element id=classifier10
|
|
79
|
+ Wait Until Page Contains Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] 100
|
|
80
|
+ Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${cpv}
|
|
81
|
+ Wait Until Page Contains Element xpath=//span[contains(text(),'${cpv}')] 20
|
|
82
|
+ Click Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"]
|
|
83
|
+ Click Element xpath=//button[@class="btn btn-default btn-lg pull-right choose ng-binding"]
|
|
84
|
+ Click Element id=classifier20
|
|
85
|
+ Wait Until Page Contains Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] 100
|
|
86
|
+ Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${dkpp_desc}
|
|
87
|
+ Wait Until Page Contains Element xpath=//span[contains(text(),'${dkpp_id}')] 100
|
|
88
|
+ Click Element xpath=//span[contains(text(),'${dkpp_id}')]/../..//input[@class="ng-pristine ng-untouched ng-valid"]
|
|
89
|
+ Click Element xpath=//button[@class="btn btn-default btn-lg pull-right choose ng-binding"]
|
|
90
|
+ Click Element id=deliveryAddress0
|
|
91
|
+ Wait Until Page Contains Element xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] 100
|
|
92
|
+ Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${countryName}
|
|
93
|
+ Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${ZIP}
|
|
94
|
+ Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${region}
|
|
95
|
+ Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${locality}
|
|
96
|
+ Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${streetAddress}
|
|
97
|
+ Click Element xpath=//button[@class="btn btn-lg single-btn ng-binding"]
|
|
98
|
+ Set datetime end-date-delivery0 ${deliverydate_end_date}
|
|
99
|
+ Set datetime start-date-registration ${start_date}
|
|
100
|
+ Set datetime end-date-registration ${end_date}
|
|
101
|
+ Set datetime end-date-qualification ${enquiry_end_date}
|
|
102
|
+ Set datetime start-date-qualification ${enquiry_start_date}
|
|
103
|
+ Click Element xpath=//button[@class="btn btn-lg btn-default cancel pull-right ng-binding"]
|
|
104
|
+ Wait Until Page Contains Element xpath=//div[@ng-click="goHome()"] 30
|
|
105
|
+ Click Element xpath=//div[@ng-click="goHome()"]
|
|
106
|
+
|
|
107
|
+# ${tender_UAid}= Get Text xpath=//div[@class="title"]
|
109
|
108
|
### harcode Idis bacause issues on the E-tender side, to remove, 1 line:
|
110
|
|
- ${tender_UAid}= Convert To String UA-2015-06-30-000012
|
111
|
|
- ${Ids} Create List ${tender_UAid}
|
|
109
|
+ ${tender_UAid}= Convert To String UA-2015-07-06-000105
|
|
110
|
+
|
|
111
|
+ ${Ids} Create List ${tender_UAid}
|
112
|
112
|
[return] ${Ids}
|
113
|
113
|
|
|
114
|
+Set datetime
|
|
115
|
+ [Arguments] @{ARGUMENTS}
|
|
116
|
+ [Documentation]
|
|
117
|
+ ... ${ARGUMENTS[0]} == control_id
|
|
118
|
+ ... ${ARGUMENTS[1]} == date
|
|
119
|
+ Click Element xpath=//input[@id="${ARGUMENTS[0]}"]/../span[@class="calendar-btn"]
|
|
120
|
+ Wait Until Page Contains Element xpath=//td[@class="text-center ng-scope"] 30
|
|
121
|
+ ${datapicker_id}= Get Element Attribute xpath=//input[@id="${ARGUMENTS[0]}"]/..//td[@class="text-center ng-scope"]@id
|
|
122
|
+ ${datapicker_id}= Get Substring ${datapicker_id} 0 -1
|
|
123
|
+ ${date_index}= newtend_date_picker_index ${ARGUMENTS[1]}
|
|
124
|
+ ${datapicker_id}= Convert To String ${datapicker_id}${date_index}
|
|
125
|
+ Click Element xpath=//input[@id="${ARGUMENTS[0]}"]/..//td[@id="${datapicker_id}"]/button
|
|
126
|
+
|
|
127
|
+ ${hous}= Get Substring ${ARGUMENTS[1]} 11 13
|
|
128
|
+ ${minutes}= Get Substring ${ARGUMENTS[1]} 14 16
|
|
129
|
+ Input text xpath=//input[@id="${ARGUMENTS[0]}"]/../..//input[@ng-model="hours"] ${hous}
|
|
130
|
+ Input text xpath=//input[@id="${ARGUMENTS[0]}"]/../..//input[@ng-model="minutes"] ${minutes}
|
|
131
|
+
|
114
|
132
|
get tender UAid
|
115
|
|
- ${tender_UAid}= Get Text xpath=//div[contains(@class, "panel-heading")]
|
116
|
|
- ${tender_UAid}= Get Substring ${tender_UAid} 7 27
|
|
133
|
+ ${tender_UAid}= Get Text xpath=//div[@class="title"]
|
|
134
|
+# ${tender_UAid}= Get Substring ${tender_UAid} 7 27
|
117
|
135
|
[return] ${tender_UAid}
|
118
|
136
|
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+#### Not reworked for Newtend ####
|
|
140
|
+
|
119
|
141
|
Oтримати internal id по UAid
|
120
|
142
|
[Arguments] @{ARGUMENTS}
|
121
|
143
|
[Documentation]
|
...
|
...
|
|