Ejemplo n.º 1
0
def test05_tags(tags_location):
    """
    * Test Tags in tags page and blog page. *

    - Get one of blogs posts .
    - Get tags page, get one of tags[TAG].
    - Check that posts have [TAG].
    """
    base.info("Open one of blogs posts")
    base.open_random_blog()
    assert "posts" in driver.current_url

    base.info("Get tags page, get one of tags[TAG].")
    if tags_location == "blogs_tags":
        base.find_element(driver, "blog_tags_page").click()

    base.info("Check that posts have [TAG].")
    tmp = base.find_element(tags_location)
    tags = tmp.find_element_by_tag_name("li")
    if tags:
        tag = random.choice(tags)
        tag_name = tag.text
        tag.click()
        assert tag_name in driver.current_url
        posts_with_tags = base.find_element(driver, "posts_with_tags")
        post = random.choice(posts_with_tags.find_elements_by_class_name("post"))
        post_name = post.text
        post.click()
        assert post_name in driver.current_url
        assert tag_name in driver.page_source
Ejemplo n.º 2
0
def test_001_search_box():
    """
    * test search box *
    - Get alerts page.
    - Use search box with not exist value, should return that value doesn't exist.
    - Use Search box with exist value, should return right value.
    """
    base.wait_until_element_located(driver, "alerts_table") is True
    rows_count = len(base.get_table_rows(driver, "alerts_table"))

    base.info(
        " Use search box with not exist value, should return that value doesn't exist."
    )
    alerta_search_box = base.find_element(driver, "alerta_search_box")
    random_value = base.rand_string()
    alerta_search_box.send_keys(random_value)
    elem = base.find_element(driver, "no_alerts")
    assert "There is no alerts matching your criteria" == elem.text
    base.info(" Use Search box with exist value, should return right value")
    alerta_search_box.clear()
    alerta_search_box.send_keys(" ")
    base.wait_until_element_located(driver, "alerts_table") is True

    ramdom_row_number = random.randint(1, rows_count)
    table_row = base.get_table_row(driver, "alerts_table",
                                   ramdom_row_number - 1)
    alerta_search_box.clear()
    alerta_search_box.send_keys(table_row[7].split()[2])
    alerta_table_after_search = base.get_table_rows(driver, "alerts_table")
    for i in range(len(alerta_table_after_search)):
        assert table_row[7].split()[2] in base.get_table_row(
            driver, "alerts_table", i)[7]
Ejemplo n.º 3
0
def test04_blog_posts_navigation():
    """
    * Test navigation bar elements [about, contact, tags]. *

    - Get one of blogs posts .
    - Test [About, Contact, Tags] in navigation bar elements [about]. 
    """
    base.info("Get one of blogs posts")
    base.open_random_blog()
    assertIn("posts", driver.current_url)

    base.info("Test about in navigation bar elements")
    about_elem = base.find_element(driver, "blog_about_page")
    about_elem.click()
    assert "about" in driver.current_url

    base.info("Test contact in navigation bar elements")
    contact_elem = base.find_element(driver, "blog_contact_page")
    contact_elem.click()
    assert "contactus" in driver.current_url

    base.info("Test tags in navigation bar elements")
    tags_elem = base.find_element(driver, "blog_tags_page")
    tags_elem.click()
    assert "tags" in driver.current_url
Ejemplo n.º 4
0
def test07_filters_in_workers_page(filter_type, state):
    """
    * test filters [Success, Failure, New, waiting, Halted ] in workers page.*
    - Get workers page.
    - Get filtered workers number from summary table.
    - Click  filter , Check that it return right filtered workers only .

    """
    base.find_element(driver, "workers_bage").click()
    assert "workers" in driver.current_url

    base.info("Get filtered workers number from summary table.")
    head_elements = base.get_table_head_data(driver, "summary_table")
    column = [i for i, element in enumerate(head_elements) if element == filter_type][0]
    summary_table = base.find_element(driver, "summary_table")
    table_body = summary_table.find_element_by_tag_name("tbody")
    filtered_workers = int(table_body.find_elements_by_tag_name("td")[column].text)

    base.info("Click  filter , Check that it return right filtered workers only .")
    filter_element = base.find_element(driver, "{}_filter".format(filter_type))
    filter_element.click()

    if filtered_workers == 0:
        assert "There is no Workers matching your criteria" == base.find_element(driver, "no_workers").text
    else:
        table_rows = base.get_table_rows(driver, "workers_table")
        for i in range(len(table_rows)):
            assert state == base.get_table_row(driver, "workers_table", i)[1]
        assert len(table_rows) == filtered_workers
