Advertisement
Guest User

Untitled

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