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 3 Library String
4 4 Library DateTime
5 5
  6 +
6 7 *** Variables ***
7   -${locator.tenderId} jquery=h3
8 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 21 *** Keywords ***
11 22 Підготувати клієнт для користувача
12 23 [Arguments] @{ARGUMENTS}
13   - [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо
  24 + [Documentation] Відкрити брaузер, створити обєкт api wrapper, тощо
14 25 ... ${ARGUMENTS[0]} == username
15 26 Open Browser ${BROKERS['${USERS.users['${ARGUMENTS[0]}'].broker}'].url} ${USERS.users['${ARGUMENTS[0]}'].browser} alias=${ARGUMENTS[0]}
16 27 Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size}
17 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 37 Input text name=email mail
24 38 Sleep 1
25   - Input text name=email ${USERS.users['${username}'].login}
  39 + Input text name=email ${USERS.users['${username}'].login}
26 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 45 Pre Login
32 46 [Arguments] @{ARGUMENTS}
33 47 [Documentation]
34 48 ... ${ARGUMENTS[0]} == username
35 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 55 [Arguments] @{ARGUMENTS}
42 56 [Documentation]
43 57 ... ${ARGUMENTS[0]} == username
44 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 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 68 ${delivery_end_date}= Get From Dictionary ${items[0].deliveryDate} endDate
55 69 ${delivery_end_date}= convert_date_to_slash_format ${delivery_end_date}
56 70 ${cpv}= Convert To String Картонки
... ... @@ -59,9 +73,9 @@ Pre Login
59 73 ${dkpp_desc}= Get From Dictionary ${items[0].additionalClassifications[0]} description
60 74 ${dkpp_id}= Get From Dictionary ${items[0].additionalClassifications[0]} id
61 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 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 79 ${end_date}= convert_date_to_slash_format ${end_date}
66 80
67 81 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
... ... @@ -110,12 +124,6 @@ Set Multi Ids
110 124 ${id}= Get Text xpath=//*/section[6]/table/tbody/tr[1]/td[2]
111 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 128 [Arguments] @{ARGUMENTS}
121 129 [Documentation]
... ... @@ -197,13 +205,14 @@ Get Rough Copy Tender Id
197 205 Go to ${BROKERS['${USERS.users['${username}'].broker}'].url}
198 206 Wait Until Page Contains Держзакупівлі.онлайн 10
199 207 Click Element xpath=//a[text()='Закупівлі']
200   - sleep 5
  208 + sleep 1
201 209 Click Element xpath=//select[@name='filter[object]']/option[@value='tenderID']
202 210 Input text xpath=//input[@name='filter[search]'] ${ARGUMENTS[1]}
203 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 213 Capture Page Screenshot
  214 + sleep 1
  215 + Click Element xpath=//a[@class='reverse tenderLink']
207 216
208 217 Задати питання
209 218 [Arguments] @{ARGUMENTS}
... ... @@ -214,10 +223,10 @@ Get Rough Copy Tender Id
214 223 ${title}= Get From Dictionary ${ARGUMENTS[2].data} title
215 224 ${description}= Get From Dictionary ${ARGUMENTS[2].data} description
216 225
  226 +
217 227 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
218 228 netcast.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
219 229
220   - Click Element xpath=//a[@class='reverse tenderLink']
221 230 Wait Until Page Contains Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']] 20
222 231 Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']]
223 232 Wait Until Page Contains Element name=title 20
... ... @@ -239,7 +248,6 @@ Get Rough Copy Tender Id
239 248 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
240 249 netcast.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
241 250
242   - Click Element xpath=//a[@class='reverse tenderLink']
243 251 Wait Until Page Contains Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']] 20
244 252 Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']]
245 253 Wait Until Page Contains Element xpath=//textarea[@name='answer'] 20
... ... @@ -253,14 +261,13 @@ Get Rough Copy Tender Id
253 261 [Documentation]
254 262 ... ${ARGUMENTS[0]} = username
255 263 ... ${ARGUMENTS[1]} = tenderUaId
256   -
  264 + ... ${ARGUMENTS[2]} = complaintsId
257 265 ${complaint}= Get From Dictionary ${ARGUMENTS[2].data} title
258 266 ${description}= Get From Dictionary ${ARGUMENTS[2].data} description
259 267
260 268 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
261 269 netcast.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
262   - Click Element xpath=//a[@class='reverse tenderLink']
263   - sleep 5
  270 + sleep 1
264 271 Click Element xpath=//a[@class='reverse openCPart'][span[text()='Скарги']]
265 272 Wait Until Page Contains Element name=title 20
266 273 Input text name=title ${complaint}
... ... @@ -269,11 +276,31 @@ Get Rough Copy Tender Id
269 276 Wait Until Page Contains ${complaint} 30
270 277 Capture Page Screenshot
271 278
272   -Внести зміни в тендер
  279 +Порівняти скаргу
