Commit c1bcf9b33ca4f2def5b7aea410f8ac606652dc98

Authored by biviktorqc
2 parents 6a191aca 3be3b4d2

Merge remote-tracking branch 'rsav/netcast' into candy

Conflicts:
	op_robot_tests/tests_files/brokers/netcast.robot
	op_robot_tests/tests_files/data/users.yaml
@@ -3,54 +3,68 @@ Library Selenium2Screenshots @@ -3,54 +3,68 @@ Library Selenium2Screenshots
3 Library String 3 Library String
4 Library DateTime 4 Library DateTime
5 5
  6 +
6 *** Variables *** 7 *** Variables ***
7 -${locator.tenderId} jquery=h3  
8 ${file_path} local_path_to_file("TestDocument.docx") 8 ${file_path} local_path_to_file("TestDocument.docx")
  9 +${locator.tenderId} xpath=//td[./text()='TenderID']/following-sibling::td[1]
  10 +${locator.title} xpath=//td[./text()='Загальна назва закупівлі']/following-sibling::td[1]
  11 +${locator.description} xpath=//td[./text()='Предмет закупівлі']/following-sibling::td[1]
  12 +${locator.value.amount} xpath=//td[./text()='Максимальний бюджет']/following-sibling::td[1]
  13 +${locator.minimalStep.amount} xpath=//td[./text()='Крок зменшення ціни']/following-sibling::td[1]
  14 +${locator.enquiryPeriod.endDate} xpath=//td[./text()='Завершення періоду обговорення']/following-sibling::td[1]
  15 +${locator.tenderPeriod.endDate} xpath=//td[./text()='Завершення періоду прийому пропозицій']/following-sibling::td[1]
  16 +${locator.items[0].deliveryAddress.countryName} xpath=//td[@class='nameField'][./text()='Адреса поставки']/following-sibling::td[1]
  17 +${locator.items[0].deliveryDate} xpath=//td[./text()='Кінцева дата поставки']/following-sibling::td[1]
  18 +${locator.items[0].classification.scheme} xpath=//td[@class = 'nameField'][./text()='Клас CPV']
  19 +${locator.items[0].additionalClassifications[0].scheme} xpath=//td[@class = 'nameField'][./text()='Клас ДКПП']
9 20
10 *** Keywords *** 21 *** Keywords ***
11 Підготувати клієнт для користувача 22 Підготувати клієнт для користувача
12 [Arguments] @{ARGUMENTS} 23 [Arguments] @{ARGUMENTS}
13 - [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо 24 + [Documentation] Відкрити брaузер, створити обєкт api wrapper, тощо
14 ... ${ARGUMENTS[0]} == username 25 ... ${ARGUMENTS[0]} == username
15 Open Browser ${BROKERS['${USERS.users['${ARGUMENTS[0]}'].broker}'].url} ${USERS.users['${ARGUMENTS[0]}'].browser} alias=${ARGUMENTS[0]} 26 Open Browser ${BROKERS['${USERS.users['${ARGUMENTS[0]}'].broker}'].url} ${USERS.users['${ARGUMENTS[0]}'].browser} alias=${ARGUMENTS[0]}
16 Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size} 27 Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size}
17 Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position} 28 Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position}
18 - Run Keyword And Ignore Error Pre Login ${ARGUMENTS[0]} 29 + Run Keyword And Ignore Error Pre Login ${ARGUMENTS[0]}
  30 + Wait Until Page Contains Element jquery=a[href="/cabinet"]
  31 + Click Element jquery=a[href="/cabinet"]
  32 + Run Keyword If '${username}' != 'Netcast_Viewer' Login
19 33
20 - Wait Until Page Contains Element jquery=a[href="/cabinet"]  
21 - Click Element jquery=a[href="/cabinet"]  
22 - Wait Until Page Contains Element name=email 10 34 +Login
  35 + [Arguments] @{ARGUMENTS}
  36 + Wait Until Page Contains Element name=email 10
23 Input text name=email mail 37 Input text name=email mail
24 Sleep 1 38 Sleep 1
25 - Input text name=email ${USERS.users['${username}'].login} 39 + Input text name=email ${USERS.users['${username}'].login}
26 Sleep 2 40 Sleep 2
27 - Input text name=psw ${USERS.users['${username}'].password}  
28 - Wait Until Page Contains Element xpath=//button[contains(@class, 'btn')][./text()='Вхід в кабінет'] 100  
29 - Click Element xpath=//button[contains(@class, 'btn')][./text()='Вхід в кабінет'] 41 + Input text name=psw ${USERS.users['${username}'].password}
  42 + Wait Until Page Contains Element xpath=//button[contains(@class, 'btn')][./text()='Вхід в кабінет'] 20
  43 + Click Element xpath=//button[contains(@class, 'btn')][./text()='Вхід в кабінет']
30 44
31 Pre Login 45 Pre Login
32 [Arguments] @{ARGUMENTS} 46 [Arguments] @{ARGUMENTS}
33 [Documentation] 47 [Documentation]
34 ... ${ARGUMENTS[0]} == username 48 ... ${ARGUMENTS[0]} == username
35 Wait Until Page Contains Element name=siteLogin 10 49 Wait Until Page Contains Element name=siteLogin 10
36 - Input text name=siteLogin ${BROKERS['${USERS.users['${username}'].broker}'].login}  
37 - Input text name=sitePass ${BROKERS['${USERS.users['${username}'].broker}'].password}  
38 - Click Button xpath=.//*[@id='table1']/tbody/tr/td/form/p[3]/input 50 + Input text name=siteLogin ${BROKERS['${USERS.users['${username}'].broker}'].login}
  51 + Input text name=sitePass ${BROKERS['${USERS.users['${username}'].broker}'].password}
  52 + Click Button xpath=.//*[@id='table1']/tbody/tr/td/form/p[3]/input
