Advertisement
yboi

Untitled

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