Advertisement
yboi

Untitled

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