Ejemplo n.º 5
0
def test_003_filters_in_jobs_page(filter_type, state):
    """
    * test filters [Success, Failure, New, Running, Halted ] in jobs page.*
    - Get jobs page.
    - Get filter jobs number from summary table.
    - Click  filter , Check that it return right filtered jobs only .

    """
    base.wait_until_element_located(driver, "Jobs_bage") is True
    base.find_element(driver, "Jobs_bage").click()
    assert "tasks" in driver.current_url

    base.wait_until_element_located(driver, "summary_table") is True

    base.info("Get succfilter ess jobs number from summary table.")
    head_elements = base.get_table_head_data(driver, "summary_table")
    job_head = "{} Tasks".format(filter_type)

    column = [i for i, element in enumerate(head_elements) if element == job_head][0]
    summary_table = base.find_element(driver, "summary_table")
    table_body = summary_table.find_element_by_tag_name("tbody")
    filtered_jobs = int(table_body.find_elements_by_tag_name("td")[column].text)

    base.info("Click  filter , Check that it return right filtered jobs only .")
    filter_element = base.find_element(driver, "{}_filter".format(filter_type))
    filter_element.click()

    if filtered_jobs == 0:
        assert "There is no Jobs matching your criteria" == base.find_element(driver, "no_jobs").text
    else:
        table_rows = base.get_table_rows(driver, "jobs_table")
        for i in range(len(table_rows)):
            assert state == base.get_table_row(driver, "jobs_table", i)[3]
        assert len(table_rows) == filtered_jobs
Ejemplo n.º 6
0
def test_004_job_details():
    """
    - Get jobs page.
    - Pick up one of jobs[J] .
    - Check details of the job [J] .
    """
    base.wait_until_element_located(driver, "Jobs_bage") is True
    base.find_element(driver, "Jobs_bage").click()
    assert "tasks" in driver.current_url

    base.info("Pick up one of jobs[J].")
    base.wait_until_element_located(driver, "jobs_table") is True
    table_rows = base.get_table_rows(driver, "jobs_table")
    job_index = random.randint(1, len(table_rows))
    job_data = base.get_table_row(driver, "jobs_table", job_index)
    base.info("check details of the job [J]")
    details_button = table_rows[job_index - 1].find_element_by_tag_name("button")
    details_button.click()
    time.sleep(10)
    items_list = driver.find_element_by_class_name("list-group")
    items = items_list.find_elements_by_tag_name("li")

    item_data = [item.get_attribute("textContent") for item in items]

    state = [item[item.find(":") + 2 :] for item in item_data if "State" in item][0]
    assert job_data[3] == state
Ejemplo n.º 7
0
def test_002_delete_alerts():
    """
    * test delete alerts. *
    - Get alerts page.
    - Use delete button, check that all alerts has been deleted.
    """
    base.info("Use delete button, check that all alerts has been deleted.")
    delete_button = base.find_element(driver, "delete_alerts")
    delete_button.click()
    base.find_element(driver, "confirm_delete_alert").click()
    assert "All the alerts have been deleted." == base.find_element(
        driver, "no_alerts").text
Ejemplo n.º 8
0
def test05_check_summary_table_head_elements_in_workers_page():
    """
    * Check  summary table head elements *
    - Get all head values and check it is as expected .
    """
    base.find_element(driver, "workers_bage").click()
    assert "workers" in driver.current_url

    base.info("Get all head values and check it is as expected ")
    expected_head_elements = ["Total", "New", "Success", "Failure", "Waiting", "Halted"]
    head_elements = base.get_table_head_data(driver, "summary_table")
    assert set(expected_head_elements) == set(head_elements)
Ejemplo n.º 9
0
def test03_search_page_close():
    """
    * test close icon in search page  *

    - Get blog page .
    - Open search page.
    - Use close icon on search page, Check it redirect to home page again successfully.

    """
    base.info(" Open search page.")
    base.find_element("blogs_home_search").click()

    base.info("Use close icon on search page, Check it redirect to home page again successfully.")
    close_icon = base.find_element(driver, "blogs_search_close")
    close_icon.click()
    assert base.wait_until_element_located(driver, "blogs_list") is True
