Advertisement
fkudinov

Використання Фікстур для тестування UI / Pytest Fixtures with Selenium Python

Mar 30th, 2024
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.22 KB | Source Code | 0 0
  1. from selenium.webdriver import Chrome
  2. from selenium.common import NoSuchElementException
  3. from selenium.webdriver.common.by import By
  4.  
  5.  
  6. HOST = "https://www.saucedemo.com"
  7. LOGIN = "standard_user"
  8. PASSORD = "secret_sauce"
  9.  
  10.  
  11. session = Chrome()
  12. session.get(HOST)
  13.  
  14. # вхід в систему
  15. session.find_element(By.ID, "user-name").send_keys(LOGIN)
  16. session.find_element(By.ID, "password").send_keys(PASSORD)
  17. session.find_element(By.ID, "login-button").click()
  18.  
  19. # перевірити кількість продуктів на сторінці
  20. elements = session.find_elements(By.CSS_SELECTOR, ".inventory_list .inventory_item")
  21. assert len(elements) == 6
  22.  
  23. # додати перший продукт в корзину
  24. elements[0].find_element(By.XPATH, ".//*[@class='pricebar']//button").click()
  25.  
  26. # додати третій продукт в корзину
  27. elements[2].find_element(By.XPATH, ".//*[@class='pricebar']//button").click()
  28.  
  29. # перевірити індикатор корзини
  30. cart = session.find_element(By.ID, "shopping_cart_container")
  31. cart_badge = cart.find_element(By.XPATH, ".//*[contains(@class, 'shopping_cart_badge')]")
  32. assert cart_badge.text == '2'
  33.  
  34. # перейти в корзину
  35. cart.click()
  36.  
  37. # перевірити кількість елементів в корзині
  38. items = session.find_elements(By.CSS_SELECTOR, ".cart_list .cart_item")
  39. assert len(items) == 2
  40.  
  41. # перейти до оформлення замовлення
  42. session.find_element(By.ID, "checkout").click()
  43.  
  44. # заповнення форми замовлення
  45. session.find_element(By.ID, "first-name").send_keys("Jonh")
  46. session.find_element(By.ID, "last-name").send_keys("Adams")
  47. session.find_element(By.ID, "postal-code").send_keys("001011")
  48. session.find_element(By.ID, "continue").click()
  49.  
  50. # виконати замовлення
  51. session.find_element(By.ID, "finish").click()
  52.  
  53. # перевірити, що корзина пуста
  54. session.find_element(By.ID, "back-to-products").click()
  55. cart = session.find_element(By.ID, "shopping_cart_container")
  56.  
  57. try:
  58.     cart.find_element(By.XPATH, ".//*[contains(@class, 'shopping_cart_badge')]")
  59. except NoSuchElementException:
  60.     pass
  61. else:
  62.     raise AssertionError
  63.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement