def test_l14(driver): driver.get("http://localhost/litecart/admin/") driver.find_element_by_name("username").send_keys("admin") driver.find_element_by_name("password").send_keys("admin") driver.find_element_by_name("login").click() wait = WebDriverWait(driver, 10) driver.get("http://localhost/litecart/admin/?app=countries&doc=countries") driver.find_element_by_css_selector(".row a").click() main_window = driver.current_window_handle links = driver.find_elements_by_css_selector(".fa.fa-external-link") # for link in links: # link.click() # # new_window = [i for i in driver.window_handles if i != main_window] # wait.until(EC.new_window_is_opened(new_window)) # # for window in new_window: # driver.switch_to.window(window) # # driver.switch_to.window(main_window) for link in links: link.click() new_window = [i for i in driver.window_handles if i != main_window] wait.until(EC.new_window_is_opened(new_window)) for window in new_window: driver.switch_to.window(window) driver.close() driver.switch_to.window(main_window)
def test_l10(driver): driver.get("http://localhost/litecart/") driver.implicitly_wait(10) driver.find_element_by_css_selector("li.product") is_correct_name(driver) is_correct_price(driver, ".regular-price") is_correct_price(driver, ".campaign-price") color_price_list = [[ ["#box-campaigns s.regular-price", "rgba(119, 119, 119, 1)"], ["#box-campaigns strong.campaign-price", "rgba(204, 0, 0, 1)"], ], [["s.regular-price", "rgba(102, 102, 102, 1)"], ["strong.campaign-price", "rgba(204, 0, 0, 1)"]]] for i in color_price_list[0:1]: is_correct_prices_style(driver, i, "color") is_correct_prices_style(driver, i, "font-size") driver.find_element_by_css_selector("#box-campaigns a").click() for i in color_price_list[1:]: is_correct_prices_style(driver, i, "color") is_correct_prices_style(driver, i, "font-size") driver.back()
def is_correct_name(driver): name_from_main_page = driver.find_element_by_css_selector( "#box-campaigns .name").text driver.find_element_by_css_selector("#box-campaigns a").click() name_from_product_page = driver.find_element_by_css_selector( "h1.title").text assert (name_from_main_page == name_from_product_page) driver.back()
def is_correct_price(driver, type_price): price_from_main_page = driver.find_element_by_css_selector( "#box-campaigns " + type_price).text driver.find_element_by_css_selector("#box-campaigns a").click() price_from_product_page = driver.find_element_by_css_selector( type_price).text assert (price_from_main_page == price_from_product_page) driver.back()
def set_information(driver): Select(driver.find_element_by_name("manufacturer_id")).select_by_visible_text("ACME Corp.") driver.find_element_by_name("keywords").send_keys("keywords") driver.find_element_by_name("short_description[en]").send_keys("short_description") driver.find_element_by_name("description[en]").send_keys("description<br>description<br>description") driver.find_element_by_name("head_title[en]").send_keys("head_title") driver.find_element_by_name("meta_description[en]").send_keys("meta_description") driver.find_element_by_css_selector("[href='#tab-prices']").click()
def add_to_cart(driver, count=1): for i in range(count): driver.find_element_by_css_selector("#box-most-popular a").click() driver.find_element_by_name("add_cart_product").click() counter = int( driver.find_element_by_css_selector("span.quantity").text) WebDriverWait(driver, 10).until(lambda s: int( s.find_element_by_css_selector("span.quantity").text) == counter + 1) driver.back()
def del_from_cart(driver): driver.find_element_by_css_selector("div#cart a.link").click() counter = len(driver.find_elements_by_css_selector("table.dataTable tr")) while counter > 0: driver.find_element_by_name("remove_cart_item").click() WebDriverWait(driver, 10).until(lambda s: len( s.find_elements_by_css_selector("table.dataTable tr")) < counter) counter = len( driver.find_elements_by_css_selector("table.dataTable tr")) driver.back()
def test_l08(driver): driver.get("http://localhost/litecart/") driver.implicitly_wait(10) driver.find_element_by_css_selector("li.product") popular_products = driver.find_elements_by_css_selector("li.product") for popular_product in popular_products: stickers = popular_product.find_elements_by_css_selector(".sticker") assert (len(stickers) == 1)
def set_general(driver, name): driver.find_element_by_name("status").click() driver.find_element_by_name("name[en]").send_keys(name) driver.find_element_by_name("code").send_keys("1296") driver.find_element_by_css_selector("[value='1-1']").click() driver.find_element_by_name("quantity").clear() driver.find_element_by_name("quantity").send_keys("1") path = os.path.abspath(r"img/DSC_0007_43.jpg") driver.find_element_by_name("new_images[]").send_keys(path) date_from = datetime.date.today() driver.find_element_by_name("date_valid_from").send_keys(date_from.strftime('%Y-%m-%d')) date_to = datetime.date.today() + datetime.timedelta(days=15) driver.find_element_by_name("date_valid_to").send_keys(date_to.strftime('%Y-%m-%d')) driver.find_element_by_css_selector("[href='#tab-information']").click()
def is_correct_prices_style(driver, list, value): if value == "color": assert driver.find_element_by_css_selector( list[0][0]).value_of_css_property(value) == list[0][1] assert driver.find_element_by_css_selector( list[1][0]).value_of_css_property(value) == list[1][1] elif value == "font-size": font_regular = float( driver.find_element_by_css_selector( list[0][0]).value_of_css_property(value)[0:-2]) font_campaign = float( driver.find_element_by_css_selector( list[1][0]).value_of_css_property(value)[0:-2]) assert font_regular < font_campaign else: assert False
def test_l12(driver): driver.get("http://localhost/litecart/admin/") driver.find_element_by_name("username").send_keys("admin") driver.find_element_by_name("password").send_keys("admin") driver.find_element_by_name("login").click() wait = WebDriverWait(driver, 10) driver.find_element_by_css_selector("[href$='/admin/?app=catalog&doc=catalog']").click() driver.find_element_by_css_selector("[href$='/admin/?category_id=0&app=catalog&doc=edit_product']").click() name = random_string("", 10) set_general(driver, name) set_information(driver) set_prices(driver) check_product(driver, name)
def test_l11(driver): account_info = dict(firstname=random_string("", 10), lastname=random_string("", 10), address1=random_string("", 10), postcode="12345", city=random_string("", 10), email=random_string("", 10) + "@selenium.org", phone="+79991234567", password="******", confirmed_password="******") driver.get("http://localhost/litecart/") driver.implicitly_wait(10) driver.find_element_by_css_selector("tr:last-of-type").click() for key, item in account_info.items(): driver.find_element_by_name(key).send_keys(item) Select(driver.find_element_by_name("country_code")).select_by_value("US") Select(driver.find_element_by_css_selector( "select[name = zone_code]")).select_by_value("CA") driver.find_element_by_name("create_account").click() driver.find_element_by_css_selector( "#box-account li:last-of-type a").click() driver.find_element_by_name("email").send_keys(account_info["email"]) driver.find_element_by_name("password").send_keys(account_info["password"]) driver.find_element_by_name("login").click() driver.find_element_by_css_selector("[href$='/logout']").click()