Example #1
0
def test_add_prod_to_cart(driver):
    driver.get("http://localhost/litecart/public_html/en/")
    driver.implicitly_wait(60)
    for i in range(1, 4):
        #  выберем товар рандомно и добавим его в таблицу
        duck_crowd = driver.find_elements_by_xpath(
            ".//ul[@class='listing-wrapper products']//li")
        print("Total count of ducks:" + str(len(duck_crowd)))
        random_index = random.randint(0, len(duck_crowd) - 1)
        print("Index of random item:" + str(random_index))
        go = duck_crowd[random_index].find_element_by_xpath(
            "./a[@class='link']").click()
        driver.find_element_by_name('add_cart_product').click()
        sleep(10)
        wait = WebDriverWait(driver, 10)
        # driver.find_element_by_xpath("//*[@id='box-product']//form//td[@class='options']/strong").is_selected()
        # driver.find_element_by_xpath("//*[@id='box-product']//select/option[2]").click()
        # driver.find_element_by_name('add_cart_product').click()
        WebDriverWait(driver, 10).until(
            EC.text_to_be_present_in_element(
                (By.XPATH, ".//*[ @ id = 'cart']//a//span[@class='quantity']"),
                str(i)))
        # ждем что поменяется свойство текста у элемента потом щелкаем по главной странице
        driver.get("http://localhost/litecart/public_html/en/")
    # открыть корзину
    driver.get("http://localhost/litecart/public_html/en/checkout")
    sleep(10)
    order = driver.find_elements_by_xpath(
        ".//*[@id='order_confirmation-wrapper']/table/tbody/tr/td[@class='unit-cost']"
    )
    print("Total_order_distinct_prod:" + str(len(order)))
    for i in range(len(order)):
        driver.find_element_by_name('remove_cart_item').click()
        wait = WebDriverWait(driver, 10)
        wait.until(EC.staleness_of(order[i]))
Example #2
0
def test_new_subscriber_registration(driver):
    # рандомный mail
    mail = generate_mail()
    driver.get("http://localhost/litecart/public_html/en/")
    driver.implicitly_wait(60)
    driver.find_element_by_link_text("New customers click here").click()

    find_and_fill_element(driver, 'tax_id', "1")
    find_and_fill_element(driver, 'company', "2")
    find_and_fill_element(driver, 'firstname', "3")
    find_and_fill_element(driver, 'lastname', "4")
    find_and_fill_element(driver, 'address1', "5")
    find_and_fill_element(driver, 'address2', "6")
    find_and_fill_element(driver, 'postcode', "123456")
    find_and_fill_element(driver, 'city', "8")
    find_and_fill_element(driver, 'email', mail[0])
    find_and_fill_element(driver, 'phone', "92112345678")
    find_and_fill_element(driver, 'password', "1234")
    find_and_fill_element(driver, 'confirmed_password', "1234")

    ###
    driver.find_element_by_name("create_account").click()

    ###
    driver.find_element_by_link_text("Logout").click()

    find_and_fill_element(driver, 'password', "1234")
    find_and_fill_element(driver, 'email', mail[0])
    driver.find_element_by_name("login").click()
    driver.find_element_by_link_text("Logout").click()
Example #3
0
def cp10_cid():
    if len(filtered_cid) > 0:
        time.sleep(2)   # WAIT 2 SECONDS!
        # SHOW THE REPORTING5 PANEL
        driver.switch_to_window(driver.window_handles[1])

        userid_box = driver.find_element_by_name(
            'txtUserID')       # Reporting5
        # Reporting5
        userid_box.clear()
        userid_box.send_keys(filtered_cid[-1])

        show_report = driver.find_element_by_name(
            'btnShowReport')  # Reporting5
        show_report.click()

        time.sleep(2)
        get_data_from_r5()

    else:
        refresh_button = driver.find_element_by_xpath(
            "/html/body/div/div/div[2]/div/div/div/div/div/ui-view/div/div/div[2]/div/section/div[3]/button[1]")
        refresh_button.click()
        time.sleep(10)   # WAIT 10 SECONDS!
        get10_cid()
Example #4
0
def test_error_in_browsers_log(driver):
    test_login(driver)
    driver.get(
        "http://localhost/litecart/public_html/admin/?app=catalog&doc=catalog&category_id=1"
    )
    # links = driver.find_elements_by_xpath(".//table[@class='dataTable']//td[./img and ./a]/a")
    links = driver.find_elements(
        By.CSS_SELECTOR, "table.dataTable [href*='product_id']:not([title]")
    links_count = len(links)
    log = []
    for i in xrange(links_count):
        links = driver.find_elements(
            By.CSS_SELECTOR,
            "table.dataTable [href*='product_id']:not([title]")
        links[i].click()
        print(links[i])
        driver.implicitly_wait(60)
        driver.find_element_by_name("cancel").click()
        for l in driver.get_log("browser"):
            log = log.append(l)
            print(log)
            assert (log == 0)
Example #5
0
def test_new_product_add(driver):
    test_login(driver)
    name_of_new_prod = get_random_name(letters, 10)

    driver.find_element_by_link_text("Catalog").click()
    driver.find_element_by_link_text("Add New Product").click()

    driver.find_element_by_css_selector("label").click()
    if not driver.find_element_by_name("status").is_selected():
        driver.find_element_by_name("status").click()

    find_and_fill_element(driver,
                          element_name='name[en]',
                          value=name_of_new_prod)
    find_and_fill_element(driver, element_name='code', value='7')
    find_and_fill_element(driver, element_name='quantity', value='11')
    # driver.find_element_by_name('new_images[]').send_keys('/home/taipan/selenium/selenium_test/img/duck_image.png')
    driver.find_element_by_name('new_images[]').send_keys(img_path)
    driver.find_element_by_name('date_valid_from').click()
    driver.find_element_by_name('date_valid_from').send_keys('2017-12-12')
    driver.find_element_by_name('date_valid_to').click()
    driver.find_element_by_name('date_valid_to').send_keys('2019-12-12')

    driver.find_element_by_link_text("Information").click()
    if not driver.find_element_by_xpath(
            "//div[@id='tab-information']//select[normalize-space(.)='-- Select -- ACME Corp.']//option[2]"
    ).is_selected():
        driver.find_element_by_xpath(
            "//div[@id='tab-information']//select[normalize-space(.)='-- Select -- ACME Corp.']//option[2]"
        ).click()

    find_and_fill_element(driver, element_name='keywords', value='my_duck')
    find_and_fill_element(driver,
                          element_name='short_description[en]',
                          value='my_duck')

    driver.find_element_by_link_text("Prices").click()
    driver.find_element_by_name("purchase_price").send_keys("22")
    if not driver.find_element_by_xpath(
            "//div[@id='tab-prices']/table[1]/tbody/tr/td/select//option[2]"
    ).is_selected():
        driver.find_element_by_xpath(
            "//div[@id='tab-prices']/table[1]/tbody/tr/td/select//option[2]"
        ).click()

    find_and_fill_element(driver, element_name='prices[USD]', value='23')

    driver.find_element_by_name("save").click()
    driver.find_element_by_id("content").click()

    # проверим что товар появился на странице просто сравнив его имя
    driver.find_element_by_link_text("Catalog").click()
    test = "//a[text()='" + str(name_of_new_prod) + "']"
    assert_element = driver.find_elements_by_xpath(test)
    print(len(assert_element))
    assert len(assert_element) == 1
Example #6
0
def find_and_fill_element(driver, element_name, value):
    driver.find_element_by_name(element_name).click()
    driver.find_element_by_name(element_name).clear()
    driver.find_element_by_name(element_name).send_keys(value)