273 280 [Arguments] @{ARGUMENTS}
274 281 [Documentation]
275 282 ... ${ARGUMENTS[0]} = username
276 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 304 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
278 305 Click Element xpath=//a[@class='reverse'][./text()='Мої закупівлі']
279 306 Wait Until Page Contains Element xpath=//a[@class='reverse'][./text()='Чернетки'] 30
... ... @@ -283,8 +310,65 @@ Get Rough Copy Tender Id
283 310 sleep 1
284 311 Click Element xpath=//a[@class='button save'][./text()='Редагувати']
285 312 sleep 1
286   - Input text name=tender_title "Some new title"
  313 + Input text name=tender_title ${ARGUMENTS[1]}
287 314 sleep 1
288 315 Click Element xpath=//button[@class='saveDraft']
289   - Wait Until Page Contains "Some new title" 30
290   - Capture Page Screenshot
\ No newline at end of file
  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]}
\ No newline at end of file
... ...
... ... @@ -18,13 +18,21 @@ ${locator.tenderId} jquery=h3
18 18 Open Browser ${BROKERS['${USERS.users['${username}'].broker}'].url} ${USERS.users['${username}'].browser} alias=${ARGUMENTS[0]}
19 19 Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size}
20 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 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 29 Input text id=login-email ${USERS.users['${username}'].login}
25 30 Input text id=password ${USERS.users['${username}'].password}
26 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 38 [Arguments] @{ARGUMENTS}
... ... @@ -158,223 +166,25 @@ Set datetime
158 166 \ Click Element xpath=//a[@class="icon-black plus-black remove-field ng-scope"]
159 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 170 [Arguments] @{ARGUMENTS}
180 171 [Documentation]
181 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 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 17 homepage: "http://uat.e-tender.biz/#/profile"
18 18 login: Misha2
19 19 password: Password1
20   - browser: chrome
  20 + browser: firefox
21 21 position: [0, 0]
22 22 size: [800, 800]
23 23 E-tender_Provider1:
... ... @@ -26,7 +26,7 @@ users:
26 26 homepage: "http://uat.e-tender.biz/#/profile"
27 27 login: st_org
28 28 password: 12345678
29   - browser: chrome
  29 + browser: firefox
30 30 position: [700, 0]
31 31 size: [700, 800]
32 32 E-tender_Provider2:
... ... @@ -35,7 +35,7 @@ users:
35 35 homepage: "http://uat.e-tender.biz/#/profile"
36 36 login: provider2
37 37 password: Qa123456
38   - browser: chrome
  38 + browser: firefox
39 39 position: [700, 0]
40 40 size: [640, 450]
41 41 E-tender_Viewer:
... ... @@ -81,7 +81,7 @@ users:
81 81 homepage: "http://dev23.newtend.com/openprocurement/#/home/page/1"
82 82 login: openprocurement@mailinator.com
83 83 password: 123123
84   - browser: chrome
  84 + browser: firefox
85 85 position: [0, 0]
86 86 size: [1100, 1000]
87 87 Netcast_Owner:
... ... @@ -102,27 +102,44 @@ users:
102 102 browser: chrome
103 103 position: [0, 0]
104 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 113 Publicbid_Owner:
106 114 broker: Publicbid
107 115 username: Publicbid
108 116 homepage: "https://public-bid.com.ua/test/"
109 117 login: yaroslav1boyko@gmail.com
110 118 password: Password1
111   - browser: chrome
  119 + browser: firefox
112 120 position: [0, 0]
113 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 131 Newtend_Provider2:
115 132 broker: Newtend
116 133 username: Newtendtest
117 134 homepage: "http://dev23.newtend.com/openprocurement/tenders"
118 135 login: openprocboss@mailinator.com
119 136 password: 123123
120   - browser: chrome
  137 + browser: firefox
121 138 position: [700, 0]
122 139 size: [640, 450]
123 140 Newtend_Viewer:
124 141 broker: Newtend
125 142 username: Newtendtest
126   - browser: chrome
  143 + browser: firefox
127 144 position: [0, 0]
128 145 size: [640, 450]
\ No newline at end of file
... ...
... ... @@ -31,9 +31,9 @@ TestSuiteSetup
31 31 Set Global Variable ${USERS}
32 32 ${users_list}= Get Dictionary Items ${USERS.users}
33 33 :FOR ${username} ${user_data} IN @{users_list}
34   - \ log ${active_users}
  34 + \ log ${active_users}
