예제 #1
0
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)
예제 #2
0
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()
예제 #3
0
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()
예제 #4
0
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()
예제 #5
0
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()
예제 #6
0
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()
예제 #7
0
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()
예제 #8
0
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)
예제 #9
0
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()
예제 #10
0
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
예제 #11
0
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)
예제 #12
0
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()