39 53
40 Створити тендер 54 Створити тендер
41 [Arguments] @{ARGUMENTS} 55 [Arguments] @{ARGUMENTS}
42 [Documentation] 56 [Documentation]
43 ... ${ARGUMENTS[0]} == username 57 ... ${ARGUMENTS[0]} == username
44 ... ${ARGUMENTS[1]} == tender_data 58 ... ${ARGUMENTS[1]} == tender_data
45 - ${prepared_tender_data}= Add_data_for_GUI_FrontEnds ${ARGUMENTS[1]}  
46 - ${items}= Get From Dictionary ${prepared_tender_data.data} items  
47 - ${title}= Get From Dictionary ${prepared_tender_data.data} title  
48 - ${description}= Get From Dictionary ${prepared_tender_data.data} description  
49 - ${budget}= Get From Dictionary ${prepared_tender_data.data.value} amount  
50 - ${step_rate}= Get From Dictionary ${prepared_tender_data.data.minimalStep} amount  
51 - ${items_description}= Get From Dictionary ${prepared_tender_data.data} description 59 + #{tender_data}= Add_time_for_GUI_FrontEnds ${ARGUMENTS[1]}
  60 + ${items}= Get From Dictionary ${ARGUMENTS[1].data} items
  61 + ${title}= Get From Dictionary ${ARGUMENTS[1].data} title
  62 + ${description}= Get From Dictionary ${ARGUMENTS[1].data} description
  63 + ${budget}= Get From Dictionary ${ARGUMENTS[1].data.value} amount
  64 + ${step_rate}= Get From Dictionary ${ARGUMENTS[1].data.minimalStep} amount
  65 + ${items_description}= Get From Dictionary ${ARGUMENTS[1].data} description
52 ${quantity}= Get From Dictionary ${items[0]} quantity 66 ${quantity}= Get From Dictionary ${items[0]} quantity
53 - ${countryName}= Get From Dictionary ${prepared_tender_data.data.procuringEntity.address} countryName 67 + ${countryName}= Get From Dictionary ${ARGUMENTS[1].data.procuringEntity.address} countryName
54 ${delivery_end_date}= Get From Dictionary ${items[0].deliveryDate} endDate 68 ${delivery_end_date}= Get From Dictionary ${items[0].deliveryDate} endDate
55 ${delivery_end_date}= convert_date_to_slash_format ${delivery_end_date} 69 ${delivery_end_date}= convert_date_to_slash_format ${delivery_end_date}
56 ${cpv}= Convert To String Картонки 70 ${cpv}= Convert To String Картонки
@@ -59,9 +73,9 @@ Pre Login @@ -59,9 +73,9 @@ Pre Login
59 ${dkpp_desc}= Get From Dictionary ${items[0].additionalClassifications[0]} description 73 ${dkpp_desc}= Get From Dictionary ${items[0].additionalClassifications[0]} description
60 ${dkpp_id}= Get From Dictionary ${items[0].additionalClassifications[0]} id 74 ${dkpp_id}= Get From Dictionary ${items[0].additionalClassifications[0]} id
61 ${dkpp_id1}= Replace String ${dkpp_id} - _ 75 ${dkpp_id1}= Replace String ${dkpp_id} - _
62 - ${enquiry_end_date}= Get From Dictionary ${prepared_tender_data.data.enquiryPeriod} endDate 76 + ${enquiry_end_date}= Get From Dictionary ${ARGUMENTS[1].data.enquiryPeriod} endDate
63 ${enquiry_end_date}= convert_date_to_slash_format ${enquiry_end_date} 77 ${enquiry_end_date}= convert_date_to_slash_format ${enquiry_end_date}
64 - ${end_date}= Get From Dictionary ${prepared_tender_data.data.tenderPeriod} endDate 78 + ${end_date}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} endDate
65 ${end_date}= convert_date_to_slash_format ${end_date} 79 ${end_date}= convert_date_to_slash_format ${end_date}
66 80
67 Selenium2Library.Switch Browser ${ARGUMENTS[0]} 81 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
@@ -110,12 +124,6 @@ Set Multi Ids @@ -110,12 +124,6 @@ Set Multi Ids
110 ${id}= Get Text xpath=//*/section[6]/table/tbody/tr[1]/td[2] 124 ${id}= Get Text xpath=//*/section[6]/table/tbody/tr[1]/td[2]
111 ${Ids}= Create List ${tender_UAid} ${id} 125 ${Ids}= Create List ${tender_UAid} ${id}
112 126
113 -Get Rough Copy Tender Id  
114 - [Arguments] @{ARGUMENTS}  
115 - ${tender_id}= Get Text xpath=//*/section[6]/table/tbody/tr[2]/td[2]  
116 - ${tender_UA_ID}= Convert To String ${tender_UAid}  
117 - [return] ${tender_UA_ID}  
118 -  
119 Додати предмет 127 Додати предмет
120 [Arguments] @{ARGUMENTS} 128 [Arguments] @{ARGUMENTS}
121 [Documentation] 129 [Documentation]
@@ -197,13 +205,14 @@ Get Rough Copy Tender Id @@ -197,13 +205,14 @@ Get Rough Copy Tender Id
197 Go to ${BROKERS['${USERS.users['${username}'].broker}'].url} 205 Go to ${BROKERS['${USERS.users['${username}'].broker}'].url}
198 Wait Until Page Contains Держзакупівлі.онлайн 10 206 Wait Until Page Contains Держзакупівлі.онлайн 10
199 Click Element xpath=//a[text()='Закупівлі'] 207 Click Element xpath=//a[text()='Закупівлі']
200 - sleep 5 208 + sleep 1
201 Click Element xpath=//select[@name='filter[object]']/option[@value='tenderID'] 209 Click Element xpath=//select[@name='filter[object]']/option[@value='tenderID']
202 Input text xpath=//input[@name='filter[search]'] ${ARGUMENTS[1]} 210 Input text xpath=//input[@name='filter[search]'] ${ARGUMENTS[1]}
203 Click Element xpath=//button[@class='btn'][./text()='Пошук'] 211 Click Element xpath=//button[@class='btn'][./text()='Пошук']
204 - Wait Until Page Contains ${ARGUMENTS[1]} 10  
205 - sleep 1 212 + Wait Until Page Contains ${ARGUMENTS[1]} 10
206 Capture Page Screenshot 213 Capture Page Screenshot
  214 + sleep 1
  215 + Click Element xpath=//a[@class='reverse tenderLink']
207 216
208 Задати питання 217 Задати питання
209 [Arguments] @{ARGUMENTS} 218 [Arguments] @{ARGUMENTS}
@@ -214,10 +223,10 @@ Get Rough Copy Tender Id @@ -214,10 +223,10 @@ Get Rough Copy Tender Id
214 ${title}= Get From Dictionary ${ARGUMENTS[2].data} title 223 ${title}= Get From Dictionary ${ARGUMENTS[2].data} title
215 ${description}= Get From Dictionary ${ARGUMENTS[2].data} description 224 ${description}= Get From Dictionary ${ARGUMENTS[2].data} description
216 225
  226 +
