Commit d326dc754e69688e1217f9ffc73ecfdc531c1268

Authored by selurvedu
1 parent ebee2df3
@@ -37,6 +37,7 @@ gh_push = git@github.com: @@ -37,6 +37,7 @@ gh_push = git@github.com:
37 [sources] 37 [sources]
38 barbecue = git ${remotes:gh}openprocurement/barbecue.git 38 barbecue = git ${remotes:gh}openprocurement/barbecue.git
39 openprocurement_client = git ${remotes:gh}openprocurement/openprocurement.client.python.git 39 openprocurement_client = git ${remotes:gh}openprocurement/openprocurement.client.python.git
  40 +robot_tests.broker.dzo = git ${remotes:gh}openprocurement/robot_tests.broker.dzo.git
40 robot_tests.broker.etender = git ${remotes:gh}openprocurement/robot_tests.broker.etender.git 41 robot_tests.broker.etender = git ${remotes:gh}openprocurement/robot_tests.broker.etender.git
41 robot_tests.broker.newtend = git ${remotes:gh}openprocurement/robot_tests.broker.newtend.git 42 robot_tests.broker.newtend = git ${remotes:gh}openprocurement/robot_tests.broker.newtend.git
42 robot_tests.broker.privatmarket = git ${remotes:gh}openprocurement/robot_tests.broker.privatmarket.git 43 robot_tests.broker.privatmarket = git ${remotes:gh}openprocurement/robot_tests.broker.privatmarket.git
1 -*** Settings ***  
2 -Library Selenium2Screenshots  
3 -Library String  
4 -Library DateTime  
5 -Library dzo_service.py  
6 -  
7 -*** Variables ***  
8 -${locator.tenderId} xpath=//td[./text()='TenderID']/following-sibling::td[1]  
9 -${locator.title} xpath=//td[./text()='Загальна назва закупівлі']/following-sibling::td[1]  
10 -${locator.description} xpath=//td[./text()='Предмет закупівлі']/following-sibling::td[1]  
11 -${locator.value.amount} xpath=//td[./text()='Максимальний бюджет']/following-sibling::td[1]  
12 -${locator.minimalStep.amount} xpath=//td[./text()='Мінімальний крок зменшення ціни']/following-sibling::td[1]  
13 -${locator.enquiryPeriod.endDate} xpath=//td[./text()='Завершення періоду обговорення']/following-sibling::td[1]  
14 -${locator.tenderPeriod.endDate} xpath=//td[./text()='Завершення періоду прийому пропозицій']/following-sibling::td[1]  
15 -${locator.items[0].deliveryAddress.countryName} xpath=//td[@class='nameField'][./text()='Адреса поставки']/following-sibling::td[1]  
16 -${locator.items[0].deliveryDate.endDate} xpath=//td[./text()='Кінцева дата поставки']/following-sibling::td[1]  
17 -${locator.items[0].classification.scheme} xpath=//td[@class = 'nameField'][./text()='Клас CPV']  
18 -${locator.items[0].classification.id} xpath=//td[./text()='Клас CPV']/following-sibling::td[1]/span[1]  
19 -${locator.items[0].classification.description} xpath=//td[./text()='Клас CPV']/following-sibling::td[1]/span[2]  
20 -${locator.items[0].additionalClassifications[0].scheme} xpath=//td[@class = 'nameField'][./text()='Клас ДКПП']  
21 -${locator.items[0].additionalClassifications[0].id} xpath=//td[./text()='Клас ДКПП']/following-sibling::td[1]/span[1]  
22 -${locator.items[0].additionalClassifications[0].description} xpath=//td[./text()='Клас ДКПП']/following-sibling::td[1]/span[2]  
23 -${locator.items[0].quantity} xpath=//td[./text()='Кількість']/following-sibling::td[1]/span[1]  
24 -${locator.items[0].unit.code} xpath=//td[./text()='Кількість']/following-sibling::td[1]/span[2]  
25 -${locator.questions[0].title} xpath=//div[@class = 'question relative']//div[@class = 'title']  
26 -${locator.questions[0].description} xpath = //div[@class='text']  
27 -${locator.questions[0].date} xpath = //div[@class='date']  
28 -${locator.questions[0].answer} xpath=//div[@class = 'answer relative']//div[@class = 'text']  
29 -  
30 -*** Keywords ***  
31 -Підготувати клієнт для користувача  
32 - [Arguments] @{ARGUMENTS}  
33 - [Documentation] Відкрити браузер, створити об’єкт api wrapper, тощо  
34 - ... ${ARGUMENTS[0]} == username  
35 - Open Browser  
36 - ... ${USERS.users['${ARGUMENTS[0]}'].homepage}  
37 - ... ${USERS.users['${ARGUMENTS[0]}'].browser}  
38 - ... alias=${ARGUMENTS[0]}  
39 - Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size}  
40 - Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position}  
41 - Run Keyword And Ignore Error Pre Login ${ARGUMENTS[0]}  
42 - Wait Until Page Contains Element jquery=a[href="/cabinet"]  
43 - Click Element jquery=a[href="/cabinet"]  
44 - Run Keyword If '${username}' != 'DZO_Viewer' Login  
45 -  
46 -Login  
47 - [Arguments] @{ARGUMENTS}  
48 - Wait Until Page Contains Element name=email 10  
49 - Sleep 1  
50 - Input text name=email ${USERS.users['${username}'].login}  
51 - Sleep 2  
52 - Input text name=psw ${USERS.users['${username}'].password}  
53 - Wait Until Page Contains Element xpath=//button[contains(@class, 'btn')][./text()='Вхід в кабінет'] 20  
54 - Click Element xpath=//button[contains(@class, 'btn')][./text()='Вхід в кабінет']  
55 -  
56 -Pre Login  
57 - [Arguments] @{ARGUMENTS}  
58 - [Documentation]  
59 - ... ${ARGUMENTS[0]} == username  
60 - ${login}= Get Broker Property By Username ${ARGUMENTS[0]} login  
61 - ${password}= Get Broker Property By Username ${ARGUMENTS[0]} password  
62 - Wait Until Page Contains Element name=siteLogin 10  
63 - Input Text name=siteLogin ${login}  
64 - Input Text name=sitePass ${password}  
65 - Click Button xpath=.//*[@id='table1']/tbody/tr/td/form/p[3]/input  
66 -  
67 -Створити тендер  
68 - [Arguments] @{ARGUMENTS}  
69 - [Documentation]  
70 - ... ${ARGUMENTS[0]} == username  
71 - ... ${ARGUMENTS[1]} == tender_data  
72 - #{tender_data}= Add_time_for_GUI_FrontEnds ${ARGUMENTS[1]}  
73 - ${items}= Get From Dictionary ${ARGUMENTS[1].data} items  
74 - ${title}= Get From Dictionary ${ARGUMENTS[1].data} title  
75 - ${description}= Get From Dictionary ${ARGUMENTS[1].data} description  
76 - ${budget}= Get From Dictionary ${ARGUMENTS[1].data.value} amount  
77 - ${step_rate}= Get From Dictionary ${ARGUMENTS[1].data.minimalStep} amount  
78 -  
79 - ${items_description}= Get From Dictionary ${ARGUMENTS[1].data} description  
80 - ${quantity}= Get From Dictionary ${items[0]} quantity  
81 - ${countryName}= Get From Dictionary ${ARGUMENTS[1].data.procuringEntity.address} countryName  
82 - ${delivery_end_date}= Get From Dictionary ${items[0].deliveryDate} endDate  
83 - ${delivery_end_date}= convert_date_to_slash_format ${delivery_end_date}  
84 - ${cpv}= Convert To String Картонки  
85 - ${cpv_id}= Get From Dictionary ${items[0].classification} id  
86 - ${cpv_id1}= Replace String ${cpv_id} - _  
87 - ${dkpp_desc}= Get From Dictionary ${items[0].additionalClassifications[0]} description  
88 - ${dkpp_id}= Get From Dictionary ${items[0].additionalClassifications[0]} id  
89 - ${dkpp_id1}= Replace String ${dkpp_id} - _  
90 -  
91 - ${enquiry_end_date}= Get From Dictionary ${ARGUMENTS[1].data.enquiryPeriod} endDate  
92 - ${enquiry_end_date}= convert_date_to_slash_format ${enquiry_end_date}  
93 - ${end_date}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} endDate  
94 - ${end_date}= convert_date_to_slash_format ${end_date}  
95 -  
96 - Selenium2Library.Switch Browser ${ARGUMENTS[0]}  
97 - Wait Until Page Contains Element jquery=a[href="/tenders/new"] 30  
98 - Click Element jquery=a[href="/tenders/new"]  
99 - Wait Until Page Contains Element name=tender_title 30  
100 - Input text name=tender_title ${title}  
101 - Input text name=tender_description ${description}  
102 - Input text name=tender_value_amount ${budget}  
103 - Input text name=tender_minimalStep_amount ${step_rate}  
104 -  
105 -# Додати специфікацю початок  
106 - Input text name=items[0][item_description] ${items_description}  
107 - Input text name=items[0][item_quantity] ${quantity}  
108 - Input text name=items[0][item_deliveryAddress_countryName] ${countryName}  
109 - Input text name=items[0][item_deliveryDate_endDate] ${delivery_end_date}  
110 - Click Element xpath=//a[contains(@data-class, 'cpv')][./text()='Визначити за довідником']  
111 - Select Frame xpath=//iframe[contains(@src,'/js/classifications/cpv/uk.htm?relation=true')]  
112 - Input text id=search ${cpv}  
113 - Wait Until Page Contains ${cpv_id}  
114 - Click Element xpath=//a[contains(@id,'${cpv_id1}')]  
115 - Click Element xpath=.//*[@id='select']  
116 - Unselect Frame  
117 - Click Element xpath=//a[contains(@data-class, 'dkpp')][./text()='Визначити за довідником']  
118 - Select Frame xpath=//iframe[contains(@src,'/js/classifications/dkpp/uk.htm?relation=true')]  
119 - Input text id=search ${dkpp_desc}  
120 - Wait Until Page Contains ${dkpp_id}  
121 - Click Element xpath=//a[contains(@id,'${dkpp_id1}')]  
122 - Click Element xpath=.//*[@id='select']  
123 -# Додати специфікацю кінець  
124 -  
125 - Unselect Frame  
126 - Input text name=plan_date ${enquiry_end_date}  
127 - Input text name=tender_enquiryPeriod_endDate ${enquiry_end_date}  
128 - Input text name=tender_tenderPeriod_endDate ${end_date}  
129 -  
130 - Додати предмет ${items[0]} 0  
131 - Run Keyword if '${mode}' == 'multi' Додати багато предметів items  
132 - Unselect Frame  
133 -  
134 - Click Element xpath= //button[@value='publicate']  
135 - Wait Until Page Contains Тендер опубліковано 30  
136 -  
137 - ${tender_UAid}= Get Text xpath=//*/section[6]/table/tbody/tr[2]/td[2]  
138 - ${Ids}= Convert To String ${tender_UAid}  
139 - Run keyword if '${mode}' == 'multi' Set Multi Ids ${tender_UAid}  
140 - [return] ${Ids}  
141 -  
142 -Set Multi Ids  
143 - [Arguments] @{ARGUMENTS}  
144 - [Documentation]  
145 - ... ${ARGUMENTS[1]} == ${tender_UAid}  
146 - ${id}= Get Text xpath=//*/section[6]/table/tbody/tr[1]/td[2]  
147 - ${Ids}= Create List ${tender_UAid} ${id}  
148 -  
149 -Додати предмет  
150 - [Arguments] @{ARGUMENTS}  
151 - [Documentation]  
152 - ... ${ARGUMENTS[0]} == items  
153 - ... ${ARGUMENTS[1]} == ${INDEX}  
154 - ${dkpp_desc1}= Get From Dictionary ${ARGUMENTS[0].additionalClassifications[0]} description  
155 - ${dkpp_id11}= Get From Dictionary ${ARGUMENTS[0].additionalClassifications[0]} id  
156 - ${dkpp_1id}= Replace String ${dkpp_id11} - _  
157 -  
158 - Wait Until Page Contains Element xpath=//a[contains(@class, 'addMultiItem')][./text()='Додати предмет закупівлі']  
159 - Click Element xpath=//a[contains(@class, 'addMultiItem')][./text()='Додати предмет закупівлі']  
160 - ${index} = Convert To Integer ${ARGUMENTS[1]}  
161 - ${index} = Convert To Integer ${index + 1}  
162 - Wait Until Page Contains Element name=items[${index}][item_description] 30  
163 - Input text name=items[${index}][item_description] ${description}  
164 - Input text name=items[${index}][item_quantity] ${quantity}  
165 -  
166 - Click Element xpath=(//a[contains(@data-class, 'cpv')][./text()='Визначити за довідником'])[${index} + 1]  
167 - Select Frame xpath=//iframe[contains(@src,'/js/classifications/cpv/uk.htm?relation=true')]  
168 - Input text id=search ${cpv}  
169 - Wait Until Page Contains ${cpv_id}  
170 - Click Element xpath=//a[contains(@id,'${cpv_id1}')]  
171 - Click Element xpath=.//*[@id='select']  
172 - Unselect Frame  
173 - Click Element xpath=(//a[contains(@data-class, 'dkpp')][./text()='Визначити за довідником'])[${index} + 1]  
174 - Select Frame xpath=//iframe[contains(@src,'/js/classifications/dkpp/uk.htm?relation=true')]  
175 - Input text id=search ${dkpp_desc1}  
176 - Wait Until Page Contains ${dkpp_id11}  
177 - Click Element xpath=//a[contains(@id,'${dkpp_1id}')]  
178 - Click Element xpath=.//*[@id='select']  
179 - Unselect Frame  
180 - Capture Page Screenshot  
181 -  
182 -Додати багато предметів  
183 - [Arguments] @{ARGUMENTS}  
184 - [Documentation]  
185 - ... ${ARGUMENTS[0]} == items  
186 - ${Items_length}= Get Length ${items}  
187 - : FOR ${INDEX} IN RANGE 1 ${Items_length}  
188 - \ Додати предмет ${items[${INDEX}]} ${INDEX}  
189 -  
190 -додати предмети закупівлі  
191 - [Arguments] @{ARGUMENTS}  
192 - [Documentation]  
193 - ... ${ARGUMENTS[0]} = username  
194 - ... ${ARGUMENTS[1]} = ${TENDER_UAID}  
195 - ... ${ARGUMENTS[2]} = 3  
196 - ${period_interval}= Get Broker Property By Username ${ARGUMENTS[0]} period_interval  
197 - ${tender_data}= prepare_test_tender_data ${period_interval} multi  
198 -  
199 - ${items}= Get From Dictionary ${tender_data.data} items  
200 - ${description}= Get From Dictionary ${tender_data.data} description  
201 - ${quantity}= Get From Dictionary ${items[0]} quantity  
202 - ${cpv}= Convert To String Картонки  
203 - ${cpv_id}= Get From Dictionary ${items[0].classification} id  
204 - ${cpv_id1}= Replace String ${cpv_id} - _  
205 - ${dkpp_desc}= Get From Dictionary ${items[0].additionalClassifications[0]} description  
206 - ${dkpp_id}= Get From Dictionary ${items[0].additionalClassifications[0]} id  
207 - ${dkpp_id1}= Replace String ${dkpp_id} - _  
208 -  
209 - Selenium2Library.Switch Browser ${ARGUMENTS[0]}  
210 - Run keyword if '${TEST NAME}' == 'Можливість додати позицію закупівлі в тендер' додати позицію  
211 - Run keyword if '${TEST NAME}' != 'Можливість додати позицію закупівлі в тендер' видалити позиції  
212 -  
213 -додати позицію  
214 - dzo.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}  
215 - Wait Until Page Contains Element xpath=//a[./text()='Редагувати'] 30  
216 - Click Element xpath=//a[./text()='Редагувати']  
217 - Додати багато предметів ${ARGUMENTS[2]}  
218 - Wait Until Page Contains Element xpath=//button[./text()='Зберегти'] 30  
219 - Click Element xpath=//button[./text()='Зберегти']  
220 -  
221 -видалити позиції  
222 - dzo.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}  
223 - Wait Until Page Contains Element xpath=//a[./text()='Редагувати'] 30  
224 - Click Element xpath=//a[./text()='Редагувати']  
225 - : FOR ${INDEX} IN RANGE 1 ${ARGUMENTS[2]}-1  
226 - \ sleep 5  
227 - \ Click Element xpath=//a[@class='deleteMultiItem'][last()]  
228 - \ sleep 5  
229 - \ Click Element xpath=//a[@class='jBtn green']  
230 - Wait Until Page Contains Element xpath=//button[./text()='Зберегти'] 30  
231 - Click Element xpath=//button[./text()='Зберегти']  
232 -  
233 -Пошук тендера по ідентифікатору  
234 - [Arguments] @{ARGUMENTS}  
235 - [Documentation]  
236 - ... ${ARGUMENTS[0]} == username  
237 - ... ${ARGUMENTS[1]} == tenderId  
238 - Switch browser ${ARGUMENTS[0]}  
239 - Go To ${USERS.users['${ARGUMENTS[0]}'].homepage}  
240 - Wait Until Page Contains Держзакупівлі.онлайн 10  
241 - Click Element xpath=//a[text()='Закупівлі']  
242 - sleep 1  
243 - Click Element xpath=//select[@name='filter[object]']/option[@value='tenderID']  
244 - Input text xpath=//input[@name='filter[search]'] ${ARGUMENTS[1]}  
245 - Click Element xpath=//button[@class='btn'][./text()='Пошук']  
246 - Wait Until Page Contains ${ARGUMENTS[1]} 10  
247 - Capture Page Screenshot  
248 - sleep 1  
249 - Click Element xpath=//a[@class='reverse tenderLink']  
250 -  
251 -Задати питання  
252 - [Arguments] @{ARGUMENTS}  
253 - [Documentation]  
254 - ... ${ARGUMENTS[0]} == username  
255 - ... ${ARGUMENTS[1]} == tenderUaId  
256 - ... ${ARGUMENTS[2]} == questionId  
257 - ${title}= Get From Dictionary ${ARGUMENTS[2].data} title  
258 - ${description}= Get From Dictionary ${ARGUMENTS[2].data} description  
259 -  
260 - Selenium2Library.Switch Browser ${ARGUMENTS[0]}  
261 - dzo.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}  
262 - sleep 1  
263 - Execute Javascript window.scroll(2500,2500)  
264 - Wait Until Page Contains Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']] 20  
265 - Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']]  
266 - Wait Until Page Contains Element name=title 20  
267 - Input text name=title ${title}  
268 - Input text xpath=//textarea[@name='description'] ${description}  
269 - Click Element xpath=//div[contains(@class, 'buttons')]//button[@type='submit']  
270 - Wait Until Page Contains ${title} 30  
271 - Capture Page Screenshot  
272 -  
273 -Відповісти на питання  
274 - [Arguments] @{ARGUMENTS}  
275 - [Documentation]  
276 - ... ${ARGUMENTS[0]} = username  
277 - ... ${ARGUMENTS[1]} = tenderUaId  
278 - ... ${ARGUMENTS[2]} = 0  
279 - ... ${ARGUMENTS[3]} = answer_data  
280 -  
281 - ${answer}= Get From Dictionary ${ARGUMENTS[3].data} answer  
282 - Selenium2Library.Switch Browser ${ARGUMENTS[0]}  
283 -  
284 - dzo.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}  
285 - Execute Javascript window.scroll(1500,1500)  
286 - Wait Until Page Contains Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']] 20  
287 - Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']]  
288 - Wait Until Page Contains Element xpath=//textarea[@name='answer'] 20  
289 - Input text xpath=//textarea[@name='answer'] ${answer}  
290 - Click Element xpath=//div[1]/div[3]/form/div/table/tbody/tr/td[2]/button  
291 - Wait Until Page Contains ${answer} 30  
292 - Capture Page Screenshot  
293 -  
294 -Подати скаргу  
295 - [Arguments] @{ARGUMENTS}  
296 - [Documentation]  
297 - ... ${ARGUMENTS[0]} = username  
298 - ... ${ARGUMENTS[1]} = tenderUaId  
299 - ... ${ARGUMENTS[2]} = complaintsId  
300 - ${complaint}= Get From Dictionary ${ARGUMENTS[2].data} title  
301 - ${description}= Get From Dictionary ${ARGUMENTS[2].data} description  
302 -  
303 - Selenium2Library.Switch Browser ${ARGUMENTS[0]}  
304 - dzo.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}  
305 - sleep 1  
306 - Execute Javascript window.scroll(1500,1500)  
307 - Click Element xpath=//a[@class='reverse openCPart'][span[text()='Скарги']]  
308 - Wait Until Page Contains Element name=title 20  
309 - Input text name=title ${complaint}  
310 - Input text xpath=//textarea[@name='description'] ${description}  
311 - Click Element xpath=//div[contains(@class, 'buttons')]//button[@type='submit']  
312 - Wait Until Page Contains ${complaint} 30  
313 - Capture Page Screenshot  
314 -  
315 -Порівняти скаргу  
316 - [Arguments] @{ARGUMENTS}  
317 - [Documentation]  
318 - ... ${ARGUMENTS[0]} = username  
319 - ... ${ARGUMENTS[1]} = tenderUaId  
320 - ... ${ARGUMENTS[2]} = complaintsData  
321 - ${complaint}= Get From Dictionary ${ARGUMENTS[2].data} title  
322 - ${description}= Get From Dictionary ${ARGUMENTS[2].data} description  
323 -  
324 - Selenium2Library.Switch Browser ${ARGUMENTS[0]}  
325 - dzo.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}  
326 - sleep 1  
327 - Execute Javascript window.scroll(1500,1500)  
328 - Click Element xpath=//a[@class='reverse openCPart'][span[text()='Скарги']]  
329 - Wait Until Page Contains ${complaint} 30  
330 - Capture Page Screenshot  
331 -  
332 -Внести зміни в тендер  
333 - # Тест написано для уже існуючого тендеру, що знаходиться у чернетках користувача  
334 - [Arguments] @{ARGUMENTS}  
335 - [Documentation]  
336 - ... ${ARGUMENTS[0]} = username  
337 - ... ${ARGUMENTS[1]} = description  
338 -  
339 - Selenium2Library.Switch Browser ${ARGUMENTS[0]}  
340 - Click Element xpath=//a[@class='reverse'][./text()='Мої закупівлі']  
341 - Wait Until Page Contains Element xpath=//a[@class='reverse'][./text()='Чернетки'] 30  
342 - Click Element xpath=//a[@class='reverse'][./text()='Чернетки']  
343 - Wait Until Page Contains Element xpath=//a[@class='reverse tenderLink'] 30  
344 - Click Element xpath=//a[@class='reverse tenderLink']  
345 - sleep 1  
346 - Click Element xpath=//a[@class='button save'][./text()='Редагувати']  
347 - sleep 1  
348 - Input text name=tender_title ${ARGUMENTS[1]}  
349 - sleep 1  
350 - Click Element xpath=//button[@class='saveDraft']  
351 - Wait Until Page Contains ${ARGUMENTS[1]} 30  
352 - Capture Page Screenshot  
353 -  
354 -обновити сторінку з тендером  
355 - [Arguments] @{ARGUMENTS}  
356 - [Documentation]  
357 - ... ${ARGUMENTS[0]} = username  
358 - ... ${ARGUMENTS[1]} = tenderUaId  
359 -  
360 - Selenium2Library.Switch Browser ${ARGUMENTS[0]}  
361 - dzo.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}  
362 - Reload Page  
363 -  
364 -отримати інформацію із тендера  
365 - [Arguments] @{ARGUMENTS}  
366 - [Documentation]  
367 - ... ${ARGUMENTS[0]} == username  
368 - ... ${ARGUMENTS[1]} == fieldname  
369 - Switch browser ${ARGUMENTS[0]}  
370 - Run Keyword And Return Отримати інформацію про ${ARGUMENTS[1]}  
371 -  
372 -Отримати текст із поля і показати на сторінці  
373 - [Arguments] ${fieldname}  
374 - sleep 1  
375 - ${return_value}= Get Text ${locator.${fieldname}}  
376 - [return] ${return_value}  
377 -  
378 -отримати інформацію про title  
379 - ${title}= Отримати текст із поля і показати на сторінці title  
380 - [return] ${title.split('.')[0]}  
381 -  
382 -отримати інформацію про description  
383 - ${description}= Отримати текст із поля і показати на сторінці description  
384 - [return] ${description}  
385 -  
386 -отримати інформацію про tenderId  
387 - ${tenderId}= Отримати текст із поля і показати на сторінці tenderId  
388 - [return] ${tenderId}  
389 -  
390 -отримати інформацію про value.amount  
391 - ${valueAmount}= Отримати текст із поля і показати на сторінці value.amount  
392 - ${valueAmount}= Convert To Number ${valueAmount.split(' ')[0]}  
393 - [return] ${valueAmount}  
394 -  
395 -отримати інформацію про minimalStep.amount  
396 - ${minimalStepAmount}= Отримати текст із поля і показати на сторінці minimalStep.amount  
397 - ${minimalStepAmount}= Convert To Number ${minimalStepAmount.split(' ')[0]}  
398 - [return] ${minimalStepAmount}  
399 -  
400 -отримати інформацію про enquiryPeriod.endDate  
401 - ${enquiryPeriodEndDate}= Отримати текст із поля і показати на сторінці enquiryPeriod.endDate  
402 - ${enquiryPeriodEndDate}= subtract_from_time ${enquiryPeriodEndDate} 6 5  
403 - [return] ${enquiryPeriodEndDate}  
404 -  
405 -отримати інформацію про tenderPeriod.endDate  
406 - ${tenderPeriodEndDate}= Отримати текст із поля і показати на сторінці tenderPeriod.endDate  
407 - ${tenderPeriodEndDate}= subtract_from_time ${tenderPeriodEndDate} 11 0  
408 - [return] ${tenderPeriodEndDate}  
409 -  
410 -отримати інформацію про items[0].deliveryAddress.countryName  
411 - ${countryName}= Отримати текст із поля і показати на сторінці items[0].deliveryAddress.countryName  
412 - [return] ${countryName}  
413 -  
414 -отримати інформацію про items[0].classification.scheme  
415 - ${classificationScheme}= Отримати текст із поля і показати на сторінці items[0].classification.scheme  
416 - [return] ${classificationScheme.split(' ')[1]}  
417 -  
418 -отримати інформацію про items[0].additionalClassifications[0].scheme  
419 - ${additionalClassificationsScheme}= Отримати текст із поля і показати на сторінці items[0].additionalClassifications[0].scheme  
420 - [return] ${additionalClassificationsScheme.split(' ')[1]}  
421 -  
422 -отримати інформацію про questions[0].title  
423 - sleep 1  
424 - Click Element xpath=//a[@class='reverse tenderLink']  
425 - sleep 1  
426 - Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']]  
427 - ${questionsTitle}= Отримати текст із поля і показати на сторінці questions[0].title  
428 - ${questionsTitle}= Convert To Lowercase ${questionsTitle}  
429 - [return] ${questionsTitle.capitalize().split('.')[0] + '.'}  
430 -  
431 -отримати інформацію про questions[0].description  
432 - ${questionsDescription}= Отримати текст із поля і показати на сторінці questions[0].description  
433 - [return] ${questionsDescription}  
434 -  
435 -отримати інформацію про questions[0].date  
436 - ${questionsDate}= Отримати текст із поля і показати на сторінці questions[0].date  
437 - log ${questionsDate}  
438 - [return] ${questionsDate}  
439 -  
440 -отримати інформацію про questions[0].answer  
441 - sleep 1  
442 - Click Element xpath=//a[@class='reverse tenderLink']  
443 - sleep 1  
444 - Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']]  
445 - ${questionsAnswer}= Отримати текст із поля і показати на сторінці questions[0].answer  
446 - [return] ${questionsAnswer}  
447 -  
448 -отримати інформацію про items[0].deliveryDate.endDate  
449 - ${deliveryDateEndDate}= Отримати текст із поля і показати на сторінці items[0].deliveryDate.endDate  
450 - ${deliveryDateEndDate}= subtract_from_time ${deliveryDateEndDate} 15 0  
451 - [return] ${deliveryDateEndDate}  
452 -  
453 -отримати інформацію про items[0].classification.id  
454 - ${classificationId}= Отримати текст із поля і показати на сторінці items[0].classification.id  
455 - [return] ${classificationId}  
456 -  
457 -отримати інформацію про items[0].classification.description  
458 - ${classificationDescription}= Отримати текст із поля і показати на сторінці items[0].classification.description  
459 - Run Keyword And Return If '${classificationDescription}' == 'Картонки' Convert To String Cartons  
460 - [return] ${classificationDescription}  
461 -  
462 -отримати інформацію про items[0].additionalClassifications[0].id  
463 - ${additionalClassificationsId}= Отримати текст із поля і показати на сторінці items[0].additionalClassifications[0].id  
464 - [return] ${additionalClassificationsId}  
465 -  
466 -отримати інформацію про items[0].additionalClassifications[0].description  
467 - ${additionalClassificationsDescription}= Отримати текст із поля і показати на сторінці items[0].additionalClassifications[0].description  
468 - ${additionalClassificationsDescription}= Convert To Lowercase ${additionalClassificationsDescription}  
469 - [return] ${additionalClassificationsDescription}  
470 -  
471 -отримати інформацію про items[0].quantity  
472 - ${itemsQuantity}= Отримати текст із поля і показати на сторінці items[0].quantity  
473 - ${itemsQuantity}= Convert To Integer ${itemsQuantity}  
474 - [return] ${itemsQuantity}  
475 -  
476 -отримати інформацію про items[0].unit.code  
477 - ${unitCode}= Отримати текст із поля і показати на сторінці items[0].unit.code  
478 - Run Keyword And Return If '${unitCode}'== 'кг' Convert To String KGM  
479 - [return] ${unitCode}  
480 -  
481 -отримати інформацію про procuringEntity.name  
482 - Log | Viewer can't see this information on DZO console=yes  
483 -  
484 -отримати інформацію про enquiryPeriod.startDate  
485 - Log | Viewer can't see this information on DZO console=yes  
486 -  
487 -отримати інформацію про tenderPeriod.startDate  
488 - Log | Viewer can't see this information on DZO console=yes  
489 -  
490 -отримати інформацію про items[0].deliveryLocation.longitude  
491 - Log | Viewer can't see this information on DZO console=yes  
492 -  
493 -отримати інформацію про items[0].deliveryLocation.latitude  
494 - Log | Viewer can't see this information on DZO console=yes  
495 -  
496 -отримати інформацію про items[0].deliveryAddress.postalCode  
497 - Log | Viewer can't see this information on DZO console=yes  
498 -  
499 -отримати інформацію про items[0].deliveryAddress.locality  
500 - Log | Viewer can't see this information on DZO console=yes  
501 -  
502 -отримати інформацію про items[0].deliveryAddress.streetAddress  
503 - Log | Viewer can't see this information on DZO console=yes  
504 -  
505 -отримати інформацію про items[0].deliveryAddress.region  
506 - Log | Viewer can't see this information on DZO console=yes  
507 -  
508 -отримати інформацію про items[0].unit.name  
509 - Log | Viewer can't see this information on DZO console=yes  
1 -from datetime import datetime, timedelta  
2 -  
3 -  
4 -def subtract_from_time(date_time, subtr_min, subtr_sec):  
5 - sub = datetime.strptime(date_time, "%d.%m.%Y %H:%M")  
6 - sub = (sub - timedelta(minutes=int(subtr_min),  
7 - seconds=int(subtr_sec))).isoformat()  
8 - return sub  
Please register or login to post a comment