playtender.robot
6.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
*** Settings ***
Resource playtender_common.robot
Resource playtender_plan.robot
*** Variables ***
*** Keywords ***
Підготувати клієнт для користувача
[Arguments] ${username}
[Documentation] Відкриває переглядач на потрібній сторінці, готує api wrapper, тощо.
init environment ${username}
open browser ${broker_baseurl} ${broker_browser} alias=${broker_username}
add cookie robottest 1 # for detecting from site side
set window size @{browser_default_size}
set window position @{browser_default_position}
set site language by code ${broker_language_code}
login to site ${USERS.users['${broker_username}']}
Підготувати дані для оголошення тендера
[Arguments] ${username} ${tender_data} ${role_name}
[Documentation] Адаптувати початкові дані для створення тендера. Наприклад, змінити дані про procuringEntity на дані
... про користувача tender_owner на майданчику. Перевіряючи значення аргументу role_name, можна адаптувати
... різні дані для різних ролей (наприклад, необхідно тільки для ролі tender_owner забрати з початкових
... даних поле mode: test, а для інших ролей не потрібно робити нічого). Це ключове слово викликається в
... циклі для кожної ролі, яка бере участь в поточному сценарії. З ключового слова потрібно повернути
... адаптовані дані tender_data. Різниця між початковими даними і кінцевими буде виведена в консоль під
... час запуску тесту.
${tender_data_keys} = get dictionary keys ${tender_data['data']}
run keyword if '${test_role}' == 'tender_owner' and 'procuringEntity' in ${tender_data_keys} prepare procuring entity data ${tender_data['data']['procuringEntity']}
#run keyword if '${test_role}' == 'tender_owner' and 'buyers' in ${tender_data_keys} prepare buyers data ${tender_data['data']['buyers']}
[Return] ${tender_data}
Створити план
[Arguments] ${user} ${plan_data}
[Documentation] Створити план з початковими даними plan_data. Повернути uaid створеного плану.
# check buyers
${buyers_count} = get length ${plan_data['data']['buyers']}
run keyword if ${buyers_count} != 1 fail Buyer must be one
open new plan form
fill plan form ${plan_data['data']}
submit form and check result ${plan_form_submit_btn_locator} ${plan_form_submit_success_msg} ${plan_created_checker_element_locator}
wait until page does not contain element with reloading ${plan_sync_element_locator}
${plan_uaid} = get text ${plan_uaid_text_locator}
[Return] ${plan_uaid}
Оновити сторінку з планом
[Arguments] ${username} ${plan_uaid}
[Documentation] Оновити сторінку з планом для отримання потенційно оновлених даних.
open plan page by uaid ${plan_uaid}
Пошук плану по ідентифікатору
[Arguments] ${username} ${plan_uaid}
[Documentation] Знайти план за зазначеним plan_uaid.
open plan search form
input to search form and wait results ${plan_search_form_query_input_locator} ${plan_uaid} ${plan_search_form_result_locator_tpl}
Внести зміни в план
[Arguments] ${username} ${plan_uaid} ${fieldname} ${fieldvalue}
[Documentation] Змінити значення поля fieldname на fieldvalue для плана із зазначеним plan_uaid.
${plan_data} = generate dictionary from field path and value ${fieldname} ${fieldvalue}
open plan form by uaid ${plan_uaid}
fill plan form ${plan_data}
submit form and check result ${plan_form_submit_btn_locator} ${plan_form_submit_success_msg} ${plan_created_checker_element_locator}
wait until page does not contain element with reloading ${plan_sync_element_locator}