217 Selenium2Library.Switch Browser ${ARGUMENTS[0]} 227 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
218 netcast.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} 228 netcast.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
219 229
220 - Click Element xpath=//a[@class='reverse tenderLink']  
221 Wait Until Page Contains Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']] 20 230 Wait Until Page Contains Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']] 20
222 Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']] 231 Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']]
223 Wait Until Page Contains Element name=title 20 232 Wait Until Page Contains Element name=title 20
@@ -239,7 +248,6 @@ Get Rough Copy Tender Id @@ -239,7 +248,6 @@ Get Rough Copy Tender Id
239 Selenium2Library.Switch Browser ${ARGUMENTS[0]} 248 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
240 netcast.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} 249 netcast.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
241 250
242 - Click Element xpath=//a[@class='reverse tenderLink']  
243 Wait Until Page Contains Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']] 20 251 Wait Until Page Contains Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']] 20
244 Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']] 252 Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']]
245 Wait Until Page Contains Element xpath=//textarea[@name='answer'] 20 253 Wait Until Page Contains Element xpath=//textarea[@name='answer'] 20
@@ -253,14 +261,13 @@ Get Rough Copy Tender Id @@ -253,14 +261,13 @@ Get Rough Copy Tender Id
253 [Documentation] 261 [Documentation]
254 ... ${ARGUMENTS[0]} = username 262 ... ${ARGUMENTS[0]} = username
255 ... ${ARGUMENTS[1]} = tenderUaId 263 ... ${ARGUMENTS[1]} = tenderUaId
256 - 264 + ... ${ARGUMENTS[2]} = complaintsId
257 ${complaint}= Get From Dictionary ${ARGUMENTS[2].data} title 265 ${complaint}= Get From Dictionary ${ARGUMENTS[2].data} title
258 ${description}= Get From Dictionary ${ARGUMENTS[2].data} description 266 ${description}= Get From Dictionary ${ARGUMENTS[2].data} description
259 267
260 Selenium2Library.Switch Browser ${ARGUMENTS[0]} 268 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
261 netcast.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} 269 netcast.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
262 - Click Element xpath=//a[@class='reverse tenderLink']  
263 - sleep 5 270 + sleep 1
264 Click Element xpath=//a[@class='reverse openCPart'][span[text()='Скарги']] 271 Click Element xpath=//a[@class='reverse openCPart'][span[text()='Скарги']]
265 Wait Until Page Contains Element name=title 20 272 Wait Until Page Contains Element name=title 20
266 Input text name=title ${complaint} 273 Input text name=title ${complaint}
@@ -269,11 +276,31 @@ Get Rough Copy Tender Id @@ -269,11 +276,31 @@ Get Rough Copy Tender Id
269 Wait Until Page Contains ${complaint} 30 276 Wait Until Page Contains ${complaint} 30
270 Capture Page Screenshot 277 Capture Page Screenshot
271 278
272 -Внести зміни в тендер 279 +Порівняти скаргу
273 [Arguments] @{ARGUMENTS} 280 [Arguments] @{ARGUMENTS}
274 [Documentation] 281 [Documentation]
275 ... ${ARGUMENTS[0]} = username 282 ... ${ARGUMENTS[0]} = username
276 ... ${ARGUMENTS[1]} = tenderUaId 283 ... ${ARGUMENTS[1]} = tenderUaId
  284 + ... ${ARGUMENTS[2]} = complaintsData
  285 + ${complaint}= Get From Dictionary ${ARGUMENTS[2].data} title
  286 + ${description}= Get From Dictionary ${ARGUMENTS[2].data} description
  287 +
  288 + Selenium2Library.Switch Browser ${ARGUMENTS[0]}
  289 + netcast.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
  290 + sleep 1
  291 + Click Element xpath=//a[@class='reverse openCPart'][span[text()='Скарги']]
  292 + Wait Until Page Contains ${complaint} 30
  293 + Capture Page Screenshot
  294 +
  295 +
  296 +
  297 +Внести зміни в тендер
  298 + # Тест написано для уже існуючого тендеру, що знаходиться у чернетках користувача
  299 + [Arguments] @{ARGUMENTS}
  300 + [Documentation]
  301 + ... ${ARGUMENTS[0]} = username
  302 + ... ${ARGUMENTS[1]} = description
  303 +
