Commit 196a3acc0d4eb7e17d9b9d774ecf8d0604b5f541

Authored by selurvedu
1 parent 66a09b4a

Newtend: Export to separate repository

https://github.com/openprocurement/robot_tests.broker.newtend
... ... @@ -38,6 +38,7 @@ gh_push = git@github.com:
38 38 barbecue = git ${remotes:gh}openprocurement/barbecue.git
39 39 openprocurement_client = git ${remotes:gh}openprocurement/openprocurement.client.python.git
40 40 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
41 42 robot_tests.broker.privatmarket = git ${remotes:gh}openprocurement/robot_tests.broker.privatmarket.git
42 43 robot_tests.broker.prom = git ${remotes:gh}openprocurement/robot_tests.broker.prom.git
43 44 robot_tests.broker.publicbid = git ${remotes:gh}openprocurement/robot_tests.broker.publicbid.git
... ...
1   -*** Settings ***
2   -Library Selenium2Screenshots
3   -Library String
4   -Library DateTime
5   -Library newtend_service.py
6   -
7   -*** Variables ***
8   -${locator.title} xpath=//div[@ng-bind="tender.title"]
9   -${locator.description} xpath=//div[@ng-bind="tender.description"]
10   -${locator.edit.description} name=tenderDescription
11   -${locator.value.amount} xpath=//div[@ng-bind="tender.value.amount"]
12   -${locator.minimalStep.amount} xpath=//div[@ng-bind="tender.minimalStep.amount"]
13   -${locator.tenderId} xpath=//a[@class="ng-binding ng-scope"]
14   -${locator.procuringEntity.name} xpath=//div[@ng-bind="tender.procuringEntity.name"]
15   -${locator.enquiryPeriod.StartDate} id=start-date-qualification
16   -${locator.enquiryPeriod.endDate} id=end-date-qualification
17   -${locator.tenderPeriod.startDate} id=start-date-registration
18   -${locator.tenderPeriod.endDate} id=end-date-registration
19   -${locator.items[0].deliveryAddress} id=deliveryAddress
20   -${locator.items[0].deliveryDate.endDate} id=end-date-delivery
21   -${locator.items[0].description} xpath=//div[@ng-bind="item.description"]
22   -${locator.items[0].classification.scheme} id=classifier
23   -${locator.items[0].classification.scheme.title} xpath=//label[contains(., "Классификатор CPV")]
24   -${locator.items[0].additional_classification[0].scheme} id=classifier2
25   -${locator.items[0].additional_classification[0].scheme.title} xpath=//label[@for="classifier2"]
26   -${locator.items[0].quantity} id=quantity
27   -${locator.items[0].unit.name} xpath=//span[@class="unit ng-binding"]
28   -${locator.edit_tender} xpath=//button[@ng-if="actions.can_edit_tender"]
29   -${locator.edit.add_item} xpath=//a[@class="icon-black plus-black remove-field ng-scope"]
30   -${locator.save} xpath=//button[@class="btn btn-lg btn-default cancel pull-right ng-binding"]
31   -${locator.QUESTIONS[0].title} xpath=//span[@class="user ng-binding"]
32   -${locator.QUESTIONS[0].description} xpath=//span[@class="question-description ng-binding"]
33   -${locator.QUESTIONS[0].date} xpath=//span[@class="date ng-binding"]
34   -
35   -*** Keywords ***
36   -Підготувати дані для оголошення тендера
37   - ${INITIAL_TENDER_DATA}= prepare_test_tender_data
38   - ${INITIAL_TENDER_DATA}= Add_data_for_GUI_FrontEnds ${INITIAL_TENDER_DATA}
39   - ${INITIAL_TENDER_DATA}= Update_data_for_Newtend ${INITIAL_TENDER_DATA}
40   - [return] ${INITIAL_TENDER_DATA}
41   -
42   -Підготувати клієнт для користувача
43   - [Arguments] @{ARGUMENTS}
44   - [Documentation] Відкрити браузер, створити об’єкт api wrapper, тощо
45   - ... ${ARGUMENTS[0]} == username
46   - Open Browser
47   - ... ${USERS.users['${ARGUMENTS[0]}'].homepage}
48   - ... ${USERS.users['${ARGUMENTS[0]}'].browser}
49   - ... alias=${ARGUMENTS[0]}
50   - Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size}
51   - Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position}
52   - Run Keyword If '${username}' != 'Newtend_Viewer' Login
53   -
54   -Login
55   - Wait Until Page Contains Element id=indexpage_login 20
56   - Click Element id=indexpage_login
57   - Wait Until Page Contains Element id=password 20
58   - Input text id=login-email ${USERS.users['${username}'].login}
59   - Input text id=password ${USERS.users['${username}'].password}
60   - Click Element id=submit-login-button
61   - Wait Until Page Contains Element xpath =//a[@class="close-modal-dialog"] 20
62   - Go to ${USERS.users['${ARGUMENTS[0]}'].homepage}
63   -# Wait Until Page Contains Element xpath=//div[@class="introjs-overlay"] 20
64   -
65   -Створити тендер
66   - [Arguments] @{ARGUMENTS}
67   - [Documentation]
68   - ... ${ARGUMENTS[0]} == username
69   - ... ${ARGUMENTS[1]} == tender_data
70   -## Initialisation
71   - ${prepared_tender_data}= Add_data_for_GUI_FrontEnds ${ARGUMENTS[1]}
72   - ${prepared_tender_data}= Update_data_for_Newtend ${prepared_tender_data}
73   - ${items}= Get From Dictionary ${prepared_tender_data.data} items
74   - ${title}= Get From Dictionary ${prepared_tender_data.data} title
75   - ${description}= Get From Dictionary ${prepared_tender_data.data} description
76   - ${budget}= Get From Dictionary ${prepared_tender_data.data.value} amount
77   - ${step_rate}= Get From Dictionary ${prepared_tender_data.data.minimalStep} amount
78   - ${start_date}= Get From Dictionary ${prepared_tender_data.data.tenderPeriod} startDate
79   - ${end_date}= Get From Dictionary ${prepared_tender_data.data.tenderPeriod} endDate
80   - ${enquiry_start_date}= Get From Dictionary ${prepared_tender_data.data.enquiryPeriod} startDate
81   - ${enquiry_end_date}= Get From Dictionary ${prepared_tender_data.data.enquiryPeriod} endDate
82   -
83   - Selenium2Library.Switch Browser ${ARGUMENTS[0]}
84   - Go To ${USERS.users['${username}'].homepage}
85   - Wait Until Page Contains Element xpath=//a[@href="#/create-tender"] 100
86   - Click Link xpath=//a[@href="#/create-tender"]
87   - Wait Until Page Contains Новый тендер 100
88   -# Input fields tender
89   - Input text name=tenderName ${title}
90   - Input text ${locator.edit.description} ${description}
91   - Input text id=budget ${budget}
92   - Click Element id=with-nds
93   - Input text id=step ${step_rate}
94   -# Add Item(s)
95   - Додати придмет ${items[0]} 0
96   - Run Keyword If '${mode}' == 'multi' Додати багато придметів items
97   -# Set tender datatimes
98   - Set datetime start-date-registration ${start_date}
99   - Set datetime end-date-registration ${end_date}
100   - Set datetime end-date-qualification ${enquiry_end_date}
101   - Set datetime start-date-qualification ${enquiry_start_date}
102   -# Save
103   - Click Element ${locator.save}
104   - Wait Until Page Contains Element xpath=//div[@ng-click="goHome()"] 30
105   - Click Element xpath=//div[@ng-click="goHome()"]
106   -# Get Ids
107   - Wait Until Page Contains Element xpath=//div[@class="title"] 30
108   - ${tender_UAid}= Get Text xpath=//div[@class="title"]
109   - ${Ids}= Convert To String ${tender_UAid}
110   - Run keyword if '${mode}' == 'multi' Set Multi Ids ${tender_UAid}
111   - [return] ${Ids}
112   -
113   -Set Multi Ids
114   - [Arguments] @{ARGUMENTS}
115   - [Documentation]
116   - ... ${ARGUMENTS[0]} == ${tender_UAid}
117   - ${current_location}= Get Location
118   - ${id}= Get Substring ${current_location} -41 -9
119   - ${Ids}= Create List ${tender_UAid} ${id}
120   -
121   -Set datetime
122   - [Arguments] @{ARGUMENTS}
123   - [Documentation]
124   - ... ${ARGUMENTS[0]} == control_id
125   - ... ${ARGUMENTS[1]} == date
126   -#Pick Date
127   - Click Element xpath=//input[@id="${ARGUMENTS[0]}"]/../span[@class="calendar-btn"]
128   - Wait Until Page Contains Element xpath=//td[@class="text-center ng-scope"] 30
129   - ${datapicker_id}= Get Element Attribute xpath=//input[@id="${ARGUMENTS[0]}"]/..//td[@class="text-center ng-scope"]@id
130   - ${datapicker_id}= Get Substring ${datapicker_id} 0 -1
131   - ${date_index}= newtend_date_picker_index ${ARGUMENTS[1]}
132   - ${datapicker_id}= Convert To String ${datapicker_id}${date_index}
133   - Click Element xpath=//input[@id="${ARGUMENTS[0]}"]/..//td[@id="${datapicker_id}"]/button
134   -#Set time
135   - ${hous}= Get Substring ${ARGUMENTS[1]} 11 13
136   - ${minutes}= Get Substring ${ARGUMENTS[1]} 14 16
137   - Input text xpath=//input[@id="${ARGUMENTS[0]}"]/../..//input[@ng-model="hours"] ${hous}
138   - Input text xpath=//input[@id="${ARGUMENTS[0]}"]/../..//input[@ng-model="minutes"] ${minutes}
139   -
140   -Додати придмет
141   - [Arguments] @{ARGUMENTS}
142   - [Documentation]
143   - ... ${ARGUMENTS[0]} == items_n
144   - ... ${ARGUMENTS[1]} == index
145   -## Get values for item
146   - ${items_description}= Get From Dictionary ${ARGUMENTS[0]} description
147   - ${quantity}= Get From Dictionary ${ARGUMENTS[0]} quantity
148   - ${cpv}= Convert To String Картонки
149   - ${dkpp_desc}= Get From Dictionary ${ARGUMENTS[0].additionalClassifications[0]} description
150   - ${dkpp_id}= Get From Dictionary ${ARGUMENTS[0].additionalClassifications[0]} id
151   - ${unit}= Get From Dictionary ${ARGUMENTS[0].unit} name
152   - ${deliverydate_end_date}= Get From Dictionary ${ARGUMENTS[0].deliveryDate} endDate
153   - ${countryName}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} countryName
154   - ${ZIP}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} postalCode
155   - ${region}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} region
156   - ${locality}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} locality
157   - ${streetAddress}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} streetAddress
158   -
159   - Set datetime end-date-delivery${ARGUMENTS[1]} ${deliverydate_end_date}
160   -# Set CPV
161   - Wait Until Page Contains Element id=classifier1${ARGUMENTS[1]}
162   - Click Element id=classifier1${ARGUMENTS[1]}
163   - Wait Until Page Contains Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] 100
164   - Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${cpv}
165   - Wait Until Page Contains Element xpath=//span[contains(text(),'${cpv}')] 20
166   - Click Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"]
167   - Click Element xpath=//button[@class="btn btn-default btn-lg pull-right choose ng-binding"]
168   -# Set ДКПП
169   - Click Element id=classifier2${ARGUMENTS[1]}
170   - Wait Until Page Contains Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] 100
171   - Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${dkpp_desc}
172   - Wait Until Page Contains Element xpath=//span[contains(text(),'${dkpp_id}')] 100
173   - Click Element xpath=//span[contains(text(),'${dkpp_id}')]/../..//input[@class="ng-pristine ng-untouched ng-valid"]
174   - Click Element xpath=//button[@class="btn btn-default btn-lg pull-right choose ng-binding"]
175   -# Set Delivery Address
176   - Click Element id=deliveryAddress${ARGUMENTS[1]}
177   - Wait Until Page Contains Element xpath=//input[@ng-model="deliveryAddress.postalCode"] 20
178   - Input text xpath=//input[@ng-model="deliveryAddress.postalCode"] ${ZIP}
179   - Input text xpath=//input[@ng-model="deliveryAddress.region"] ${region}
180   - Input text xpath=//input[@ng-model="deliveryAddress.locality"] ${locality}
181   - Input text xpath=//input[@ng-model="deliveryAddress.streetAddress"] ${streetAddress}
182   - Click Element xpath=//button[@class="btn btn-lg single-btn ng-binding"]
183   -# Add item main info
184   - Click Element xpath=//a[contains(text(), "единицы измерения")]
185   - Click Element xpath=//a[contains(text(), "единицы измерения")]/..//a[contains(text(), '${unit}')]
186   - Input text id=quantity${ARGUMENTS[1]} ${quantity}
187   - Input text id=itemDescription${ARGUMENTS[1]} ${items_description}
188   -
189   -Додати багато придметів
190   - [Arguments] @{ARGUMENTS}
191   - [Documentation]
192   - ... ${ARGUMENTS[0]} == items
193   - ${Items_length}= Get Length ${items}
194   - : FOR ${INDEX} IN RANGE 1 ${Items_length}
195   - \ Click Element ${locator.edit.add_item}
196   - \ Додати придмет ${items[${INDEX}]} ${INDEX}
197   -
198   -Завантажити документ
199   - [Arguments] @{ARGUMENTS}
200   - [Documentation]
201   - ... ${ARGUMENTS[0]} == username
202   - ... ${ARGUMENTS[1]} == ${TENDER_UAID}
203   - ... ${ARGUMENTS[2]} == ${Complain}
204   - Fail Тест не написаний
205   -
206   -Подати скаргу
207   - [Arguments] @{ARGUMENTS}
208   - [Documentation]
209   - ... ${ARGUMENTS[0]} == username
210   - ... ${ARGUMENTS[1]} == ${TENDER_UAID}
211   - ... ${ARGUMENTS[2]} == ${Complain}
212   - Fail Не реалізований функціонал
213   -
214   -порівняти скаргу
215   - [Arguments] @{ARGUMENTS}
216   - [Documentation]
217   - ... ${ARGUMENTS[0]} == username
218   - ... ${ARGUMENTS[1]} == ${file_path}
219   - ... ${ARGUMENTS[2]} == ${TENDER_UAID}
220   - Fail Не реалізований функціонал
221   -
222   -Пошук тендера по ідентифікатору
223   - [Arguments] @{ARGUMENTS}
224   - [Documentation]
225   - ... ${ARGUMENTS[0]} == username
226   - ... ${ARGUMENTS[1]} == ${TENDER_UAID}
227   - Switch browser ${ARGUMENTS[0]}
228   - Go to ${USERS.users['${ARGUMENTS[0]}'].homepage}
229   -### Індексація на тестовому сервері відключена, як наслідок пошук по UAid не працює, отож застосовую обхід цієї функціональності для розблокування наступних тестів
230   -# Wait Until Page Contains Element xpath=//div[@class="search-field"]/input 20
231   -# #${ARGUMENTS[1]}= Convert To String UA-2015-06-08-000023
232   -# Input text xpath=//div[@class="search-field"]/input ${ARGUMENTS[1]}
233   -# : FOR ${INDEX} IN RANGE 1 30
234   -# \ Log To Console . no_newline=true
235   -# \ sleep 1
236   -# \ ${count}= Get Matching Xpath Count xpath=//a[@class="row tender-info ng-scope"]
237   -# \ Exit For Loop If '${count}' == '1'
238   - Sleep 2
239   - Go to ${USERS.users['${ARGUMENTS[0]}'].homepage}
240   - ${ARGUMENTS[1]}= Convert To String Воркераунд для проходженя наступних тестів - пошук не працює.
241   -###
242   - Wait Until Page Contains Element xpath=(//a[@class="row tender-info ng-scope"]) 20
243   - Sleep 5
244   - Click Element xpath=(//a[@class="row tender-info ng-scope"])
245   - Wait Until Page Contains Element xpath=//a[@class="ng-binding ng-scope"]|//span[@class="ng-binding ng-scope"] 30
246   -
247   -отримати інформацію із тендера
248   - [Arguments] @{ARGUMENTS}
249   - [Documentation]
250   - ... ${ARGUMENTS[0]} == username
251   - ... ${ARGUMENTS[1]} == fieldname
252   - Switch browser ${ARGUMENTS[0]}
253   - Run Keyword And Return Отримати інформацію про ${ARGUMENTS[1]}
254   -
255   -отримати текст із поля і показати на сторінці
256   - [Arguments] ${fieldname}
257   - sleep 1
258   - ${return_value}= Get Text ${locator.${fieldname}}
259   - [return] ${return_value}
260   -
261   -отримати інформацію про title
262   - ${title}= отримати текст із поля і показати на сторінці title
263   - [return] ${title}
264   -
265   -отримати інформацію про description
266   - ${description}= отримати текст із поля і показати на сторінці description
267   - [return] ${description}
268   -
269   -отримати інформацію про tenderId
270   - ${tenderId}= отримати текст із поля і показати на сторінці tenderId
271   - [return] ${tenderId}
272   -
273   -отримати інформацію про value.amount
274   - ${valueAmount}= отримати текст із поля і показати на сторінці value.amount
275   - ${valueAmount}= Convert To Number ${valueAmount.split(' ')[0]}
276   - [return] ${valueAmount}
277   -
278   -отримати інформацію про minimalStep.amount
279   - ${minimalStepAmount}= отримати текст із поля і показати на сторінці minimalStep.amount
280   - ${minimalStepAmount}= Convert To Number ${minimalStepAmount.split(' ')[0]}
281   - [return] ${minimalStepAmount}
282   -
283   -Внести зміни в тендер
284   - [Arguments] @{ARGUMENTS}
285   - [Documentation]
286   - ... ${ARGUMENTS[0]} == username
287   - ... ${ARGUMENTS[1]} == id
288   - ... ${ARGUMENTS[2]} == fieldname
289   - ... ${ARGUMENTS[3]} == fieldvalue
290   - Switch browser ${ARGUMENTS[0]}
291   - Click button ${locator.edit_tender}
292   - Wait Until Page Contains Element ${locator.edit.${ARGUMENTS[2]}} 20
293   - Input Text ${locator.edit.${ARGUMENTS[2]}} ${ARGUMENTS[3]}
294   - Click Element ${locator.save}
295   - Wait Until Page Contains Element ${locator.${ARGUMENTS[2]}} 20
296   - ${result_field}= отримати текст із поля і показати на сторінці ${ARGUMENTS[2]}
297   - Should Be Equal ${result_field} ${ARGUMENTS[3]}
298   -
299   -отримати інформацію про procuringEntity.name
300   - ${procuringEntity_name}= отримати текст із поля і показати на сторінці procuringEntity.name
301   - [return] ${procuringEntity_name}
302   -
303   -отримати інформацію про enquiryPeriod.endDate
304   - ${enquiryPeriodEndDate}= отримати текст із поля і показати на сторінці enquiryPeriod.endDate
305   - [return] ${enquiryPeriodEndDate}
306   -
307   -отримати інформацію про tenderPeriod.startDate
308   - ${tenderPeriodStartDate}= отримати текст із поля і показати на сторінці tenderPeriod.startDate
309   - [return] ${tenderPeriodStartDate}
310   -
311   -отримати інформацію про tenderPeriod.endDate
312   - ${tenderPeriodEndDate}= отримати текст із поля і показати на сторінці tenderPeriod.endDate
313   - [return] ${tenderPeriodEndDate}
314   -
315   -отримати інформацію про enquiryPeriod.startDate
316   - ${enquiryPeriodStartDate}= отримати текст із поля і показати на сторінці enquiryPeriod.StartDate
317   - [return] ${enquiryPeriodStartDate}
318   -
319   -отримати інформацію про items[0].description
320   - ${description}= отримати текст із поля і показати на сторінці items[0].description
321   - [return] ${description}
322   -
323   -отримати інформацію про items[0].deliveryDate.endDate
324   - ${deliveryDate_endDate}= отримати текст із поля і показати на сторінці items[0].deliveryDate.endDate
325   - [return] ${deliveryDate_endDate}
326   -
327   -отримати інформацію про items[0].deliveryLocation.latitude
328   - Fail Не реалізований функціонал
329   -
330   -отримати інформацію про items[0].deliveryLocation.longitude
331   - Fail Не реалізований функціонал
332   -
333   -## Delivery Address
334   -отримати інформацію про items[0].deliveryAddress.countryName
335   - ${Delivery_Address}= отримати текст із поля і показати на сторінці items[0].deliveryAddress
336   - [return] ${Delivery_Address.split(', ')[1]}
337   -
338   -отримати інформацію про items[0].deliveryAddress.postalCode
339   - ${Delivery_Address}= отримати текст із поля і показати на сторінці items[0].deliveryAddress
340   - [return] ${Delivery_Address.split(', ')[0]}
341   -
342   -отримати інформацію про items[0].deliveryAddress.region
343   - ${Delivery_Address}= отримати текст із поля і показати на сторінці items[0].deliveryAddress
344   - [return] ${Delivery_Address.split(', ')[2]}
345   -
346   -отримати інформацію про items[0].deliveryAddress.locality
347   - ${Delivery_Address}= отримати текст із поля і показати на сторінці items[0].deliveryAddress
348   - [return] ${Delivery_Address.split(', ')[3]}
349   -
350   -отримати інформацію про items[0].deliveryAddress.streetAddress
351   - ${Delivery_Address}= отримати текст із поля і показати на сторінці items[0].deliveryAddress
352   - ${Delivery_Address}= Get Substring ${Delivery_Address}= 0 -2
353   - [return] ${Delivery_Address.split(', ')[4]}
354   -
355   -##CPV
356   -отримати інформацію про items[0].classification.scheme
357   - ${classificationScheme}= отримати текст із поля і показати на сторінці items[0].classification.scheme.title
358   - [return] ${classificationScheme.split(' ')[1]}
359   -
360   -отримати інформацію про items[0].classification.id
361   - ${classification_id}= отримати текст із поля і показати на сторінці items[0].classification.scheme
362   - [return] ${classification_id.split(' - ')[0]}
363   -
364   -отримати інформацію про items[0].classification.description
365   - ${classification_description}= отримати текст із поля і показати на сторінці items[0].classification.scheme
366   - Run Keyword And Return If '${classification_description}' == '44617100-9 - Картонки' Convert To String Cartons
367   - [return] ${classification_description}
368   -
369   -##ДКПП
370   -отримати інформацію про items[0].additionalClassifications[0].scheme
371   - ${additional_classificationScheme}= отримати текст із поля і показати на сторінці items[0].additional_classification[0].scheme.title
372   - [return] ${additional_classificationScheme.split(' ')[1]}
373   -
374   -отримати інформацію про items[0].additionalClassifications[0].id
375   - ${additional_classification_id}= отримати текст із поля і показати на сторінці items[0].additional_classification[0].scheme
376   - [return] ${additional_classification_id.split(' - ')[0]}
377   -
378   -отримати інформацію про items[0].additionalClassifications[0].description
379   - ${additional_classification_description}= отримати текст із поля і показати на сторінці items[0].additional_classification[0].scheme
380   - ${additional_classification_description}= Convert To Lowercase ${additional_classification_description}
381   - ${additional_classification_description}= Get Substring ${additional_classification_description}= 0 -2
382   - [return] ${additional_classification_description.split(' - ')[1]}
383   -
384   -##item
385   -отримати інформацію про items[0].unit.name
386   - ${unit_name}= отримати текст із поля і показати на сторінці items[0].unit.name
387   - Run Keyword And Return If '${unit_name}' == 'килограммы' Convert To String кілограм
388   - [return] ${unit_name}
389   -
390   -отримати інформацію про items[0].unit.code
391   - Fail Не реалізований функціонал
392   - ${unit_code}= отримати текст із поля і показати на сторінці items[0].unit.code
393   - [return] ${unit_code}
394   -
395   -отримати інформацію про items[0].quantity
396   - ${quantity}= отримати текст із поля і показати на сторінці items[0].quantity
397   - ${quantity}= Convert To Number ${quantity}
398   - [return] ${quantity}
399   -
400   -додати предмети закупівлі
401   - [Arguments] @{ARGUMENTS}
402   - [Documentation]
403   - ... ${ARGUMENTS[0]} = username
404   - ... ${ARGUMENTS[1]} = ${TENDER_UAID}
405   - ... ${ARGUMENTS[2]} = 3
406   - ${period_interval}= Get Broker Property By Username ${ARGUMENTS[0]} period_interval
407   - ${ADDITIONAL_DATA}= prepare_test_tender_data ${period_interval} multi
408   - ${items}= Get From Dictionary ${ADDITIONAL_DATA.data} items
409   - Selenium2Library.Switch Browser ${ARGUMENTS[0]}
410   - Wait Until Page Contains Element ${locator.edit_tender} 10
411   - Click Element ${locator.edit_tender}
412   - Wait Until Page Contains Element ${locator.edit.add_item} 10
413   - Input text ${locator.edit.description} description
414   - Run keyword if '${TEST NAME}' == 'Можливість додати позицію закупівлі в тендер' додати позицію
415   - Run keyword if '${TEST NAME}' != 'Можливість додати позицію закупівлі в тендер' забрати позицію
416   - Wait Until Page Contains Element ${locator.save} 10
417   - Click Element ${locator.save}
418   - Wait Until Page Contains Element ${locator.description} 20
419   -
420   -додати позицію
421   -### Не видно контролів додати пропозицію в хромі, потрібно скролити, скрол не працює. Обхід: додати лише 1 пропозицію + редагувати description для скролу.
422   - Click Element ${locator.edit.add_item}
423   - Додати придмет ${items[1]} 1
424   -
425   -забрати позицію
426   - Click Element xpath=//a[@title="Добавить лот"]/preceding-sibling::a
427   -
428   -Задати питання
429   - [Arguments] @{ARGUMENTS}
430   - [Documentation]
431   - ... ${ARGUMENTS[0]} = username
432   - ... ${ARGUMENTS[1]} = ${TENDER_UAID}
433   - ... ${ARGUMENTS[2]} = question_data
434   - ${title}= Get From Dictionary ${ARGUMENTS[2].data} title
435   - ${description}= Get From Dictionary ${ARGUMENTS[2].data} description
436   - Selenium2Library.Switch Browser ${ARGUMENTS[0]}
437   - newtend.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
438   - Click Element xpath=//a[contains(text(), "Уточнения")]
439   - Wait Until Page Contains Element xpath=//button[@class="btn btn-lg btn-default question-btn ng-binding ng-scope"] 20
440   - Click Element xpath=//button[@class="btn btn-lg btn-default question-btn ng-binding ng-scope"]
441   - Wait Until Page Contains Element xpath=//input[@ng-model="title"] 10
442   - Input text xpath=//input[@ng-model="title"] ${title}
443   - Input text xpath=//textarea[@ng-model="message"] ${description}
444   - Click Element xpath=//div[@ng-click="sendQuestion()"]
445   - Wait Until Page Contains ${description} 20
446   -
447   -обновити сторінку з тендером
448   - [Arguments] @{ARGUMENTS}
449   - [Documentation]
450   - ... ${ARGUMENTS[0]} = username
451   - ... ${ARGUMENTS[1]} = ${TENDER_UAID}
452   - Selenium2Library.Switch Browser ${ARGUMENTS[0]}
453   - Reload Page
454   - Wait Until Page Contains ${ARGUMENTS[1]} 20
455   -
456   -отримати інформацію про QUESTIONS[0].title
457   - Wait Until Page Contains Element xpath=//span[contains(text(), "Уточнения")] 20
458   - Click Element xpath=//span[contains(text(), "Уточнения")]
459   - Wait Until Page Contains Вы не можете задавать вопросы 20
460   - ${resp}= отримати текст із поля і показати на сторінці QUESTIONS[0].title
461   - [return] ${resp}
462   -
463   -отримати інформацію про QUESTIONS[0].description
464   - ${resp}= отримати текст із поля і показати на сторінці QUESTIONS[0].description
465   - [return] ${resp}
466   -
467   -отримати інформацію про QUESTIONS[0].date
468   - ${resp}= отримати текст із поля і показати на сторінці QUESTIONS[0].date
469   - ${resp}= Change_day_to_month ${resp}
470   - [return] ${resp}
471   -
472   -Change_day_to_month
473   - [Arguments] @{ARGUMENTS}
474   - [Documentation]
475   - ... ${ARGUMENTS[0]} == date
476   - ${day}= Get Substring ${ARGUMENTS[0]} 0 2
477   - ${month}= Get Substring ${ARGUMENTS[0]} 3 6
478   - ${rest}= Get Substring ${ARGUMENTS[0]} 5
479   - ${return_value}= Convert To String ${month}${day}${rest}
480   - [return] ${return_value}
1   -from datetime import datetime
2   -from iso8601 import parse_date
3   -from op_robot_tests.tests_files.service_keywords import get_now
4   -from calendar import monthrange
5   -
6   -
7   -def newtend_date_picker_index(isodate):
8   - now = get_now()
9   - date_str = '01' + str(now.month) + str(now.year)
10   - first_day_of_month = datetime.strptime(date_str, "%d%m%Y")
11   - mod = first_day_of_month.isoweekday() - 2
12   - iso_dt = parse_date(isodate)
13   - # last_day_of_month = monthrange(now.year, now.month)[1]
14   - # LOGGER.log_message(Message("last_day_of_month: {}".format(last_day_of_month), "INFO"))
15   - if now.day > iso_dt.day:
16   - mod = monthrange(now.year, now.month)[1] + mod
17   - return mod + iso_dt.day
18   -
19   -
20   -def update_data_for_newtend(tender_data):
21   - tender_data.data.procuringEntity['name'] = u"openprocurement"
22   - return tender_data
Please register or login to post a comment