Commit b5a343fa5d657f2a417cf7ae623995b1d6354d9e

Authored by Myroslav Opyr
2 parents e16a0f3d 287fc6f6

Merge pull request #42 from selurvedu/separate-etender

Export E-tender into separate repository; various fixes
... ... @@ -36,6 +36,7 @@ gh_push = git@github.com:
36 36
37 37 [sources]
38 38 openprocurement_client = git ${remotes:gh}openprocurement/openprocurement.client.python.git
  39 +robot_tests.broker.etender = git ${remotes:gh}openprocurement/robot_tests.broker.etender.git
39 40
40 41 [versions]
41 42 fake-factory = 0.5.3
... ...
1   -*** Settings ***
2   -Library Selenium2Screenshots
3   -Library String
4   -Library DateTime
5   -Library etender_service.py
6   -
7   -*** Variables ***
8   -${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} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[9]
12   -${locator.procuringEntity.name} jquery=customer-info>div.row:contains("Найменування:")>:eq(1)>
13   -${locator.value.amount} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[8]
14   -${locator.tenderPeriod.startDate} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[3]
15   -${locator.tenderPeriod.endDate} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[4]
16   -${locator.enquiryPeriod.startDate} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[1]
17   -${locator.enquiryPeriod.endDate} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[2]
18   -${locator.items[0].description} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[12]
19   -${locator.items[0].deliveryDate.endDate} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[14]
20   -${locator.items[0].deliveryLocation.latitude} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[15]
21   -${locator.items[0].deliveryLocation.longitude} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[15]
22   -${locator.items[0].deliveryAddress.postalCode} xpath=//div[@class='col-sm-8']//span[@ng-if='item.deliveryAddress.postIndex']
23   -${locator.items[0].deliveryAddress.countryName} xpath=//div[@class='col-sm-8']//span[@ng-if='item.deliveryAddress.country.title']
24   -${locator.items[0].deliveryAddress.region} xpath=//div[@class='col-sm-8']//span[@ng-if='item.deliveryAddress.region.title']
25   -${locator.items[0].deliveryAddress.locality} xpath=//div[@class='col-sm-8']//span[@ng-if='item.deliveryAddress.city.title']
26   -${locator.items[0].deliveryAddress.streetAddress} xpath=//div[@class='col-sm-8']//span[@ng-if='item.deliveryAddress.addressStr']
27   -${locator.items[0].classification.scheme} xpath=(//div[@class = 'col-sm-4']/p)[11]
28   -${locator.items[0].classification.id} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[10]
29   -${locator.items[0].classification.description} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[10]
30   -${locator.items[0].additionalClassifications[0].scheme} xpath=(//div[@class = 'col-sm-4']/p)[12]
31   -${locator.items[0].additionalClassifications[0].id} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[11]
32   -${locator.items[0].additionalClassifications[0].description} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[11]
33   -${locator.items[0].unit.code} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[13]
34   -${locator.items[0].quantity} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[13]
35   -${locator.questions[0].title} xpath=(//div[@class='col-sm-10']/span[@class='ng-binding'])[2]
36   -${locator.questions[0].description} xpath=(//div[@class='col-sm-10']/span[@class='ng-binding'])[3]
37   -${locator.questions[0].date} xpath=(//div[@class='col-sm-10']/span[@class='ng-binding'])[1]
38   -${locator.questions[0].answer} xpath=(//div[@textarea='question.answer']/pre[@class='ng-binding'])[1]
39   -
40   -*** Keywords ***
41   -Підготувати дані для оголошення тендера
42   - ${INITIAL_TENDER_DATA}= prepare_test_tender_data
43   - ${INITIAL_TENDER_DATA}= Add_data_for_GUI_FrontEnds ${INITIAL_TENDER_DATA}
44   - [return] ${INITIAL_TENDER_DATA}
45   -
46   -Підготувати клієнт для користувача
47   - [Arguments] @{ARGUMENTS}
48   - [Documentation] Відкрити браузер, створити об’єкт api wrapper, тощо
49   - ... ${ARGUMENTS[0]} == username
50   - Open Browser ${USERS.users['${ARGUMENTS[0]}'].homepage} ${USERS.users['${username}'].browser} alias=${ARGUMENTS[0]}
51   - Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size}
52   - Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position}
53   - Run Keyword If '${ARGUMENTS[0]}' != 'E-tender_Viewer' Login
54   -
55   -Login
56   - Wait Until Page Contains Element id=inputUsername 10
57   - Sleep 1
58   - Input text id=inputUsername ${USERS.users['${username}'].login}
59   - Wait Until Page Contains Element id=inputPassword 10
60   - Sleep 1
61   - Input text id=inputPassword ${USERS.users['${username}'].password}
62   - Click Button id=btn_submit
63   -
64   -Створити тендер
65   - [Arguments] @{ARGUMENTS}
66   - [Documentation]
67   - ... ${ARGUMENTS[0]} == username
68   - ... ${ARGUMENTS[1]} == tender_data
69   - ${tender_data}= Add_data_for_GUI_FrontEnds ${ARGUMENTS[1]}
70   - ${tender_data}= procuring_entity_name ${tender_data}
71   - ${items}= Get From Dictionary ${tender_data.data} items
72   - ${title}= Get From Dictionary ${tender_data.data} title
73   - ${description}= Get From Dictionary ${tender_data.data} description
74   - ${budget}= Get From Dictionary ${tender_data.data.value} amount
75   - ${step_rate}= Get From Dictionary ${tender_data.data.minimalStep} amount
76   - ${items_description}= Get From Dictionary ${items[0]} description
77   - ${quantity}= Get From Dictionary ${items[0]} quantity
78   - ${cpv}= Get From Dictionary ${items[0].classification} id
79   - ${unit}= Get From Dictionary ${items[0].unit} name
80   - ${latitude} Get From Dictionary ${items[0].deliveryLocation} latitude
81   - ${longitude} Get From Dictionary ${items[0].deliveryLocation} longitude
82   - ${postalCode} Get From Dictionary ${items[0].deliveryAddress} postalCode
83   - ${streetAddress} Get From Dictionary ${items[0].deliveryAddress} streetAddress
84   - ${deliveryDate} Get From Dictionary ${items[0].deliveryDate} endDate
85   - ${deliveryDate} convert_date_to_etender_format ${deliveryDate}
86   - ${start_date}= Get From Dictionary ${tender_data.data.tenderPeriod} startDate
87   - ${start_date}= convert_date_to_etender_format ${start_date}
88   - ${start_time}= Get From Dictionary ${tender_data.data.tenderPeriod} startDate
89   - ${start_time}= convert_time_to_etender_format ${start_time}
90   - ${end_date}= Get From Dictionary ${tender_data.data.tenderPeriod} endDate
91   - ${end_date}= convert_date_to_etender_format ${end_date}
92   - ${end_time}= Get From Dictionary ${tender_data.data.tenderPeriod} endDate
93   - ${end_time}= convert_time_to_etender_format ${end_time}
94   - ${enquiry_end_date}= Get From Dictionary ${tender_data.data.enquiryPeriod} endDate
95   - ${enquiry_end_date}= convert_date_to_etender_format ${enquiry_end_date}
96   - ${enquiry_end_time}= Get From Dictionary ${tender_data.data.enquiryPeriod} endDate
97   - ${enquiry_end_time}= convert_time_to_etender_format ${enquiry_end_time}
98   -
99   - Selenium2Library.Switch Browser ${ARGUMENTS[0]}
100   - Wait Until Page Contains Мої закупівлі 10
101   - Sleep 1
102   - Click Element xpath=//a[contains(@class, 'ng-binding')][./text()='Мої закупівлі']
103   - Sleep 5
104   - Wait Until Page Contains Element xpath=//a[contains(@class, 'btn btn-info')]
105   - Click Element xpath=//a[contains(@class, 'btn btn-info')]
106   - Wait Until Page Contains Element id=title
107   - Input text id=title ${title}
108   - Input text id=description ${description}
109   - Input text id=value ${budget}
110   - Click Element xpath=//div[contains(@class, 'form-group col-sm-6')]//input[@type='checkbox']
111   - Input text id=minimalStep ${step_rate}
112   - Input text id=itemsDescription ${items_description}
113   - Input text id=itemsQuantity ${quantity}
114   - Input text name=delStartDate ${deliveryDate}
115   - Sleep 2
116   - Input text xpath=//input[@ng-model='data.items[0].deliveryDate.endDate'] ${deliveryDate}
117   - Input text name=latitude ${latitude}
118   - Input text name=longitude ${longitude}
119   - Click Element xpath=//select[@name='region']//option[@label='Київська']
120   - Sleep 2
121   - Click Element xpath=//select[@name='city']//option[@label='Київ']
122   - Input text name=addressStr ${streetAddress}
123   - Input text name=postIndex ${postalCode}
124   - Wait Until Page Contains Element xpath=//select[@name="itemsUnit"]/option[@value='kilogram']
125   - Click Element xpath=//select[@name="itemsUnit"]/option[@value='kilogram']
126   - Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='enqPEndDate'] ${enquiry_end_date}
127   - 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}
128   - Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='startDate'] ${start_date}
129   - 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}
130   - Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='endDate'] ${end_date}
131   - 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}
132   - Sleep 2
133   - Click Element xpath=//div[contains(@class, 'col-sm-2')]//input[@data-target='#classification']
134   - Sleep 1
135   - Input text xpath=//div[contains(@class, 'modal-content')]//input[@ng-model='searchstring'] ${cpv}
136   - Sleep 2
137   - Wait Until Page Contains ${cpv}
138   - Click Element xpath=//td[contains(., '${cpv}')]
139   - Sleep 1
140   - Click Element xpath=//div[contains(@class, 'modal-content')]//button[@ng-click='choose()']
141   - Sleep 1
142   - Додати предмет ${items[0]} 0
143   - Run Keyword if '${mode}' == 'multi' Додати багато предметів items
144   - Sleep 1
145   - Wait Until Page Contains Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit']
146   - Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit']
147   - Sleep 1
148   - Wait Until Page Contains [ТЕСТУВАННЯ] 10
149   - Sleep 20
150   - Click Element xpath=//*[text()='${title}']
151   - Sleep 5
152   - ${tender_UAid}= Get Text xpath=//div[contains(@class, "panel-heading")]
153   - ${tender_UAid}= Get Substring ${tender_UAid} 10
154   - ${Ids}= Convert To String ${tender_UAid}
155   - Run keyword if '${mode}' == 'multi' Set Multi Ids ${ARGUMENTS[0]} ${tender_UAid}
156   - [return] ${Ids}
157   -
158   -Set Multi Ids
159   - [Arguments] @{ARGUMENTS}
160   - [Documentation]
161   - ... ${ARGUMENTS[0]} == ${tender_UAid}
162   - ${current_location}= Get Location
163   - ${id}= Get Substring ${current_location} 10
164   - ${Ids}= Create List ${tender_UAid} ${id}
165   -
166   -Додати предмет
167   - [Arguments] @{ARGUMENTS}
168   - [Documentation]
169   - ... ${ARGUMENTS[0]} == items
170   - ... ${ARGUMENTS[1]} == ${INDEX}
171   - ${dkpp_desc}= Get From Dictionary ${ARGUMENTS[0].additionalClassifications[0]} description
172   - ${dkpp_id}= Get From Dictionary ${ARGUMENTS[0].additionalClassifications[0]} id
173   - Sleep 2
174   - Click Element xpath=(//div[contains(@class, 'col-sm-2')]//input[@data-target='#addClassification'])[${ARGUMENTS[1]}+1]
175   - Wait Until Element Is Visible xpath=//div[contains(@id,'addClassification')]
176   - Sleep 2
177   - Input text xpath=//div[contains(@class, 'modal fade ng-scope in')]//input[@ng-model='searchstring'] ${dkpp_desc}
178   - Wait Until Page Contains ${dkpp_id}
179   - Sleep 1
180   - Click Element xpath=//td[contains(., '${dkpp_id}')]
181   - Click Element xpath=//div[contains(@class, 'modal fade ng-scope in')]//button[@ng-click='choose()']
182   - Sleep 2
183   -
184   -Додати багато предметів
185   - [Arguments] @{ARGUMENTS}
186   - [Documentation]
187   - ... ${ARGUMENTS[0]} == items
188   - ${Items_length}= Get Length ${items}
189   - : FOR ${INDEX} IN RANGE 1 ${Items_length}
190   - \ Click Element xpath=.//*[@id='myform']/tender-form/div/button
191   - \ Додати предмет ${items[${INDEX}]} ${INDEX}
192   -
193   -Клацнути і дочекатися
194   - [Arguments] ${click_locator} ${wanted_locator} ${timeout}
195   - [Documentation]
196   - ... click_locator: Where to click
197   - ... wanted_locator: What are we waiting for
198   - ... timeout: Timeout
199   - Click Link ${click_locator}
200   - Wait Until Page Contains Element ${wanted_locator} ${timeout}
201   -
202   -Шукати і знайти
203   - Клацнути і дочекатися jquery=a[ng-click='search()'] jquery=a[href^="#/tenderDetailes"] 5
204   -
205   -Пошук тендера по ідентифікатору
206   - [Arguments] @{ARGUMENTS}
207   - [Documentation]
208   - ... ${ARGUMENTS[0]} == username
209   - ... ${ARGUMENTS[1]} == ${TENDER_UAID}
210   - Switch browser ${ARGUMENTS[0]}
211   - Go To ${USERS.users['${ARGUMENTS[0]}'].homepage}
212   - Wait Until Page Contains Прозорі закупівлі 10
213   - sleep 1
214   - Input Text jquery=input[ng-change='searchChange()'] ${ARGUMENTS[1]}
215   - sleep 1
216   - ${timeout_on_wait}= Get Broker Property By Username ${ARGUMENTS[0]} timeout_on_wait
217   - ${passed}= Run Keyword And Return Status Wait Until Keyword Succeeds ${timeout_on_wait} s 0 s Шукати і знайти
218   - Run Keyword Unless ${passed} Fatal Error Тендер не знайдено за ${timeout_on_wait} секунд
219   - sleep 3
220   - Click Link jquery=a[href^="#/tenderDetailes"]
221   - Wait Until Page Contains ${ARGUMENTS[1]} 10
222   - sleep 1
223   - Capture Page Screenshot
224   -
225   -Завантажити документ
226   - [Arguments] @{ARGUMENTS}
227   - [Documentation]
228   - ... ${ARGUMENTS[0]} == username
229   - ... ${ARGUMENTS[1]} == ${TENDER_UAID}
230   - ... ${ARGUMENTS[2]} == ${Complain}
231   - Fail Тест не написаний
232   -
233   -Подати скаргу
234   - [Arguments] @{ARGUMENTS}
235   - [Documentation]
236   - ... ${ARGUMENTS[0]} == username
237   - ... ${ARGUMENTS[1]} == ${TENDER_UAID}
238   - ... ${ARGUMENTS[2]} == ${Complain}
239   - Fail Не реалізований функціонал
240   -
241   -порівняти скаргу
242   - [Arguments] @{ARGUMENTS}
243   - [Documentation]
244   - ... ${ARGUMENTS[0]} == username
245   - ... ${ARGUMENTS[1]} == ${file_path}
246   - ... ${ARGUMENTS[2]} == ${TENDER_UAID}
247   - Fail Не реалізований функціонал
248   -
249   -Подати цінову пропозицію
250   - [Arguments] @{ARGUMENTS}
251   - [Documentation]
252   - ... ${ARGUMENTS[0]} == username
253   - ... ${ARGUMENTS[1]} == ${TENDER_UAID}
254   - ... ${ARGUMENTS[2]} == ${test_bid_data}
255   - ${bid}= Get From Dictionary ${ARGUMENTS[2].data.value} amount
256   - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
257   - Wait Until Page Contains Інформація про процедуру закупівлі 10
258   - Wait Until Page Contains Element id=amount 10
259   - Input text id=amount ${bid}
260   - Click Element xpath=//button[contains(@class, 'btn btn-success')][./text()='Реєстрація пропозиції']
261   - DEBUG
262   - Click Element xpath=//div[@class='row']/button[@class='btn btn-success']
263   -
264   -скасувати цінову пропозицію
265   - [Arguments] @{ARGUMENTS}
266   - [Documentation]
267   - ... ${ARGUMENTS[0]} == username
268   - ... ${ARGUMENTS[1]} == ${TENDER_UAID}
269   - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
270   - Click Element xpath=//button[@class='btn-sm btn-danger ng-isolate-scope']
271   -
272   -Оновити сторінку з тендером
273   - [Arguments] @{ARGUMENTS}
274   - [Documentation]
275   - ... ${ARGUMENTS[0]} = username
276   - ... ${ARGUMENTS[1]} = ${TENDER_UAID}
277   - Selenium2Library.Switch Browser ${ARGUMENTS[0]}
278   - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
279   - Reload Page
280   -
281   -Задати питання
282   - [Arguments] @{ARGUMENTS}
283   - [Documentation]
284   - ... ${ARGUMENTS[0]} = username
285   - ... ${ARGUMENTS[1]} = ${TENDER_UAID}
286   - ... ${ARGUMENTS[2]} = question_data
287   -
288   - ${title}= Get From Dictionary ${ARGUMENTS[2].data} title
289   - ${description}= Get From Dictionary ${ARGUMENTS[2].data} description
290   -
291   - Selenium2Library.Switch Browser ${ARGUMENTS[0]}
292   - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
293   - Wait Until Page Contains Element jquery=a[href^="#/addQuestion/"] 10
294   - Click Element jquery=a[href^="#/addQuestion/"]
295   - Wait Until Page Contains Element id=title
296   - Input text id=title ${title}
297   - Input text id=description ${description}
298   - Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit']
299   -
300   -Відповісти на питання
301   - [Arguments] @{ARGUMENTS}
302   - [Documentation]
303   - ... ${ARGUMENTS[0]} = username
304   - ... ${ARGUMENTS[1]} = ${TENDER_UAID}
305   - ... ${ARGUMENTS[2]} = 0
306   - ... ${ARGUMENTS[3]} = answer_data
307   -
308   - ${answer}= Get From Dictionary ${ARGUMENTS[3].data} answer
309   -
310   - Selenium2Library.Switch Browser ${ARGUMENTS[0]}
311   - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
312   - Wait Until Page Contains Element xpath=//pre[@class='ng-binding'][text()='Додати відповідь'] 10
313   - Click Element xpath=//pre[@class='ng-binding'][text()='Додати відповідь']
314   - Input text xpath=//div[@class='editable-controls form-group']//textarea ${answer}
315   - Click Element xpath=//span[@class='editable-buttons']/button[@type='submit']
316   -
317   -Внести зміни в тендер
318   - [Arguments] @{ARGUMENTS}
319   - [Documentation]
320   - ... ${ARGUMENTS[0]} = username
321   - ... ${ARGUMENTS[1]} = ${TENDER_UAID}
322   - ${period_interval}= Get Broker Property By Username ${ARGUMENTS[0]} period_interval
323   - ${ADDITIONAL_DATA}= prepare_test_tender_data ${period_interval} single
324   - ${tender_data}= Add_data_for_GUI_FrontEnds ${ADDITIONAL_DATA}
325   - ${items}= Get From Dictionary ${tender_data.data} items
326   - ${description}= Get From Dictionary ${tender_data.data} description
327   - Selenium2Library.Switch Browser ${ARGUMENTS[0]}
328   - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
329   - Wait Until Page Contains Element xpath=//a[@class='btn btn-primary ng-scope'] 10
330   - Click Element xpath=//a[@class='btn btn-primary ng-scope']
331   - Sleep 2
332   - Input text id=description ${description}
333   - Click Element xpath=//button[@class='btn btn-info ng-isolate-scope']
334   - Capture Page Screenshot
335   -
336   -додати предмети закупівлі
337   - [Arguments] @{ARGUMENTS}
338   - [Documentation]
339   - ... ${ARGUMENTS[0]} = username
340   - ... ${ARGUMENTS[1]} = ${TENDER_UAID}
341   - ... ${ARGUMENTS[2]} = 3
342   - ${period_interval}= Get Broker Property By Username ${ARGUMENTS[0]} period_interval
343   - ${ADDITIONAL_DATA}= prepare_test_tender_data ${period_interval} multi
344   - ${tender_data}= Add_data_for_GUI_FrontEnds ${ADDITIONAL_DATA}
345   - ${items}= Get From Dictionary ${tender_data.data} items
346   - Selenium2Library.Switch Browser ${ARGUMENTS[0]}
347   - Run keyword if '${TEST NAME}' == 'Можливість додати позицію закупівлі в тендер' додати позицію
348   - Run keyword if '${TEST NAME}' != 'Можливість додати позицію закупівлі в тендер' видалити позиції
349   -
350   -додати позицію
351   - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
352   - Sleep 2
353   - Click Element xpath=//a[@class='btn btn-primary ng-scope']
354   - Sleep 2
355   - : FOR ${INDEX} IN RANGE 1 ${ARGUMENTS[2]} +1
356   - \ Click Element xpath=.//*[@id='myform']/tender-form/div/button
357   - \ Додати предмет ${items[${INDEX}]} ${INDEX}
358   - Sleep 2
359   - Click Element xpath=//div[@class='form-actions']/button[./text()='Зберегти зміни']
360   - Wait Until Page Contains [ТЕСТУВАННЯ] 10
361   -
362   -видалити позиції
363   - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
364   - Click Element xpath=//a[@class='btn btn-primary ng-scope']
365   - Sleep 2
366   - : FOR ${INDEX} IN RANGE 1 ${ARGUMENTS[2]} +1
367   - \ Click Element xpath=(//button[@class='btn btn-danger ng-scope'])[last()]
368   - \ Sleep 1
369   - Sleep 2
370   - Wait Until Page Contains Element xpath=//div[@class='form-actions']/button[./text()='Зберегти зміни'] 10
371   - Click Element xpath=//div[@class='form-actions']/button[./text()='Зберегти зміни']
372   - Wait Until Page Contains [ТЕСТУВАННЯ] 10
373   -
374   -Отримати інформацію із тендера
375   - [Arguments] @{ARGUMENTS}
376   - [Documentation]
377   - ... ${ARGUMENTS[0]} == username
378   - ... ${ARGUMENTS[1]} == fieldname
379   - Switch browser ${ARGUMENTS[0]}
380   - Run Keyword And Return Отримати інформацію про ${ARGUMENTS[1]}
381   -
382   -Отримати текст із поля і показати на сторінці
383   - [Arguments] ${fieldname}
384   - sleep 3
385   -# відмітити на сторінці поле з тендера ${fieldname} ${locator.${fieldname}}
386   - ${return_value}= Get Text ${locator.${fieldname}}
387   - [return] ${return_value}
388   -
389   -Отримати інформацію про title
390   - ${return_value}= Отримати текст із поля і показати на сторінці title
391   - [return] ${return_value}
392   -
393   -Отримати інформацію про description
394   - ${return_value}= Отримати текст із поля і показати на сторінці description
395   - [return] ${return_value}
396   -
397   -Отримати інформацію про minimalStep.amount
398   - ${return_value}= Отримати текст із поля і показати на сторінці minimalStep.amount
399   - ${return_value}= Convert To Number ${return_value.split(' ')[0]}
400   - [return] ${return_value}
401   -
402   -Отримати інформацію про value.amount
403   - ${return_value}= Отримати текст із поля і показати на сторінці value.amount
404   - ${return_value}= Evaluate "".join("${return_value}".split(' ')[:-3])
405   - ${return_value}= Convert To Number ${return_value}
406   - [return] ${return_value}
407   -
408   -Відмітити на сторінці поле з тендера
409   - [Arguments] ${fieldname} ${locator}
410   - ${last_note_id}= Add pointy note ${locator} Found ${fieldname} width=200 position=bottom
411   - Align elements horizontally ${locator} ${last_note_id}
412   - sleep 1
413   - Remove element ${last_note_id}
414   -
415   -Отримати інформацію про tenderId
416   - ${return_value}= Отримати текст із поля і показати на сторінці tenderId
417   - ${return_value}= Get Substring ${return_value} 10
418   - [return] ${return_value}
419   -
420   -Отримати інформацію про procuringEntity.name
421   - ${return_value}= Отримати текст із поля і показати на сторінці procuringEntity.name
422   - [return] ${return_value}
423   -
424   -Отримати інформацію про tenderPeriod.startDate
425   - ${return_value}= Отримати текст із поля і показати на сторінці tenderPeriod.startDate
426   - ${return_value}= Change_date_to_month ${return_value}
427   - [return] ${return_value}
428   -
429   -Отримати інформацію про tenderPeriod.endDate
430   - ${return_value}= Отримати текст із поля і показати на сторінці tenderPeriod.endDate
431   - ${return_value}= Change_date_to_month ${return_value}
432   - [return] ${return_value}
433   -
434   -Отримати інформацію про enquiryPeriod.startDate
435   - ${return_value}= Отримати текст із поля і показати на сторінці enquiryPeriod.startDate
436   - ${return_value}= Change_date_to_month ${return_value}
437   - [return] ${return_value}
438   -
439   -Отримати інформацію про enquiryPeriod.endDate
440   - ${return_value}= Отримати текст із поля і показати на сторінці enquiryPeriod.endDate
441   - ${return_value}= Change_date_to_month ${return_value}
442   - [return] ${return_value}
443   -
444   -Change_date_to_month
445   - [Arguments] @{ARGUMENTS}
446   - [Documentation]
447   - ... ${ARGUMENTS[0]} == date
448   - ${day}= Get Substring ${ARGUMENTS[0]} 0 2
449   - ${month}= Get Substring ${ARGUMENTS[0]} 3 6
450   - ${year}= Get Substring ${ARGUMENTS[0]} 5
451   - ${return_value}= Convert To String ${month}${day}${year}
452   - [return] ${return_value}
453   -
454   -Отримати інформацію про items[0].description
455   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].description
456   - [return] ${return_value}
457   -
458   -Отримати інформацію про items[0].deliveryLocation.latitude
459   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryLocation.latitude
460   - ${return_value}= Get Substring ${return_value} 0 10
461   - [return] ${return_value}
462   -
463   -Отримати інформацію про items[0].deliveryLocation.longitude
464   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryLocation.longitude
465   - ${return_value}= Get Substring ${return_value} 12 22
466   - [return] ${return_value}
467   -
468   -Отримати інформацію про items[0].unit.code
469   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].unit.code
470   - ${return_value}= Get Substring ${return_value} 5
471   - Run Keyword And Return If '${return_value}' == 'кг.' Convert To String KGM
472   - [return] ${return_value}
473   -
474   -Отримати інформацію про items[0].quantity
475   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].quantity
476   - ${return_value}= Get Substring ${return_value} 0 4
477   - ${return_value}= Convert To Number ${return_value}
478   - [return] ${return_value}
479   -
480   -Отримати інформацію про items[0].classification.id
481   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].classification.id
482   - [return] ${return_value.split(' ')[0]}
483   -
484   -Отримати інформацію про items[0].classification.scheme
485   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].classification.scheme
486   - ${return_value}= Get Substring ${return_value} 0 -1
487   - [return] ${return_value.split(' ')[1]}
488   -
489   -Отримати інформацію про items[0].classification.description
490   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].classification.description
491   - ${return_value}= Get Substring ${return_value} 11
492   - Run Keyword And Return If '${return_value}' == 'Картонки' Convert To String Cartons
493   - [return] ${return_value}
494   -
495   -Отримати інформацію про items[0].additionalClassifications[0].id
496   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].additionalClassifications[0].id
497   - [return] ${return_value.split(' ')[0]}
498   -
499   -Отримати інформацію про items[0].additionalClassifications[0].scheme
500   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].additionalClassifications[0].scheme
501   - ${return_value}= Get Substring ${return_value} 0 -1
502   - [return] ${return_value.split(' ')[1]}
503   -
504   -Отримати інформацію про items[0].additionalClassifications[0].description
505   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].additionalClassifications[0].description
506   - ${return_value}= Get Substring ${return_value} 8 60
507   - ${return_value}= Remove String ${return_value} "
508   - ${return_value}= Convert To Lowercase ${return_value}
509   - [return] ${return_value}
510   -
511   -Отримати інформацію про items[0].deliveryAddress.postalCode
512   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryAddress.postalCode
513   - ${return_value}= Get Substring ${return_value} 0 5
514   - [return] ${return_value}
515   -
516   -Отримати інформацію про items[0].deliveryAddress.countryName
517   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryAddress.countryName
518   - ${return_value}= Get Substring ${return_value} 0 7
519   - [return] ${return_value}
520   -
521   -Отримати інформацію про items[0].deliveryAddress.region
522   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryAddress.region
523   - Run Keyword And Return Remove String ${return_value} ,
524   -
525   -Отримати інформацію про items[0].deliveryAddress.locality
526   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryAddress.locality
527   - Run Keyword And Return Remove String ${return_value} ,
528   -
529   -Отримати інформацію про items[0].deliveryAddress.streetAddress
530   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryAddress.streetAddress
531   - [return] ${return_value}
532   -
533   -Отримати інформацію про items[0].deliveryDate.endDate
534   - ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryDate.endDate
535   - ${time}= Отримати текст із поля і показати на сторінці enquiryPeriod.startDate
536   - ${time}= Get Substring ${time} 11
537   - ${day}= Get Substring ${return_value} 16 18
538   - ${month}= Get Substring ${return_value} 18 22
539   - ${year}= Get Substring ${return_value} 22
540   - ${return_value}= Convert To String ${year}${month}${day}${time}
541   - [return] ${return_value}
542   -
543   -Отримати інформацію про questions[0].title
544   - ${return_value}= Отримати текст із поля і показати на сторінці questions[0].title
545   - [return] ${return_value}
546   -
547   -Отримати інформацію про questions[0].description
548   - ${return_value}= Отримати текст із поля і показати на сторінці questions[0].description
549   - [return] ${return_value}
550   -
551   -Отримати інформацію про questions[0].date
552   - ${return_value}= Отримати текст із поля і показати на сторінці questions[0].date
553   - ${return_value}= Change_date_to_month ${return_value}
554   - [return] ${return_value}
555   -
556   -Отримати інформацію про questions[0].answer
557   - ${return_value}= Отримати текст із поля і показати на сторінці questions[0].answer
558   - [return] ${return_value}
1   -# -*- coding: utf-8 -
2   -from iso8601 import parse_date
3   -
4   -
5   -def convert_date_to_etender_format(isodate):
6   - iso_dt = parse_date(isodate)
7   - date_string = iso_dt.strftime("%d-%m-%Y")
8   - return date_string
9   -
10   -
11   -def convert_datetime_for_delivery(isodate):
12   - iso_dt = parse_date(isodate)
13   - date_string = iso_dt.strftime("%Y-%m-%d %H:%M")
14   - return date_string
15   -
16   -
17   -def convert_time_to_etender_format(isodate):
18   - iso_dt = parse_date(isodate)
19   - time_string = iso_dt.strftime("%H:%M")
20   - return time_string
21   -
22   -
23   -def procuring_entity_name(tender_data):
24   - tender_data.data.procuringEntity['name'] = u"Повна назва невідомо чого"
25   - return tender_data
... ... @@ -96,7 +96,10 @@ Get Broker Property By Username
96 96 [return] ${tender_data}
97 97
98 98 Завантажуємо бібліотеку з реалізацією для майданчика ${keywords_file}
99   - Import Resource ${CURDIR}/brokers/${keywords_file}.robot
  99 + ${bundled_st}= Run Keyword And Return Status Import Resource ${CURDIR}/brokers/${keywords_file}.robot
  100 + ${external_st}= Run Keyword And Return Status Import Resource ${CURDIR}/../../src/robot_tests.broker.${keywords_file}/${keywords_file}.robot
  101 + Should Be True ${bundled_st} or ${external_st}
  102 + Should Not Be True ${bundled_st} and ${external_st}
100 103
101 104 ##################################################################################
102 105 Дочекатись синхронізації з майданчиком
... ...
Please register or login to post a comment