Ejemplo n.º 10
0
def before():
    global driver
    global rows, blogs
    driver = base.set_browser()
    base.get_page(driver, page_url)
    blogs = base.find_element("blogs_list")
    rows = blogs.find_elements_by_class_name("row")
    assert "Blogs " in driver.title
Ejemplo n.º 11
0
def test06_ALL_filter_in_workers_page():
    """
    * test ALL filter *
    - Get workers page.
    - Click All filter , Check that it return all workers.
    - Check that it has same value as all workers value in summary table.
    """

    base.find_element(driver, "workers_bage").click()
    assert "workers" in driver.current_url
    rows_count = len(base.get_table_rows(driver, "workers_table"))

    base.info("Click All filter , Check that it return all jobs.")
    All_element = base.find_element(driver, "ALL_filter")
    All_element.click()
    rows_count_after_all = len(base.get_table_rows(driver, "workers_table"))
    assert rows_count_after_all == rows_count
Ejemplo n.º 12
0
def test_002_ALL_filter_in_jobs_page():
    """
    * test ALL filter *
    - Get jobs page.
    - Click All filter , Check that it return all jobs.
    - Check that it has same value as all jobs value in summary table.
    """
    base.wait_until_element_located(driver, "Jobs_bage") is True
    base.find_element(driver, "Jobs_bage").click()
    assert "tasks" in driver.current_url

    base.wait_until_element_located(driver, "jobs_table") is True
    base.info("Click All filter , Check that it return all jobs.")
    rows_count = len(base.get_table_rows(driver, "jobs_table"))
    All_element = base.find_element(driver, "ALL_filter")
    All_element.click()
    rows_count_after_all = len(base.get_table_rows(driver, "jobs_table"))
    assert rows_count_after_all == rows_count
Ejemplo n.º 13
0
def test02_blog_search_box():
    """
    * test search in home bage in blogs package. *
    - Get blog bage .
    - Use Search box in home bage.
    - Check search box works successfully.
    - Try to get one of results, should works successfully.
    """
    base.info("Use Search box in home bage.")
    base.find_element(driver, "blogs_home_search").click()
    search_box = base.find_element(driver, "blogs_search_box")
    search_box.send_keys("test")
    search_icon = base.find_element(driver, "blogs_icon_search")
    search_icon.click()

    base.info("Check search box works successfully. ")
    search_results = base.find_element(driver, "blogs_search_result")
    results = search_results.find_elements_by_tag_name("li")
    results_text = base.find_element(driver, "blogs_result_text")
    assert str(len(results)) in results_text

    base.info("Try to get one of results, should works successfully.")
    if results:
        random_post = random.choice(results)
        tmp = random_post.text
        post_name = tmp[tmp.find(":") + 2 :]
        random_post.find_element_by_tag_name("a").click()
        assert post_name in driver.current_url
Ejemplo n.º 14
0
def test01_check_summary_table_head_elements():
    """                       
    * Check  summary table head elements *
    - Get all head values and check it is as expected .
    """
    base.wait_until_element_located(driver, "Jobs_bage") is True
    base.find_element(driver, "Jobs_bage").click()
    assert "tasks" in driver.current_url

    base.wait_until_element_located(driver, "summary_table") is True

    base.info("Get all head values and check it is as expected ")
    expected_head_elements = [
        "Total Tasks",
        "Success Tasks",
        "Failure Tasks",
        "New Tasks",
        "Running Tasks",
        "Halted Tasks",
    ]
    head_elements = base.get_table_head_data(driver, "summary_table")
    assert set(expected_head_elements) == set(head_elements)
Ejemplo n.º 15
0
def test_06_categories_pages(icon):
    """
    * Test categories pages [ facebook, instagram, github,twitter]. *
    
    - Get one of blogs posts .
    - Click on one of icons check it redirect to right page.
    """

    base.info("oprn one of blogs posts")
    open_random_blog()
    assert "posts" in driver.current_url

    categories_pages = base.find_element(driver, "categories_pages")
    base.info("Click on {} icon check it redirect to right page.".format(icon))
    if icon == "facebook":
        categories_pages.find_element_by_link_text(icon).click()
    else:
        categories_pages.find_element_by_class_name("fa-{}".format(icon)).click()
    assert icon in driver.current_url
Ejemplo n.º 16
0
 def messageText(self):
     return base.find_element(*self.message_text_loc).text