Advertisement
yboi

Untitled

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