277 Selenium2Library.Switch Browser ${ARGUMENTS[0]} 304 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
278 Click Element xpath=//a[@class='reverse'][./text()='Мої закупівлі'] 305 Click Element xpath=//a[@class='reverse'][./text()='Мої закупівлі']
279 Wait Until Page Contains Element xpath=//a[@class='reverse'][./text()='Чернетки'] 30 306 Wait Until Page Contains Element xpath=//a[@class='reverse'][./text()='Чернетки'] 30
@@ -283,8 +310,65 @@ Get Rough Copy Tender Id @@ -283,8 +310,65 @@ Get Rough Copy Tender Id
283 sleep 1 310 sleep 1
284 Click Element xpath=//a[@class='button save'][./text()='Редагувати'] 311 Click Element xpath=//a[@class='button save'][./text()='Редагувати']
285 sleep 1 312 sleep 1
286 - Input text name=tender_title "Some new title" 313 + Input text name=tender_title ${ARGUMENTS[1]}
287 sleep 1 314 sleep 1
288 Click Element xpath=//button[@class='saveDraft'] 315 Click Element xpath=//button[@class='saveDraft']
289 - Wait Until Page Contains "Some new title" 30  
290 - Capture Page Screenshot  
  316 + Wait Until Page Contains ${ARGUMENTS[1]} 30
  317 + Capture Page Screenshot
  318 +
  319 +отримати інформацію із тендера
  320 + [Arguments] @{ARGUMENTS}
  321 + [Documentation]
  322 + ... ${ARGUMENTS[0]} == username
  323 + ... ${ARGUMENTS[1]} == fieldname
  324 + Switch browser ${ARGUMENTS[0]}
  325 + ${return_value}= run keyword отримати інформацію про ${ARGUMENTS[1]}
  326 + [return] ${return_value}
  327 +
  328 +отримати тест із поля і показати на сторінці
  329 + [Arguments] ${fieldname}
  330 + sleep 5
  331 + ${return_value}= Get Text ${locator.${fieldname}}
  332 + [return] ${return_value}
  333 +
  334 +отримати інформацію про title
  335 + ${title}= отримати тест із поля і показати на сторінці title
  336 + [return] ${title}
  337 +
  338 +отримати інформацію про description
  339 + ${description}= отримати тест із поля і показати на сторінці description
  340 + [return] ${description}
  341 +
  342 +отримати інформацію про tenderId
  343 + ${tenderId}= отримати тест із поля і показати на сторінці tenderId
  344 + [return] ${tenderId}
  345 +
  346 +отримати інформацію про value.amount
  347 + ${valueAmount}= отримати тест із поля і показати на сторінці value.amount
  348 + ${valueAmount}= Convert To Number ${valueAmount.split(' ')[0]}
  349 + [return] ${valueAmount}
  350 +
  351 +отримати інформацію про minimalStep.amount
  352 + ${minimalStepAmount}= отримати тест із поля і показати на сторінці minimalStep.amount
  353 + ${minimalStepAmount}= Convert To Number ${minimalStepAmount.split(' ')[0]}
  354 + [return] ${minimalStepAmount}
  355 +
  356 +отримати інформацію про enquiryPeriod.endDate
  357 + ${enquiryPeriodEndDate}= отримати тест із поля і показати на сторінці enquiryPeriod.endDate
  358 + [return] ${enquiryPeriodEndDate}
  359 +
  360 +отримати інформацію про tenderPeriod.endDate
  361 + ${tenderPeriodEndDate}= отримати тест із поля і показати на сторінці tenderPeriod.endDate
  362 + [return] ${tenderPeriodEndDate}
  363 +
  364 +отримати інформацію про items[0].deliveryAddress.countryName
  365 + ${countryName}= отримати тест із поля і показати на сторінці items[0].deliveryAddress.countryName
  366 + [return] ${countryName}
  367 +
  368 +отримати інформацію про items[0].classification.scheme
  369 + ${classificationScheme}= отримати тест із поля і показати на сторінці items[0].classification.scheme
  370 + [return] ${classificationScheme.split(' ')[1]}
  371 +
  372 +отримати інформацію про items[0].additionalClassifications[0].scheme
  373 + ${additionalClassificationsScheme}= отримати тест із поля і показати на сторінці items[0].additionalClassifications[0].scheme
  374 + [return] ${additionalClassificationsScheme.split(' ')[1]}
@@ -18,13 +18,21 @@ ${locator.tenderId} jquery=h3 @@ -18,13 +18,21 @@ ${locator.tenderId} jquery=h3
18 Open Browser ${BROKERS['${USERS.users['${username}'].broker}'].url} ${USERS.users['${username}'].browser} alias=${ARGUMENTS[0]} 18 Open Browser ${BROKERS['${USERS.users['${username}'].broker}'].url} ${USERS.users['${username}'].browser} alias=${ARGUMENTS[0]}
19 Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size} 19 Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size}
20 Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position} 20 Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position}
21 - Wait Until Page Contains Element id=indexpage_login 100 21 +
  22 + sleep 10
  23 + Run Keyword If '${username}' != 'Newtend_Viewer' Login
  24 +
  25 +Login
  26 + Wait Until Page Contains Element id=indexpage_login 20
22 Click Element id=indexpage_login 27 Click Element id=indexpage_login
23 - Wait Until Page Contains Element id=password 100 28 + Wait Until Page Contains Element id=password 20
24 Input text id=login-email ${USERS.users['${username}'].login} 29 Input text id=login-email ${USERS.users['${username}'].login}
25 Input text id=password ${USERS.users['${username}'].password} 30 Input text id=password ${USERS.users['${username}'].password}
26 Click Element id=submit-login-button 31 Click Element id=submit-login-button
27 - Wait Until Page Contains Element xpath=//div[@class="introjs-overlay"] 100 32 + Wait Until Page Contains Element xpath =//a[@class="close-modal-dialog"] 20
  33 +
  34 +
  35 + Wait Until Page Contains Element xpath=//div[@class="introjs-overlay"] 20
28 36
29 Створити тендер 37 Створити тендер
30 [Arguments] @{ARGUMENTS} 38 [Arguments] @{ARGUMENTS}
@@ -158,223 +166,25 @@ Set datetime @@ -158,223 +166,25 @@ Set datetime
158 \ Click Element xpath=//a[@class="icon-black plus-black remove-field ng-scope"] 166 \ Click Element xpath=//a[@class="icon-black plus-black remove-field ng-scope"]
159 \ Додати придмет ${items[${INDEX}]} ${INDEX} 167 \ Додати придмет ${items[${INDEX}]} ${INDEX}
160 168
161 -  
162 -  
163 -#### Not reworked for Newtend ####  
164 -  
165 -Oтримати internal id по UAid  
166 - [Arguments] @{ARGUMENTS}  
167 - [Documentation]  
168 - ... ${ARGUMENTS[0]} == username  
169 - ... ${ARGUMENTS[1]} == tenderid  
170 - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}  
171 - ${current_location}= Get Location  
172 - ${tender_id}= Fetch From Right ${current_location} /  
173 -### harcode Idis bacause issues on the E-tender side, to remove, 1 line:  
174 - ${tender_id}= Convert To String 94ffe180019d459787aafe290cd300e2  
175 - log ${internal_id}  
176 - [return] ${internal_id}  
177 -  
178 Пошук тендера по ідентифікатору 169 Пошук тендера по ідентифікатору
179 [Arguments] @{ARGUMENTS} 170 [Arguments] @{ARGUMENTS}
180 [Documentation] 171 [Documentation]
181 ... ${ARGUMENTS[0]} == username 172 ... ${ARGUMENTS[0]} == username
182 - ... ${ARGUMENTS[1]} == tenderId  
183 -  
184 - Switch browser ${ARGUMENTS[0]}  
185 - Go to ${BROKERS['${USERS.users['${username}'].broker}'].url}  
186 - Wait Until Page Contains Список закупівель 10  
187 - sleep 1  
188 - Input Text jquery=input[ng-change='search()'] ${ARGUMENTS[1]}  
189 - Click Link jquery=a[ng-click='search()']  
190 - sleep 2  
191 - Click Link jquery=a[href^="#/tenderDetailes"]  
192 - Wait Until Page Contains ${ARGUMENTS[1]} 10  
193 - sleep 1  
194 - Capture Page Screenshot  
195 -  
196 -обновити сторінку з тендером  
197 - [Arguments] @{ARGUMENTS}  
198 - [Documentation]  
199 - ... ${ARGUMENTS[0]} == username  
200 - ... ${ARGUMENTS[1]} == tenderId  
201 - ... ${ARGUMENTS[2]} == id  
202 - ${current_location}= Get Location  
203 - Run keyword if '${BROKERS['${USERS.users['${username}'].broker}'].url}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}' Reload Page  
204 - Run keyword unless '${BROKERS['${USERS.users['${username}'].broker}'].url}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}' Пошук тендера по ідентифікатору @{ARGUMENTS}  
205 - Wait Until Page Contains ${ARGUMENTS[1]} 10  
206 - sleep 1  
207 -  
208 -отримати інформацію із тендера  
209 - [Arguments] @{ARGUMENTS}  
210 - [Documentation]  
211 - ... ${ARGUMENTS[0]} == username  
212 - ... ${ARGUMENTS[1]} == fieldname 173 + ... ${ARGUMENTS[1]} == ${TENDER_UAID}
  174 + log ${USERS.users['${ARGUMENTS[0]}'].homepage}
  175 + log ${ARGUMENTS[0]}
213 Switch browser ${ARGUMENTS[0]} 176 Switch browser ${ARGUMENTS[0]}
214 - ${return_value}= run keyword отримати інформацію про ${ARGUMENTS[1]}  
215 - [return] ${return_value}  
216 -  
217 -Відмітити на сторінці поле з тендера  
218 - [Arguments] ${fieldname} ${locator}  
219 - ${last_note_id}= Add pointy note ${locator} Found ${fieldname} width=200 position=bottom  
220 - Align elements horizontally ${locator} ${last_note_id}  
221 - sleep 1  
222 - Remove element ${last_note_id}  
223 -  
224 -Отримати тест із поля і показати на сторінці  
225 - [Arguments] ${fieldname}  
226 - sleep 3  
227 -# відмітити на сторінці поле з тендера ${fieldname} ${locator.${fieldname}}  
228 - ${return_value}= Get Text ${locator.${fieldname}}  
229 - [return] ${return_value}  
230 -  
231 -отримати інформацію про tenderId  
232 - ${return_value}= Отримати тест із поля і показати на сторінці tenderId  
233 - [return] ${return_value.split(' ')[1]}  
234 -  
235 -отримати інформацію про title  
236 - ${return_value}= Отримати тест із поля і показати на сторінці title  
237 - [return] ${return_value}  
238 -  
239 -отримати інформацію про description  
240 - ${return_value}= Отримати тест із поля і показати на сторінці description  
241 - [return] ${return_value}  
242 -  
243 -отримати інформацію про minimalStep.amount  
244 - ${return_value}= Отримати тест із поля і показати на сторінці minimalStep.amount  
245 - ${return_value}= Convert To Number ${return_value.split(' ')[0]}  
246 - [return] ${return_value}  
247 -  
248 -отримати інформацію про procuringEntity.name  
249 - ${return_value}= Отримати тест із поля і показати на сторінці procuringEntity.name  
250 - [return] ${return_value}  
251 -  
252 -  
253 -отримати інформацію про value.amount  
254 - ${return_value}= Отримати тест із поля і показати на сторінці value.amount  
255 - ${return_value}= Evaluate "".join("${return_value}".split(' ')[:-3])  
256 - ${return_value}= Convert To Number ${return_value}  
257 - [return] ${return_value}  
258 -  
259 -отримати інформацію про tenderPeriod.startDate  
260 - ${return_value}= Отримати тест із поля і показати на сторінці tenderPeriod.startDate  
261 - [return] ${return_value}  
262 -  
263 -отримати інформацію про tenderPeriod.endDate  
264 - ${return_value}= Отримати тест із поля і показати на сторінці tenderPeriod.endDate  
265 - [return] ${return_value}  
266 -  
267 -отримати інформацію про enquiryPeriod.startDate  
268 - ${return_value}= Отримати тест із поля і показати на сторінці enquiryPeriod.startDate  
269 - [return] ${return_value}  
270 -  
271 -отримати інформацію про enquiryPeriod.endDate  
272 - ${return_value}= Отримати тест із поля і показати на сторінці enquiryPeriod.endDate  
273 - [return] ${return_value}  
274 -  
275 -  
276 -отримати інформацію про items[${item_id}].description  
277 - відмітити на сторінці поле з тендера items[${item_id}].description jquery=tender-subject-info.ng-isolate-scope>div.row:contains("Детальний опис предмету закупівлі:")>:eq(1)>  
278 - ${return_value}= Get Text jquery=tender-subject-info.ng-isolate-scope>div.row:contains("Детальний опис предмету закупівлі:")>:eq(1)>  
279 - [return] ${return_value}  
280 -  
281 -отримати інформацію про items[${item_id}].quantity  
282 - відмітити на сторінці поле з тендера items[${item_id}].quantity jquery=tender-subject-info.ng-isolate-scope>div.row:contains("Кількість:")>:eq(1)>  
283 - ${return_value}= Get Text jquery=tender-subject-info.ng-isolate-scope>div.row:contains("Кількість:")>:eq(1)>  
284 - ${return_value}= Convert To Number ${return_value}  
285 - [return] ${return_value}  
286 -  
287 -отримати інформацію про items[${item_id}].classification.id  
288 - відмітити на сторінці поле з тендера items[0].classification.id jquery=tender-subject-info>div.row:contains("Класифікатор CPV:")>:eq(1)>  
289 - ${return_value}= Get Text jquery=tender-subject-info>div.row:contains("Класифікатор CPV:")>:eq(1)>  
290 - [return] ${return_value.split(' ')[0]}  
291 -  
292 -отримати інформацію про items[${item_id}].classification.scheme  
293 - відмітити на сторінці поле з тендера items[0].classification.id jquery=tender-subject-info>div.row:contains("CPV")>:eq(1)>  
294 - ${return_value}= Get Text jquery=tender-subject-info>div.row:contains("CPV")>:eq(1)>  
295 - [return] ${return_value.split(' ')[0]}  
296 -  
297 -отримати інформацію про items[${item_id}].classification.description  
298 - відмітити на сторінці поле з тендера classification.description jquery=tender-subject-info>div.row:contains("Класифікатор CPV:")>:eq(1)>  
299 - ${return_value}= Get Text jquery=tender-subject-info>div.row:contains("Класифікатор CPV:")>:eq(1)>  
300 - ${return_value}= catenate @{return_value.split(' ')[1:]}  
301 - [return] ${return_value}  
302 -  
303 -отримати інформацію про items[${item_id}].deliveryAddress  
304 - ${return_value}= Отримати тест із поля і показати на сторінці items[${item_id}].deliveryAddress  
305 - [return] ${return_value}  
306 -  
307 -отримати інформацію про items[${item_id}].deliveryDate  
308 - ${return_value}= Отримати тест із поля і показати на сторінці items[${item_id}].deliveryDate  
309 - [return] ${return_value}  
310 -  
311 -отримати інформацію про questions[${question_id}].title  
312 - відмітити на сторінці поле з тендера questions title jquery=tender-questions>div:eq(1)>div.row:contains("Тема:")>:eq(1)>  
313 - ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div.row:contains("Тема:")>:eq(1)>  
314 - [return] ${return_value}  
315 -  
316 -отримати інформацію про questions[${question_id}].description  
317 - відмітити на сторінці поле з тендера questions description jquery=tender-questions>div:eq(1)>div.row:contains("Питання:")>:eq(1)>  
318 - ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div.row:contains("Питання:")>:eq(1)>  
319 - [return] ${return_value}  
320 -  
321 -отримати інформацію про questions[${question_id}].date  
322 - відмітити на сторінці поле з тендера question date jquery=tender-questions>div:eq(1)>div.row:contains("Дата:")>:eq(1)>  
323 - ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div.row:contains("Дата:")>:eq(1)>  
324 - [return] ${return_value}  
325 -  
326 -отримати інформацію про questions[${question_id}].answer  
327 - відмітити на сторінці поле з тендера question answer jquery=tender-questions>div:eq(1)>div:last>  
328 - ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div:last>  
329 - [return] ${return_value}  
330 -  
331 -Подати цінову пропозицію  
332 - [Arguments] @{ARGUMENTS}  
333 - [Documentation]  
334 - ... ${ARGUMENTS[0]} == username  
335 - ... ${ARGUMENTS[1]} == ${INTERNAL_TENDER_ID}  
336 - ... ${ARGUMENTS[2]} == test_bid_data  
337 -  
338 - ${bid}= Get From Dictionary ${ARGUMENTS[2].data.value} amount  
339 - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}  
340 - Wait Until Page Contains Інформація про процедуру закупівлі 100  
341 - Wait Until Page Contains Element id=amount 10  
342 - Input text id=amount ${bid}  
343 - Click Element xpath=//button[contains(@class, 'btn btn-success')][./text()='Реєстрація пропозиції']  
344 -  
345 -Задати питання  
346 - [Arguments] @{ARGUMENTS}  
347 - [Documentation]  
348 - ... ${ARGUMENTS[0]} = username  
349 - ... ${ARGUMENTS[1]} = ${INTERNAL_TENDER_ID}  
350 - ... ${ARGUMENTS[2]} = question_data  
351 -  
352 - ${title}= Get From Dictionary ${ARGUMENTS[2].data} title  
353 - ${description}= Get From Dictionary ${ARGUMENTS[2].data} description  
354 -  
355 - Selenium2Library.Switch Browser ${ARGUMENTS[0]}  
356 - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} ${TENDER_ID}  
357 -  
358 - Wait Until Page Contains Element jquery=a[href^="#/addQuestion/"] 100  
359 - Click Element jquery=a[href^="#/addQuestion/"]  
360 - Wait Until Page Contains Element id=title  
361 - Input text id=title ${title}  
362 - Input text id=description ${description}  
363 - Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit']  
364 -  
365 -Відповісти на питання  
366 - [Arguments] @{ARGUMENTS}  
367 - [Documentation]  
368 - ... ${ARGUMENTS[0]} = username  
369 - ... ${ARGUMENTS[1]} = ${INTERNAL_TENDER_ID}  
370 - ... ${ARGUMENTS[2]} = 0  
371 - ... ${ARGUMENTS[3]} = answer_data  
372 -  
373 - ${answer}= Get From Dictionary ${ARGUMENTS[3].data} answer  
374 -  
375 - Selenium2Library.Switch Browser ${ARGUMENTS[0]}  
376 - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} ${TENDER_ID} 177 +# Go to ${USERS.users['${ARGUMENTS[0]}'].homepage}
  178 + Wait Until Page Contains Element xpath=//div[@class="search-field"]/input 20
  179 + ${ARGUMENTS[1]}= Convert To String UA-2015-06-08-000023
  180 + Input text xpath=//div[@class="search-field"]/input ${ARGUMENTS[1]}
  181 + : FOR ${INDEX} IN RANGE 1 30
  182 +# \ Log To Console .
  183 + \ sleep 1
  184 + \ ${count}= Get Matching Xpath Count xpath=//a[@class="row tender-info ng-scope"]
  185 + \ Exit For Loop If '${count}' == '1'
  186 + Click Element xpath=//a[@class="row tender-info ng-scope"]
  187 + Wait Until Page Contains Element xpath=//a[@class="ng-binding ng-scope"] 30
  188 + ${fould_title}= Get Text xpath=//a[@class="ng-binding ng-scope"]
  189 + Should Be Equal ${fould_title} ${ARGUMENTS[1]}
