Advertisement
yboi

Untitled

Jul 8th, 2015
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.70 KB | None | 0 0
  1. *** Setting ***
  2. Library Selenium2Screenshots
  3. Library String
  4. Library DateTime
  5.  
  6. *** Variables ***
  7. ${locator.tenderId} jquery=h3
  8. ${locator.title} jquery=tender-subject-info>div.row:contains("Назва закупівлі:")>:eq(1)>
  9. ${locator.description} jquery=tender-subject-info>div.row:contains("Детальний опис закупівлі:")>:eq(1)>
  10. ${locator.minimalStep.amount} jquery=tender-subject-info>div.row:contains("Мінімальний крок аукціону, грн.:")>:eq(1)>
  11. ${locator.procuringEntity.name} jquery=customer-info>div.row:contains("Найменування:")>:eq(1)>
  12. ${locator.value.amount} jquery=tender-subject-info>div.row:contains("Повний доступний бюджет закупівлі, грн.:")>:eq(1)>
  13. ${locator.tenderPeriod.startDate} jquery=tender-procedure-info>div.row:contains("Початок прийому пропозицій:")>:eq(1)>
  14. ${locator.tenderPeriod.endDate} jquery=tender-procedure-info>div.row:contains("Завершення прийому пропозицій:")>:eq(1)>
  15. ${locator.enquiryPeriod.startDate} jquery=tender-procedure-info>div.row:contains("Початок періоду уточнень:")>:eq(1)>
  16. ${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contains("Завершення періоду уточнень:")>:eq(1)>
  17.  
  18. *** Keywords ***
  19. Підготувати дані для задання питання
  20. ${QUESTIONS}= prepare_test_question_data
  21. [return] ${QUESTIONS}
  22.  
  23. Підготувати клієнт для користувача
  24. [Arguments] @{ARGUMENTS}
  25. Open Browser ${USERS.users['${username}'].homepage} alias=${username}
  26. Set Window Size @{USERS.users['${username}'].size}
  27.  
  28. Login
  29. Wait Until Page Contains Element id=inputUsername 100
  30. Input text id=inputUsername ${USERS.users['${username}'].login}
  31. Input text id=inputPassword ${USERS.users['${username}'].password}
  32. Click Button id=btn_submit
  33.  
  34. Пошук тендера по ідентифікатору
  35. [Arguments] @{ARGUMENTS}
  36. [Documentation]
  37. ... ${ARGUMENTS[0]} == username
  38. ... ${ARGUMENTS[1]} == tenderId
  39. ... ${ARGUMENTS[2]} == id
  40. Switch browser ${ARGUMENTS[0]}
  41. ${current_location}= Get Location
  42. Run keyword if '${BROKERS['${USERS.users['${username}'].broker}'].url}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}' Reload Page
  43. Go to ${BROKERS['${USERS.users['${username}'].broker}'].url}
  44. Wait Until Page Contains E-TENDER - центр електронної торгівлі 10
  45. sleep 1
  46. Input Text jquery=input[ng-change='search()'] ${ARGUMENTS[1]}
  47. Click Link jquery=a[ng-click='search()']
  48. sleep 2
  49. # ${last_note_id}= Add pointy note jquery=a[href^="#/tenderDetailes"] Found tender with tenderID "${ARGUMENTS[1]}" width=200 position=bottom
  50. # sleep 1
  51. # Remove element ${last_note_id}
  52. Click Link jquery=a[href^="#/tenderDetailes"]
  53. Wait Until Page Contains ${ARGUMENTS[1]} 10
  54. sleep 1
  55. Capture Page Screenshot
  56.  
  57. обновити сторінку з тендером
  58. [Arguments] @{ARGUMENTS}
  59. [Documentation]
  60. ... ${ARGUMENTS[0]} == username
  61. ... ${ARGUMENTS[1]} == tenderId
  62. ... ${ARGUMENTS[2]} == id
  63. ${current_location}= Get Location
  64. Run keyword if '${BROKERS['${USERS.users['${username}'].broker}'].url}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}' Reload Page
  65. Run keyword unless '${BROKERS['${USERS.users['${username}'].broker}'].url}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}' Пошук тендера по ідентифікатору @{ARGUMENTS}
  66. Wait Until Page Contains ${ARGUMENTS[1]} 10
  67. sleep 1
  68.  
  69. отримати інформацію із тендера
  70. [Arguments] @{ARGUMENTS}
  71. [Documentation]
  72. ... ${ARGUMENTS[0]} == username
  73. ... ${ARGUMENTS[1]} == fieldname
  74. Switch browser ${ARGUMENTS[0]}
  75. ${return_value}= run keyword отримати інформацію про ${ARGUMENTS[1]}
  76. [return] ${return_value}
  77.  
  78. Відмітити на сторінці поле з тендера
  79. [Arguments] ${fieldname} ${locator}
  80. ${last_note_id}= Add pointy note ${locator} Found ${fieldname} width=200 position=bottom
  81. Align elements horizontally ${locator} ${last_note_id}
  82. sleep 1
  83. Remove element ${last_note_id}
  84.  
  85. Отримати тест із поля і показати на сторінці
  86. [Arguments] ${fieldname}
  87. sleep 3
  88. # відмітити на сторінці поле з тендера ${fieldname} ${locator.${fieldname}}
  89. ${return_value}= Get Text ${locator.${fieldname}}
  90. [return] ${return_value}
  91.  
  92. отримати інформацію про tenderId
  93. ${return_value}= Отримати тест із поля і показати на сторінці tenderId
  94. [return] ${return_value.split(' ')[1]}
  95.  
  96. отримати інформацію про title
  97. ${return_value}= Отримати тест із поля і показати на сторінці title
  98. [return] ${return_value}
  99.  
  100. отримати інформацію про description
  101. ${return_value}= Отримати тест із поля і показати на сторінці description
  102. [return] ${return_value}
  103.  
  104. отримати інформацію про minimalStep.amount
  105. ${return_value}= Отримати тест із поля і показати на сторінці minimalStep.amount
  106. ${return_value}= Convert To Number ${return_value.split(' ')[0]}
  107. [return] ${return_value}
  108.  
  109. отримати інформацію про procuringEntity.name
  110. ${return_value}= Отримати тест із поля і показати на сторінці procuringEntity.name
  111. [return] ${return_value}
  112.  
  113.  
  114. отримати інформацію про value.amount
  115. ${return_value}= Отримати тест із поля і показати на сторінці value.amount
  116. ${return_value}= Evaluate "".join("${return_value}".split(' ')[:-3])
  117. ${return_value}= Convert To Number ${return_value}
  118. [return] ${return_value}
  119.  
  120. отримати інформацію про tenderPeriod.startDate
  121. ${return_value}= Отримати тест із поля і показати на сторінці tenderPeriod.startDate
  122. [return] ${return_value}
  123.  
  124. отримати інформацію про tenderPeriod.endDate
  125. ${return_value}= Отримати тест із поля і показати на сторінці tenderPeriod.endDate
  126. [return] ${return_value}
  127.  
  128. отримати інформацію про enquiryPeriod.startDate
  129. ${return_value}= Отримати тест із поля і показати на сторінці enquiryPeriod.startDate
  130. [return] ${return_value}
  131.  
  132. отримати інформацію про enquiryPeriod.endDate
  133. ${return_value}= Отримати тест із поля і показати на сторінці enquiryPeriod.endDate
  134. [return] ${return_value}
  135.  
  136.  
  137. отримати інформацію про items[${item_id}].description
  138. відмітити на сторінці поле з тендера items[${item_id}].description jquery=tender-subject-info.ng-isolate-scope>div.row:contains("Детальний опис предмету закупівлі:")>:eq(1)>
  139. ${return_value}= Get Text jquery=tender-subject-info.ng-isolate-scope>div.row:contains("Детальний опис предмету закупівлі:")>:eq(1)>
  140. [return] ${return_value}
  141.  
  142. отримати інформацію про items[${item_id}].quantity
  143. відмітити на сторінці поле з тендера items[${item_id}].quantity jquery=tender-subject-info.ng-isolate-scope>div.row:contains("Кількість:")>:eq(1)>
  144. ${return_value}= Get Text jquery=tender-subject-info.ng-isolate-scope>div.row:contains("Кількість:")>:eq(1)>
  145. ${return_value}= Convert To Number ${return_value}
  146. [return] ${return_value}
  147.  
  148. отримати інформацію про items[${item_id}].classification.id
  149. відмітити на сторінці поле з тендера items[0].classification.id jquery=tender-subject-info>div.row:contains("Класифікатор CPV:")>:eq(1)>
  150. ${return_value}= Get Text jquery=tender-subject-info>div.row:contains("Класифікатор CPV:")>:eq(1)>
  151. [return] ${return_value.split(' ')[0]}
  152.  
  153. отримати інформацію про items[${item_id}].classification.scheme
  154. відмітити на сторінці поле з тендера items[0].classification.id jquery=tender-subject-info>div.row:contains("CPV")>:eq(1)>
  155. ${return_value}= Get Text jquery=tender-subject-info>div.row:contains("CPV")>:eq(1)>
  156. [return] ${return_value.split(' ')[0]}
  157.  
  158. отримати інформацію про items[${item_id}].classification.description
  159. відмітити на сторінці поле з тендера classification.description jquery=tender-subject-info>div.row:contains("Класифікатор CPV:")>:eq(1)>
  160. ${return_value}= Get Text jquery=tender-subject-info>div.row:contains("Класифікатор CPV:")>:eq(1)>
  161. ${return_value}= catenate @{return_value.split(' ')[1:]}
  162. [return] ${return_value}
  163.  
  164. отримати інформацію про items[${item_id}].deliveryAddress
  165. ${return_value}= Отримати тест із поля і показати на сторінці items[${item_id}].deliveryAddress
  166. [return] ${return_value}
  167.  
  168. отримати інформацію про items[${item_id}].deliveryDate
  169. ${return_value}= Отримати тест із поля і показати на сторінці items[${item_id}].deliveryDate
  170. [return] ${return_value}
  171.  
  172. отримати інформацію про questions[${question_id}].title
  173. відмітити на сторінці поле з тендера questions title jquery=tender-questions>div:eq(1)>div.row:contains("Тема:")>:eq(1)>
  174. ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div.row:contains("Тема:")>:eq(1)>
  175. [return] ${return_value}
  176.  
  177. отримати інформацію про questions[${question_id}].description
  178. відмітити на сторінці поле з тендера questions description jquery=tender-questions>div:eq(1)>div.row:contains("Питання:")>:eq(1)>
  179. ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div.row:contains("Питання:")>:eq(1)>
  180. [return] ${return_value}
  181.  
  182. отримати інформацію про questions[${question_id}].date
  183. відмітити на сторінці поле з тендера question date jquery=tender-questions>div:eq(1)>div.row:contains("Дата:")>:eq(1)>
  184. ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div.row:contains("Дата:")>:eq(1)>
  185. [return] ${return_value}
  186.  
  187. отримати інформацію про questions[${question_id}].answer
  188. відмітити на сторінці поле з тендера question answer jquery=tender-questions>div:eq(1)>div:last>
  189. ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div:last>
  190. [return] ${return_value}
  191.  
  192. Задати питання
  193. [Arguments] @{QUESTIONS}
  194.  
  195. etender.Підготувати клієнт для користувача ${username}
  196.  
  197. Login
  198. ${title}= Get From Dictionary ${QUESTIONS[0].data} title
  199. ${description}= Get From Dictionary ${QUESTIONS[0].data} description
  200. Wait Until Page Contains Element jquery=a[href="#/"]
  201. Click Element jquery=a[href="#/"]
  202. Wait Until Page Contains Element jquery=input[ng-change='search()']
  203. Input Text jquery=input[ng-change='search()'] UA-2015-06-30-000012 #Так як немає попередніх тестів, використовую хард-код
  204. Wait Until Page Contains Element jquery=a[ng-click="search()"]
  205. Click Element jquery=a[ng-click="search()"]
  206. Wait Until Page Contains [ТЕСТУВАННЯ] 100
  207. Click Element xpath=//table[contains(@class, 'table table-hover table-striped table-bordered ng-scope ng-table')]//tr[1]//a
  208. Wait Until Page Contains Element jquery=a[href^="#/addQuestion/"]
  209. Click Link jquery=a[href^="#/addQuestion/"]
  210. Wait Until Page Contains Element id=title
  211. Input text id=title ${title}
  212. Input text id=description ${description}
  213. Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit']
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement