-
Notifications
You must be signed in to change notification settings - Fork 2
/
amazon_test.py
54 lines (45 loc) · 2.14 KB
/
amazon_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Gerekli olan kütüphanelerin içeri aktarılması
import unittest
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
class AddItemToCart(unittest.TestCase):
# Ziyaret edeceği sitenin URL'si
base_url = "https://www.amazon.in"
# Aranacak ürün
search_term = "WD My Passport 4TB"
def setUp(self):
# Chrome'u kullanmak için sürücüyü bağlıyorum
self.service = Service('directory/chromedriver')
self.driver = webdriver.Chrome(service=self.service)
# Tarayıcı büyütülmüş pencerede yüklenmelidir
self.driver.maximize_window()
# Sunucunun yüklenmesi için belirli bir süre bekliyorum
self.driver.implicitly_wait(10) # 10 saniye kadar
def test_add_item_to_cart(self):
# Belirlediğim URL sitesine gidiyorum
self.driver.get(self.base_url)
# Arama input alanını seçiyorum
searchTextBox = self.driver.find_element(By.ID, "twotabsearchtextbox")
# Arama input alanını temizliyorum
searchTextBox.clear()
# Belirlediğim arama metninin arama input alanına yazıyorum
searchTextBox.send_keys(self.search_term)
# Aramaya başlıyorum
searchTextBox.send_keys(Keys.RETURN)
# Çıkan ilk ürüne tıklıyorum
self.driver.find_element(By.XPATH,
"(//div[@class='sg-col-inner']//img[contains(@data-image-latency,'s-product-image')])[2]").click()
# Aranan ürün yeni bir sekmede açıldığı için o sekemeye geçiş yapıyorum
self.driver.switch_to.window(self.driver.window_handles[1])
# ürünün üzerinde ki sepete ekle butonuna basarak sepete ekliyorum
self.driver.find_element(By.ID, "add-to-cart-button").click()
# ürünün sepete başarıyla eklendiğini doğruluyorum
self.assertTrue(self.driver.find_element(By.ID,
"attach-added-to-cart-message").is_enabled())
def tearDown(self):
# çıkış yapıyorum
self.driver.quit()
if __name__ == "__main__":
unittest.main()