377 190
378 - Click Element xpath=//div[div/pre[1]]/div[1]  
379 - Input text xpath=//div[textarea]/textarea ${answer}  
380 - Click Element xpath=//div[textarea]/span/button[1]  
@@ -17,7 +17,7 @@ users: @@ -17,7 +17,7 @@ users:
17 homepage: "http://uat.e-tender.biz/#/profile" 17 homepage: "http://uat.e-tender.biz/#/profile"
18 login: Misha2 18 login: Misha2
19 password: Password1 19 password: Password1
20 - browser: chrome 20 + browser: firefox
21 position: [0, 0] 21 position: [0, 0]
22 size: [800, 800] 22 size: [800, 800]
23 E-tender_Provider1: 23 E-tender_Provider1:
@@ -26,7 +26,7 @@ users: @@ -26,7 +26,7 @@ users:
26 homepage: "http://uat.e-tender.biz/#/profile" 26 homepage: "http://uat.e-tender.biz/#/profile"
27 login: st_org 27 login: st_org
28 password: 12345678 28 password: 12345678
29 - browser: chrome 29 + browser: firefox
30 position: [700, 0] 30 position: [700, 0]
31 size: [700, 800] 31 size: [700, 800]
32 E-tender_Provider2: 32 E-tender_Provider2:
@@ -35,7 +35,7 @@ users: @@ -35,7 +35,7 @@ users:
35 homepage: "http://uat.e-tender.biz/#/profile" 35 homepage: "http://uat.e-tender.biz/#/profile"
36 login: provider2 36 login: provider2
37 password: Qa123456 37 password: Qa123456
38 - browser: chrome 38 + browser: firefox
39 position: [700, 0] 39 position: [700, 0]
40 size: [640, 450] 40 size: [640, 450]
41 E-tender_Viewer: 41 E-tender_Viewer:
@@ -81,7 +81,7 @@ users: @@ -81,7 +81,7 @@ users:
81 homepage: "http://dev23.newtend.com/openprocurement/#/home/page/1" 81 homepage: "http://dev23.newtend.com/openprocurement/#/home/page/1"
82 login: openprocurement@mailinator.com 82 login: openprocurement@mailinator.com
83 password: 123123 83 password: 123123
84 - browser: chrome 84 + browser: firefox
85 position: [0, 0] 85 position: [0, 0]
86 size: [1100, 1000] 86 size: [1100, 1000]
87 Netcast_Owner: 87 Netcast_Owner:
@@ -102,27 +102,44 @@ users: @@ -102,27 +102,44 @@ users:
102 browser: chrome 102 browser: chrome
103 position: [0, 0] 103 position: [0, 0]
104 size: [600, 800] 104 size: [600, 800]
  105 + Netcast_Viewer:
  106 + broker: Netcast
  107 + username: Netcasttest
  108 + homepage: "http://dz2.byustudio.in.ua"
  109 + #browser: firefox
  110 + browser: chrome
  111 + position: [0, 0]
  112 + size: [600, 800]
