Commit 4fab4b01760d5aef65ebc87045522477cb1b5436
1 parent
2c46fae0
NewTend single+malty+add items keyword
Showing
1 changed file
with
59 additions
and
145 deletions
... | ... | @@ -27,206 +27,113 @@ ${locator.tenderId} jquery=h3 |
27 | 27 | Click Element id=submit-login-button |
28 | 28 | Wait Until Page Contains Element xpath=//div[@class="introjs-overlay"] 100 |
29 | 29 | |
30 | - | |
31 | 30 | Створити тендер |
32 | 31 | [Arguments] @{ARGUMENTS} |
33 | 32 | [Documentation] |
34 | 33 | ... ${ARGUMENTS[0]} == username |
35 | 34 | ... ${ARGUMENTS[1]} == tender_data |
35 | + | |
36 | 36 | ## Inicialisation |
37 | 37 | ${items}= Get From Dictionary ${ARGUMENTS[1].data} items |
38 | 38 | ${title}= Get From Dictionary ${ARGUMENTS[1].data} title |
39 | 39 | ${description}= Get From Dictionary ${ARGUMENTS[1].data} description |
40 | 40 | ${budget}= Get From Dictionary ${ARGUMENTS[1].data.value} amount |
41 | 41 | ${step_rate}= Get From Dictionary ${ARGUMENTS[1].data.minimalStep} amount |
42 | - | |
43 | - ${items_description}= Get From Dictionary ${items[0]} description | |
44 | - ${quantity}= Get From Dictionary ${items[0]} quantity | |
45 | - ${cpv}= Get From Dictionary ${items[0].classification} description_ua | |
46 | - ${dkpp_desc}= Get From Dictionary ${items[0].additionalClassifications[0]} description | |
47 | - ${dkpp_id}= Get From Dictionary ${items[0].additionalClassifications[0]} id | |
48 | - ${unit}= Get From Dictionary ${items[0].unit} name | |
49 | - | |
50 | 42 | ${start_date}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} startDate |
51 | 43 | ${end_date}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} endDate |
52 | 44 | ${enquiry_start_date}= Get From Dictionary ${ARGUMENTS[1].data.enquiryPeriod} startDate |
53 | 45 | ${enquiry_end_date}= Get From Dictionary ${ARGUMENTS[1].data.enquiryPeriod} endDate |
54 | - ${deliverydate_end_date}= Get From Dictionary ${items[0].deliveryDate} endDate | |
55 | - | |
56 | - ${countryName}= Get From Dictionary ${items[0].deliveryAddress} countryName | |
57 | - ${ZIP}= Get From Dictionary ${items[0].deliveryAddress} postalCode | |
58 | - ${region}= Get From Dictionary ${items[0].deliveryAddress} region | |
59 | - ${locality}= Get From Dictionary ${items[0].deliveryAddress} locality | |
60 | - ${streetAddress}= Get From Dictionary ${items[0].deliveryAddress} streetAddress | |
61 | -## | |
46 | + | |
62 | 47 | Selenium2Library.Switch Browser ${ARGUMENTS[0]} |
63 | 48 | Go To ${USERS.users['${username}'].homepage} |
64 | 49 | Wait Until Page Contains Element xpath=//a[@href="#/create-tender"] 100 |
65 | 50 | Click Link xpath=//a[@href="#/create-tender"] |
66 | - Wait Until Page Contains Новый тендер 100 | |
51 | + Wait Until Page Contains Новый тендер 100 | |
67 | 52 | # Input fields tender |
68 | 53 | Input text name=tenderName ${title} |
69 | - Input text name=tenderDescription ${description} | |
54 | + Input text name=tenderDescription ${description} | |
70 | 55 | Input text id=budget ${budget} |
71 | 56 | Click Element id=with-nds |
72 | 57 | Input text id=step ${step_rate} |
73 | -## 1-st Item ifo | |
74 | - Input text id=itemDescription0 ${items_description} | |
75 | - Input text id=quantity0 ${quantity} | |
76 | - Click Element xpath=//a[@class="dropdown-toggle ng-binding"] | |
77 | - Click Element xpath=//a[contains(text(),'${unit}')] | |
78 | -# Set CPV | |
79 | - Click Element id=classifier10 | |
80 | - Wait Until Page Contains Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] 100 | |
81 | - Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${cpv} | |
82 | - Wait Until Page Contains Element xpath=//span[contains(text(),'${cpv}')] 20 | |
83 | - Click Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] | |
84 | - Click Element xpath=//button[@class="btn btn-default btn-lg pull-right choose ng-binding"] | |
85 | -# Set ДКПП | |
86 | - Click Element id=classifier20 | |
87 | - Wait Until Page Contains Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] 100 | |
88 | - Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${dkpp_desc} | |
89 | - Wait Until Page Contains Element xpath=//span[contains(text(),'${dkpp_id}')] 100 | |
90 | - Click Element xpath=//span[contains(text(),'${dkpp_id}')]/../..//input[@class="ng-pristine ng-untouched ng-valid"] | |
91 | - Click Element xpath=//button[@class="btn btn-default btn-lg pull-right choose ng-binding"] | |
92 | -# Set Delivery Address | |
93 | - Click Element id=deliveryAddress0 | |
94 | - Wait Until Page Contains Element xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] 100 | |
95 | - Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${countryName} | |
96 | - Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${ZIP} | |
97 | - Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${region} | |
98 | - Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${locality} | |
99 | - Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${streetAddress} | |
100 | - Click Element xpath=//button[@class="btn btn-lg single-btn ng-binding"] | |
101 | -# Set Item Datetime | |
102 | - Set datetime end-date-delivery0 ${deliverydate_end_date} | |
103 | -## | |
58 | +# Add Item(s) | |
59 | + Додати придмет ${items[0]} 0 | |
60 | + Run Keyword If '${mode}' == 'multi' Додати багато придметів items | |
104 | 61 | # Set tender datatimes |
105 | 62 | Set datetime start-date-registration ${start_date} |
106 | 63 | Set datetime end-date-registration ${end_date} |
107 | 64 | Set datetime end-date-qualification ${enquiry_end_date} |
108 | 65 | Set datetime start-date-qualification ${enquiry_start_date} |
109 | - | |
110 | - Run Keyword If '${mode}' == 'multi' Додати придмет items | |
111 | - | |
66 | +# Save | |
112 | 67 | Click Element xpath=//button[@class="btn btn-lg btn-default cancel pull-right ng-binding"] |
113 | 68 | Wait Until Page Contains Element xpath=//div[@ng-click="goHome()"] 30 |
114 | 69 | Click Element xpath=//div[@ng-click="goHome()"] |
115 | -### harcode Idis bacause issues on the Newtend side, to remove after fix: | |
116 | - ${tender_UAid}= Convert To String UA-2015-07-06-000105 | |
117 | - ${tender_id}= Convert To String 192c86c7d8b74c1081d1a9b2db0faba2 | |
118 | - | |
119 | -### ${tender_UAid}= Get Text xpath=//div[@class="title"] | |
120 | - | |
121 | - ${Ids} Create List ${tender_UAid} ${tender_id} | |
70 | +# Get Ids | |
71 | + Wait Until Page Contains Element xpath=//div[@class="title"] 30 | |
72 | + ${tender_UAid}= Get Text xpath=//div[@class="title"] | |
73 | + ${current_location}= Get Location | |
74 | + ${tender_id}= Get Substring ${current_location} -41 -9 | |
75 | + ${Ids} Create List ${tender_UAid} ${tender_id} | |
122 | 76 | [return] ${Ids} |
123 | 77 | |
78 | + | |
124 | 79 | Set datetime |
125 | 80 | [Arguments] @{ARGUMENTS} |
126 | 81 | [Documentation] |
127 | 82 | ... ${ARGUMENTS[0]} == control_id |
128 | 83 | ... ${ARGUMENTS[1]} == date |
129 | 84 | #Pick Date |
130 | - Click Element xpath=//input[@id="${ARGUMENTS[0]}"]/../span[@class="calendar-btn"] | |
131 | - Wait Until Page Contains Element xpath=//td[@class="text-center ng-scope"] 30 | |
85 | + Click Element xpath=//input[@id="${ARGUMENTS[0]}"]/../span[@class="calendar-btn"] | |
86 | + Wait Until Page Contains Element xpath=//td[@class="text-center ng-scope"] 30 | |
132 | 87 | ${datapicker_id}= Get Element Attribute xpath=//input[@id="${ARGUMENTS[0]}"]/..//td[@class="text-center ng-scope"]@id |
133 | - ${datapicker_id}= Get Substring ${datapicker_id} 0 -1 | |
134 | - ${date_index}= newtend_date_picker_index ${ARGUMENTS[1]} | |
135 | - ${datapicker_id}= Convert To String ${datapicker_id}${date_index} | |
136 | - Click Element xpath=//input[@id="${ARGUMENTS[0]}"]/..//td[@id="${datapicker_id}"]/button | |
88 | + ${datapicker_id}= Get Substring ${datapicker_id} 0 -1 | |
89 | + ${date_index}= newtend_date_picker_index ${ARGUMENTS[1]} | |
90 | + ${datapicker_id}= Convert To String ${datapicker_id}${date_index} | |
91 | + Click Element xpath=//input[@id="${ARGUMENTS[0]}"]/..//td[@id="${datapicker_id}"]/button | |
137 | 92 | #Set time |
138 | 93 | ${hous}= Get Substring ${ARGUMENTS[1]} 11 13 |
139 | 94 | ${minutes}= Get Substring ${ARGUMENTS[1]} 14 16 |
140 | 95 | Input text xpath=//input[@id="${ARGUMENTS[0]}"]/../..//input[@ng-model="hours"] ${hous} |
141 | 96 | Input text xpath=//input[@id="${ARGUMENTS[0]}"]/../..//input[@ng-model="minutes"] ${minutes} |
142 | 97 | |
143 | - | |
144 | 98 | Додати придмет |
145 | 99 | [Arguments] @{ARGUMENTS} |
146 | 100 | [Documentation] |
147 | - ... ${ARGUMENTS[0]} == items | |
148 | - | |
149 | -## Get values for 2-nd item | |
150 | - ${items_description1}= Get From Dictionary ${items[1]} description | |
151 | - ${quantity1}= Get From Dictionary ${items[1]} quantity | |
152 | - ${cpv1}= Get From Dictionary ${items[1].classification} description_ua | |
153 | - ${dkpp_desc1}= Get From Dictionary ${items[1].additionalClassifications[0]} description | |
154 | - ${dkpp_id1}= Get From Dictionary ${items[1].additionalClassifications[0]} id | |
155 | - ${unit1}= Get From Dictionary ${items[1].unit} name | |
156 | - | |
157 | - ${deliverydate_end_date1}= Get From Dictionary ${items[1].deliveryDate} endDate | |
158 | - | |
159 | - ${countryName1}= Get From Dictionary ${items[1].deliveryAddress} countryName | |
160 | - ${ZIP1}= Get From Dictionary ${items[1].deliveryAddress} postalCode | |
161 | - ${region1}= Get From Dictionary ${items[1].deliveryAddress} region | |
162 | - ${locality1}= Get From Dictionary ${items[1].deliveryAddress} locality | |
163 | - ${streetAddress1}= Get From Dictionary ${items[1].deliveryAddress} streetAddress | |
164 | - | |
165 | -## Get values for 3-rd item | |
166 | - ${items_description2}= Get From Dictionary ${items[2]} description | |
167 | - ${quantity2}= Get From Dictionary ${items[2]} quantity | |
168 | - ${cpv2}= Get From Dictionary ${items[2].classification} description_ua | |
169 | - ${dkpp_desc2}= Get From Dictionary ${items[2].additionalClassifications[0]} description | |
170 | - ${dkpp_id2}= Get From Dictionary ${items[2].additionalClassifications[0]} id | |
171 | - ${unit2}= Get From Dictionary ${items[2].unit} name | |
172 | - | |
173 | - ${deliverydate_end_date2}= Get From Dictionary ${items[2].deliveryDate} endDate | |
174 | - | |
175 | - ${countryName2}= Get From Dictionary ${items[2].deliveryAddress} countryName | |
176 | - ${ZIP2}= Get From Dictionary ${items[2].deliveryAddress} postalCode | |
177 | - ${region2}= Get From Dictionary ${items[2].deliveryAddress} region | |
178 | - ${locality2}= Get From Dictionary ${items[2].deliveryAddress} locality | |
179 | - ${streetAddress2}= Get From Dictionary ${items[2].deliveryAddress} streetAddress | |
180 | - | |
181 | -## Get values for 4-th item | |
182 | - ${items_description3}= Get From Dictionary ${items[3]} description | |
183 | - ${quantity3}= Get From Dictionary ${items[3]} quantity | |
184 | - ${cpv3}= Get From Dictionary ${items[3].classification} description_ua | |
185 | - ${dkpp_desc3}= Get From Dictionary ${items[3].additionalClassifications[0]} description | |
186 | - ${dkpp_id3}= Get From Dictionary ${items[3].additionalClassifications[0]} id | |
187 | - ${unit3}= Get From Dictionary ${items[3].unit} name | |
188 | - | |
189 | - ${deliverydate_end_date3}= Get From Dictionary ${items[3].deliveryDate} endDate | |
190 | - | |
191 | - ${countryName3}= Get From Dictionary ${items[3].deliveryAddress} countryName | |
192 | - ${ZIP3}= Get From Dictionary ${items[3].deliveryAddress} postalCode | |
193 | - ${region3}= Get From Dictionary ${items[3].deliveryAddress} region | |
194 | - ${locality3}= Get From Dictionary ${items[3].deliveryAddress} locality | |
195 | - ${streetAddress3}= Get From Dictionary ${items[3].deliveryAddress} streetAddress | |
196 | - | |
197 | - | |
198 | - Click Element xpath=//a[@class="icon-black plus-black remove-field ng-scope"] | |
199 | -###переробити на наступний ітем | |
200 | - | |
201 | -# Input text id=itemDescription0 ${items_description} | |
202 | - Input text id=itemDescription1 ${items_description1} | |
203 | -# Input text id=quantity0 ${quantity} | |
204 | - Input text id=quantity1 ${quantity1} | |
205 | -### to fix | |
206 | - Click Element xpath=//a[@class="dropdown-toggle ng-binding"] | |
207 | - Click Element xpath=(//span[contains(@class, 'caret')][./text()='единицы измерения']) | |
208 | - | |
209 | -<a aria-expanded="false" aria-haspopup="true" class="dropdown-toggle ng-binding" dropdown-toggle=""> | |
210 | - единицы измерения <span class="caret"></span> | |
211 | - </a> | |
212 | - Click Element xpath=//a[contains(text(),'${unit1}')] | |
213 | - | |
101 | + ... ${ARGUMENTS[0]} == items_n | |
102 | + ... ${ARGUMENTS[1]} == index | |
103 | +## Get values for item | |
104 | + ${items_description}= Get From Dictionary ${ARGUMENTS[0]} description | |
105 | + ${quantity}= Get From Dictionary ${ARGUMENTS[0]} quantity | |
106 | + ${cpv}= Get From Dictionary ${ARGUMENTS[0].classification} description_ua | |
107 | + ${dkpp_desc}= Get From Dictionary ${ARGUMENTS[0].additionalClassifications[0]} description | |
108 | + ${dkpp_id}= Get From Dictionary ${ARGUMENTS[0].additionalClassifications[0]} id | |
109 | + ${unit}= Get From Dictionary ${ARGUMENTS[0].unit} name | |
110 | + ${deliverydate_end_date}= Get From Dictionary ${ARGUMENTS[0].deliveryDate} endDate | |
111 | + ${countryName}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} countryName | |
112 | + ${ZIP}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} postalCode | |
113 | + ${region}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} region | |
114 | + ${locality}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} locality | |
115 | + ${streetAddress}= Get From Dictionary ${ARGUMENTS[0].deliveryAddress} streetAddress | |
116 | +# Add item | |
117 | + Input text id=itemDescription${ARGUMENTS[1]} ${items_description} | |
118 | + Input text id=quantity${ARGUMENTS[1]} ${quantity} | |
119 | + Click Element xpath=//a[contains(text(), "единицы измерения")] | |
120 | + Click Element xpath=//a[contains(text(), "единицы измерения")]/..//a[contains(text(), '${unit}')] | |
214 | 121 | # Set CPV |
215 | - Click Element id=classifier11 | |
122 | + Click Element id=classifier1${ARGUMENTS[1]} | |
216 | 123 | Wait Until Page Contains Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] 100 |
217 | - Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${cpv1} | |
218 | - Wait Until Page Contains Element xpath=//span[contains(text(),'${cpv1}')] 20 | |
124 | + Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${cpv} | |
125 | + Wait Until Page Contains Element xpath=//span[contains(text(),'${cpv}')] 20 | |
219 | 126 | Click Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] |
220 | 127 | Click Element xpath=//button[@class="btn btn-default btn-lg pull-right choose ng-binding"] |
221 | 128 | # Set ДКПП |
222 | - Click Element id=classifier21 | |
129 | + Click Element id=classifier2${ARGUMENTS[1]} | |
223 | 130 | Wait Until Page Contains Element xpath=//input[@class="ng-pristine ng-untouched ng-valid"] 100 |
224 | - Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${dkpp_desc1} | |
225 | - Wait Until Page Contains Element xpath=//span[contains(text(),'${dkpp_id1}')] 100 | |
226 | - Click Element xpath=//span[contains(text(),'${dkpp_id1}')]/../..//input[@class="ng-pristine ng-untouched ng-valid"] | |
131 | + Input text xpath=//input[@class="ng-pristine ng-untouched ng-valid"] ${dkpp_desc} | |
132 | + Wait Until Page Contains Element xpath=//span[contains(text(),'${dkpp_id}')] 100 | |
133 | + Click Element xpath=//span[contains(text(),'${dkpp_id}')]/../..//input[@class="ng-pristine ng-untouched ng-valid"] | |
227 | 134 | Click Element xpath=//button[@class="btn btn-default btn-lg pull-right choose ng-binding"] |
228 | 135 | # Set Delivery Address |
229 | - Click Element id=deliveryAddress1 | |
136 | + Click Element id=deliveryAddress${ARGUMENTS[1]} | |
230 | 137 | Wait Until Page Contains Element xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] 100 |
231 | 138 | Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${countryName} |
232 | 139 | Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${ZIP} |
... | ... | @@ -235,9 +142,16 @@ Set datetime |
235 | 142 | Input text xpath=//input[1][@class="form-control ng-pristine ng-untouched ng-valid"] ${streetAddress} |
236 | 143 | Click Element xpath=//button[@class="btn btn-lg single-btn ng-binding"] |
237 | 144 | # Set Item Datetime |
238 | - Set datetime end-date-delivery1 ${deliverydate_end_date1} | |
239 | -### | |
240 | - Debug | |
145 | + Set datetime end-date-delivery${ARGUMENTS[1]} ${deliverydate_end_date} | |
146 | + | |
147 | +Додати багато придметів | |
148 | + [Arguments] @{ARGUMENTS} | |
149 | + [Documentation] | |
150 | + ... ${ARGUMENTS[0]} == items | |
151 | + ${Items_length}= Get Length ${items} | |
152 | + : FOR ${INDEX} IN RANGE 1 ${Items_length} | |
153 | + \ Click Element xpath=//a[@class="icon-black plus-black remove-field ng-scope"] | |
154 | + \ Додати придмет ${items[${INDEX}]} ${INDEX} | |
241 | 155 | |
242 | 156 | |
243 | 157 | ... | ... |
Please
register
or
login
to post a comment