Commit d326dc754e69688e1217f9ffc73ecfdc531c1268

Authored by selurvedu
1 parent ebee2df3
... ... @@ -37,6 +37,7 @@ gh_push = git@github.com:
37 37 [sources]
38 38 barbecue = git ${remotes:gh}openprocurement/barbecue.git
39 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 41 robot_tests.broker.etender = git ${remotes:gh}openprocurement/robot_tests.broker.etender.git
41 42 robot_tests.broker.newtend = git ${remotes:gh}openprocurement/robot_tests.broker.newtend.git
42 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