105 Publicbid_Owner: 113 Publicbid_Owner:
106 broker: Publicbid 114 broker: Publicbid
107 username: Publicbid 115 username: Publicbid
108 homepage: "https://public-bid.com.ua/test/" 116 homepage: "https://public-bid.com.ua/test/"
109 login: yaroslav1boyko@gmail.com 117 login: yaroslav1boyko@gmail.com
110 password: Password1 118 password: Password1
111 - browser: chrome 119 + browser: firefox
112 position: [0, 0] 120 position: [0, 0]
113 size: [740, 550] 121 size: [740, 550]
  122 + Newtend_Owner:
  123 + broker: Newtend
  124 + username: Newtendtest
  125 + homepage: "http://dev23.newtend.com/openprocurement/#/home/page/1"
  126 + login: openprocurement@mailinator.com
  127 + password: 123123
  128 + browser: firefox
  129 + position: [0, 0]
  130 + size: [640, 450]
114 Newtend_Provider2: 131 Newtend_Provider2:
115 broker: Newtend 132 broker: Newtend
116 username: Newtendtest 133 username: Newtendtest
117 homepage: "http://dev23.newtend.com/openprocurement/tenders" 134 homepage: "http://dev23.newtend.com/openprocurement/tenders"
118 login: openprocboss@mailinator.com 135 login: openprocboss@mailinator.com
119 password: 123123 136 password: 123123
120 - browser: chrome 137 + browser: firefox
121 position: [700, 0] 138 position: [700, 0]
122 size: [640, 450] 139 size: [640, 450]
123 Newtend_Viewer: 140 Newtend_Viewer:
124 broker: Newtend 141 broker: Newtend
125 username: Newtendtest 142 username: Newtendtest
126 - browser: chrome 143 + browser: firefox
127 position: [0, 0] 144 position: [0, 0]
128 size: [640, 450] 145 size: [640, 450]
@@ -31,9 +31,9 @@ TestSuiteSetup @@ -31,9 +31,9 @@ TestSuiteSetup
31 Set Global Variable ${USERS} 31 Set Global Variable ${USERS}
32 ${users_list}= Get Dictionary Items ${USERS.users} 32 ${users_list}= Get Dictionary Items ${USERS.users}
33 :FOR ${username} ${user_data} IN @{users_list} 33 :FOR ${username} ${user_data} IN @{users_list}
34 - \ log ${active_users} 34 + \ log ${active_users}
35 \ log ${username} 35 \ log ${username}
36 - \ ${status}= Run Keyword And Return Status List Should Contain Value ${active_users} ${username} 36 + \ ${status}= Run Keyword And Return Status List Should Contain Value ${active_users} ${username}
37 \ Run Keyword If '${status}' == 'True' Завантажуємо бібліотеку з реалізацією ${BROKERS['${USERS.users['${username}'].broker}'].keywords_file} площадки 37 \ Run Keyword If '${status}' == 'True' Завантажуємо бібліотеку з реалізацією ${BROKERS['${USERS.users['${username}'].broker}'].keywords_file} площадки
38 \ Run Keyword If '${status}' == 'True' Викликати для учасника ${username} Підготувати клієнт для користувача 38 \ Run Keyword If '${status}' == 'True' Викликати для учасника ${username} Підготувати клієнт для користувача
39 39
@@ -56,7 +56,7 @@ TestSuiteSetup @@ -56,7 +56,7 @@ TestSuiteSetup
56 Set Global Variable ${REPLIES} 56 Set Global Variable ${REPLIES}
57 ${INITIAL_TENDER_DATA}= prepare_test_tender_data ${BROKERS['${USERS.users['${tender_owner}'].broker}'].period_interval} ${mode} 57 ${INITIAL_TENDER_DATA}= prepare_test_tender_data ${BROKERS['${USERS.users['${tender_owner}'].broker}'].period_interval} ${mode}
58 Set Global Variable ${INITIAL_TENDER_DATA} 58 Set Global Variable ${INITIAL_TENDER_DATA}
59 - ${TENDER}= Create Dictionary 59 + ${TENDER}= Create Dictionary
60 Set Global Variable ${TENDER} 60 Set Global Variable ${TENDER}
61 Log ${TENDER} 61 Log ${TENDER}
62 Log ${INITIAL_TENDER_DATA} 62 Log ${INITIAL_TENDER_DATA}
@@ -83,8 +83,8 @@ TestSuiteSetup @@ -83,8 +83,8 @@ TestSuiteSetup
83 ${field_value}= Get_From_Object ${INITIAL_TENDER_DATA.data} ${field} 83 ${field_value}= Get_From_Object ${INITIAL_TENDER_DATA.data} ${field}
84 Звірити поле ${username} ${field} ${field_value} 84 Звірити поле ${username} ${field} ${field_value}
85 85
86 -Звірити поле  
87 - [Arguments] ${username} ${field} ${subject} 86 +Звірити поле
  87 + [Arguments] ${username} ${field} ${subject}
