diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..568b6e1 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..494d9bf --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/python_selenium_1.iml b/.idea/python_selenium_1.iml new file mode 100644 index 0000000..eaf8de1 --- /dev/null +++ b/.idea/python_selenium_1.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/car.py b/car.py index 809f61a..6fca6a0 100644 --- a/car.py +++ b/car.py @@ -18,3 +18,4 @@ def convert_gas(self): return "Elite" else: return "Diesel" +1 \ No newline at end of file diff --git a/chromedriver b/chromedriver new file mode 100755 index 0000000..df7565d Binary files /dev/null and b/chromedriver differ diff --git a/homework/homework_1.py b/homework/homework_1.py new file mode 100644 index 0000000..c82aba6 --- /dev/null +++ b/homework/homework_1.py @@ -0,0 +1,28 @@ +class Countries: + def __init__(self, name, population, land_area, density): + self.name = name + self.population = population + self.land_area = land_area + self.density = density + + def county_pop(self): + return self.name + self.population + + def area(self): + return self.name == self.land_area + + def country_dens(self): + return self.name + self.population + self.density + + def all_info(self): + return self.name + self.population + self.land_area + self.density + + # def loop(self): + # for country in self.name: + # if self.name == "Ukraine": + # return self.all_info() + + def overpopulation(self): + if self.population > 150000000 and self.land_area < 9000000: + return self.name + " is overpopulated" + diff --git a/homework/test_homework1.py b/homework/test_homework1.py new file mode 100644 index 0000000..dad4a24 --- /dev/null +++ b/homework/test_homework1.py @@ -0,0 +1,19 @@ +from homework.homework_1 import Countries + +def ch(): + # ARRANGE + china = Countries("China", 1439323776, 9388211, 153) + # ACT + result = china.county_pop() + # ASSERT + assert result == "overpopulated" + +def usa(): + us = Countries("United State of America", 331002651, 9147420, 36) + result = us.county_pop() + assert us.county_pop() == ch() + +def ua(): + ua = Countries("Ukraine", 43733762, 579320, 75) + result = ua.country_dens() + assert result == "Uzbekistan" diff --git a/homework/test_offers_hw.py b/homework/test_offers_hw.py new file mode 100644 index 0000000..3003c06 --- /dev/null +++ b/homework/test_offers_hw.py @@ -0,0 +1,77 @@ +from selenium import webdriver +import time +import pytest +from selenium.webdriver.common.by import By +from selenium.webdriver.common.keys import Keys +from selenium.webdriver.support import expected_conditions as EC +from selenium.webdriver.support.ui import WebDriverWait + + +# Homework 1============================================ + +class Test_Offers: + @pytest.fixture() + def test_setup(self): + global driver + driver = webdriver.Chrome(executable_path="/Users/tarapodolskiy/PycharmProjects/python_selenium_1/chromedriver") + driver.implicitly_wait(6) + driver.maximize_window() + driver.get("https://testkwidos.tk/") + yield + time.sleep(3) + driver.quit() + + # HOMEWORK 1.1 + + def test_homework_1_1(self, test_setup): + + offers = driver.find_element_by_xpath("//*[contains(text(), 'OFFERS')]") + offers.click() + + service_type = driver.find_element_by_css_selector(".ui-multiselect-trigger-icon.ui-clickable.pi.pi-caret-down") + service_type.click() + + select = driver.find_element_by_xpath("//label[contains(text(),'Air conditioning')]") + select.click() + + close = driver.find_element_by_css_selector(".pi.pi-times") + close.click() + + state_field = driver.find_element_by_css_selector(".ui-dropdown-trigger-icon.ui-clickable.pi.pi-caret-down") + state_field.click() + + california = driver.find_element_by_xpath("//span[contains(text(),'California')]") + california.click() + + text = driver.find_element_by_xpath("//*[contains(text(), 'house')]").text + assert "house" == text + + # HOMEWORK 1.2 + + def test_homework_1_2(self, test_setup): + offers = driver.find_element_by_xpath("//*[text()='OFFERS']") + offers.click() + + service_type = driver.find_element_by_css_selector(".ui-multiselect-trigger-icon.ui-clickable.pi.pi-caret-down") + service_type.click() + + select = driver.find_element_by_xpath("//label[contains(text(),'Air conditioning')]") + select.click() + + close = driver.find_element_by_css_selector(".pi.pi-times") + close.click() + + state_field = driver.find_element_by_css_selector(".ui-dropdown-trigger-icon.ui-clickable.pi.pi-caret-down") + state_field.click() + + iterate_state = driver.find_elements_by_xpath("//div[@class='ui-dropdown-items-wrapper']/ul/li/span") + for wyo in iterate_state: + if wyo.text == "Wyoming": + wyo.click() + + def test_homework_1_3(self, test_setup): + blog = driver.find_element_by_xpath("//p[contains(text(),'BLOG')]") + blog.click() + + scroll_down = driver.find_element_by_xpath("//span[contains(text(),'Kwidos is the place for new businesses')]") + driver.execute_script("arguments[0].scrollIntoView();", scroll_down)