35 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 37 \ Run Keyword If '${status}' == 'True' Завантажуємо бібліотеку з реалізацією ${BROKERS['${USERS.users['${username}'].broker}'].keywords_file} площадки
38 38 \ Run Keyword If '${status}' == 'True' Викликати для учасника ${username} Підготувати клієнт для користувача
39 39
... ... @@ -56,7 +56,7 @@ TestSuiteSetup
56 56 Set Global Variable ${REPLIES}
57 57 ${INITIAL_TENDER_DATA}= prepare_test_tender_data ${BROKERS['${USERS.users['${tender_owner}'].broker}'].period_interval} ${mode}
58 58 Set Global Variable ${INITIAL_TENDER_DATA}
59   - ${TENDER}= Create Dictionary
  59 + ${TENDER}= Create Dictionary
60 60 Set Global Variable ${TENDER}
61 61 Log ${TENDER}
62 62 Log ${INITIAL_TENDER_DATA}
... ... @@ -83,8 +83,8 @@ TestSuiteSetup
83 83 ${field_value}= Get_From_Object ${INITIAL_TENDER_DATA.data} ${field}
84 84 Звірити поле ${username} ${field} ${field_value}
85 85
86   -Звірити поле
87   - [Arguments] ${username} ${field} ${subject}
  86 +Звірити поле
  87 + [Arguments] ${username} ${field} ${subject}
88 88 ${field_response}= Викликати для учасника ${username} отримати інформацію із тендера ${field}
89 89 Should Not Be Equal ${field_response} ${None}
90 90 Should Be Equal ${subject} ${field_response} Майданчик ${USERS.users['${username}'].broker}
... ... @@ -104,13 +104,13 @@ TestSuiteSetup
104 104 Звірити дату ${username} ${field} ${isodate}
105 105
106 106 Звірити дату
107   - [Arguments] ${username} ${field} ${subject}
  107 + [Arguments] ${username} ${field} ${subject}
108 108 ${field_date}= Викликати для учасника ${username} отримати інформацію із тендера ${field}
109 109 ${returned}= compare_date ${subject} ${field_date}
110 110 Should Not Be Equal ${field_date} ${None}
111 111 Should Not Be Equal ${returned} ${None}
112   - Should Be True '${returned}' == 'True'
113   -
  112 + Should Be True '${returned}' == 'True'
  113 +
114 114 Звірити поля предметів закупівлі багатопредметного тендера
115 115 [Arguments] ${username} ${field}
116 116 Дочекатись синхронізації з майданчиком ${username}
... ... @@ -128,10 +128,10 @@ TestSuiteSetup
128 128 :FOR ${index} IN RANGE ${len_of_items}
129 129 \ Log ${index}
130 130 \ Звірити дату тендера ${viewer} items[${index}].${field}
131   -
  131 +
132 132 Викликати для учасника
133 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 135 [Arguments] ${username} ${command} @{arguments}
136 136 log ${username}
137 137 log ${command}
... ... @@ -159,7 +159,7 @@ switchsate
159 159 ${status} ${value}= run_keyword_and_ignore_keyword_definations ${BROKERS['${USERS.users['${username}'].broker}'].keywords_file}.${command} ${username} @{arguments}
160 160 Run keyword if '${status}' == 'PASS' Log Учасник ${username} зміг виконати "${command}" WARN
161 161 [return] ${value}
162   -
  162 +
163 163 Дочекатись дати
164 164 [Arguments] ${date}
165 165 ${wait_timout}= wait_to_date ${date}
... ... @@ -167,12 +167,12 @@ switchsate
167 167
168 168 Дочекатись дати початоку прийому пропозицій
169 169 Дочекатись дати ${TENDER_DATA.data.tenderPeriod.startDate}
170   -
  170 +
171 171 Дочекатись дати закінчення прийому пропозицій
172 172 Дочекатись дати ${TENDER_DATA.data.tenderPeriod.endDate}
173   -
  173 +
174 174 Дочекатись дати початоку аукціону
175 175 Дочекатись дати ${TENDER_DATA.data.auctionPeriod.startDate}
176 176
177 177 Дочекатись дати закінчення аукціону
178   - Дочекатись дати ${TENDER_DATA.data.auctionPeriod.endDate}
\ No newline at end of file
  178 + Дочекатись дати ${TENDER_DATA.data.auctionPeriod.endDate}
\ No newline at end of file
... ...
... ... @@ -45,7 +45,6 @@ def compare_date(data1, data2):
45 45 data1 = TIMEZONE.localize(data1)
46 46 if data2.tzinfo is None:
47 47 data2 = TIMEZONE.localize(data2)
48   -
49 48 delta = (data1-data2).total_seconds()
50 49 if abs(delta) > 60:
51 50 return False
... ...
Please register or login to post a comment