88 ${field_response}= Викликати для учасника ${username} отримати інформацію із тендера ${field} 88 ${field_response}= Викликати для учасника ${username} отримати інформацію із тендера ${field}
89 Should Not Be Equal ${field_response} ${None} 89 Should Not Be Equal ${field_response} ${None}
90 Should Be Equal ${subject} ${field_response} Майданчик ${USERS.users['${username}'].broker} 90 Should Be Equal ${subject} ${field_response} Майданчик ${USERS.users['${username}'].broker}
@@ -104,13 +104,13 @@ TestSuiteSetup @@ -104,13 +104,13 @@ TestSuiteSetup
104 Звірити дату ${username} ${field} ${isodate} 104 Звірити дату ${username} ${field} ${isodate}
105 105
106 Звірити дату 106 Звірити дату
107 - [Arguments] ${username} ${field} ${subject} 107 + [Arguments] ${username} ${field} ${subject}
108 ${field_date}= Викликати для учасника ${username} отримати інформацію із тендера ${field} 108 ${field_date}= Викликати для учасника ${username} отримати інформацію із тендера ${field}
109 ${returned}= compare_date ${subject} ${field_date} 109 ${returned}= compare_date ${subject} ${field_date}
110 Should Not Be Equal ${field_date} ${None} 110 Should Not Be Equal ${field_date} ${None}
111 Should Not Be Equal ${returned} ${None} 111 Should Not Be Equal ${returned} ${None}
112 - Should Be True '${returned}' == 'True'  
113 - 112 + Should Be True '${returned}' == 'True'
  113 +
114 Звірити поля предметів закупівлі багатопредметного тендера 114 Звірити поля предметів закупівлі багатопредметного тендера
115 [Arguments] ${username} ${field} 115 [Arguments] ${username} ${field}
116 Дочекатись синхронізації з майданчиком ${username} 116 Дочекатись синхронізації з майданчиком ${username}
@@ -128,10 +128,10 @@ TestSuiteSetup @@ -128,10 +128,10 @@ TestSuiteSetup
128 :FOR ${index} IN RANGE ${len_of_items} 128 :FOR ${index} IN RANGE ${len_of_items}
129 \ Log ${index} 129 \ Log ${index}
130 \ Звірити дату тендера ${viewer} items[${index}].${field} 130 \ Звірити дату тендера ${viewer} items[${index}].${field}
131 - 131 +
132 Викликати для учасника 132 Викликати для учасника
133 [Documentation] 133 [Documentation]
134 - ... cause sometimes keyword SHOULD fail to pass the testcase, this keyword takes "shouldfail" argument as first one in @{arguments} and switches the behaviour of keyword and "shouldfail" 134 + ... cause sometimes keyword SHOULD fail to pass the testcase, this keyword takes "shouldfail" argument as first one in @{arguments} and switches the behaviour of keyword and "shouldfail"
135 [Arguments] ${username} ${command} @{arguments} 135 [Arguments] ${username} ${command} @{arguments}
136 log ${username} 136 log ${username}
137 log ${command} 137 log ${command}
@@ -159,7 +159,7 @@ switchsate @@ -159,7 +159,7 @@ switchsate
159 ${status} ${value}= run_keyword_and_ignore_keyword_definations ${BROKERS['${USERS.users['${username}'].broker}'].keywords_file}.${command} ${username} @{arguments} 159 ${status} ${value}= run_keyword_and_ignore_keyword_definations ${BROKERS['${USERS.users['${username}'].broker}'].keywords_file}.${command} ${username} @{arguments}
160 Run keyword if '${status}' == 'PASS' Log Учасник ${username} зміг виконати "${command}" WARN 160 Run keyword if '${status}' == 'PASS' Log Учасник ${username} зміг виконати "${command}" WARN
161 [return] ${value} 161 [return] ${value}
162 - 162 +
163 Дочекатись дати 163 Дочекатись дати
164 [Arguments] ${date} 164 [Arguments] ${date}
165 ${wait_timout}= wait_to_date ${date} 165 ${wait_timout}= wait_to_date ${date}
@@ -167,12 +167,12 @@ switchsate @@ -167,12 +167,12 @@ switchsate
167 167
168 Дочекатись дати початоку прийому пропозицій 168 Дочекатись дати початоку прийому пропозицій
169 Дочекатись дати ${TENDER_DATA.data.tenderPeriod.startDate} 169 Дочекатись дати ${TENDER_DATA.data.tenderPeriod.startDate}
170 - 170 +
171 Дочекатись дати закінчення прийому пропозицій 171 Дочекатись дати закінчення прийому пропозицій
172 Дочекатись дати ${TENDER_DATA.data.tenderPeriod.endDate} 172 Дочекатись дати ${TENDER_DATA.data.tenderPeriod.endDate}
173 - 173 +
174 Дочекатись дати початоку аукціону 174 Дочекатись дати початоку аукціону
175 Дочекатись дати ${TENDER_DATA.data.auctionPeriod.startDate} 175 Дочекатись дати ${TENDER_DATA.data.auctionPeriod.startDate}
176 176
177 Дочекатись дати закінчення аукціону 177 Дочекатись дати закінчення аукціону
178 - Дочекатись дати ${TENDER_DATA.data.auctionPeriod.endDate}  
  178 + Дочекатись дати ${TENDER_DATA.data.auctionPeriod.endDate}
@@ -45,7 +45,6 @@ def compare_date(data1, data2): @@ -45,7 +45,6 @@ def compare_date(data1, data2):
45 data1 = TIMEZONE.localize(data1) 45 data1 = TIMEZONE.localize(data1)
46 if data2.tzinfo is None: 46 if data2.tzinfo is None:
47 data2 = TIMEZONE.localize(data2) 47 data2 = TIMEZONE.localize(data2)
48 -  
49 delta = (data1-data2).total_seconds() 48 delta = (data1-data2).total_seconds()
50 if abs(delta) > 60: 49 if abs(delta) > 60:
51 return False 50 return False
Please register or login to post a comment