コード例 #1
0
 def collect_all_links_text_of_chetan(self):
     log.info("collect all texts")
     elements = self.get_all_links_chetan()
     all_result_text = []
     log.info(all_result_text)
     for link in elements:
         all_result_text.append(self.perform_actions(link, "gettext"))
コード例 #2
0
 def test_verify_total_links_on_home_page(self):
     log.info("test verify total links on home page")
     dd = self.read_config_file("base.ini", "common")
     self.launch_application(dd["browser"], dd["url"])
     elements = self.identify_elements("tagname", "a")
     assert len(elements) == 45
     self.close_application()
コード例 #3
0
    def switch_to_another_object(self, object_type, value=None, other=None):
        log.info("switch to window")
        return_value = None
        if object_type == "window":
            parent_handle = driver.current_window_handle
            all_handles = driver.window_handles

            for handle in all_handles:
                if handle != parent_handle:
                    driver.switch_to.window(handle)
                    if driver.title == value:
                        break
                    else:
                        continue
        elif object_type == "frame":
            driver.switch_to.frame(value)
        elif object_type == "alert":
            alert = driver.switch_to.alert
            if other == "accept":
                alert.accept()
            elif other == "dismiss":
                alert.dismiss()
            elif other == "settext":
                alert.send_keys(value)
            elif other == "gettext":
                return_value = alert.text
        else:
            raise Exception
        return return_value
コード例 #4
0
    def test_verify_links_text_on_home_page(self):
        log.info("test verify links on home page")
        dd = self.read_config_file("base.ini", "common")
        self.launch_application(dd["browser"], dd["url"])
        elements = self.identify_elements("xpath", "//div/ul/li/a")
        assert len(elements) == 43
        expected_text_list = [
            "A/B Testing", 'Add/Remove Elements', 'Basic Auth',
            'Broken Images', 'Challenging DOM', 'Checkboxes', 'Context Menu',
            'Digest Authentication', 'Disappearing Elements', 'Drag and Drop',
            "Dropdown", 'Dynamic Content', 'Dynamic Controls',
            'Dynamic Loading', 'Entry Ad', 'Exit Intent', 'File Download',
            'File Upload', 'Floating Menu', 'Forgot Password',
            'Form Authentication', 'Frames', 'Geolocation',
            'Horizontal Slider', 'Hovers', 'Infinite Scroll', 'Inputs',
            'JQuery UI Menus', 'JavaScript Alerts',
            'JavaScript onload event error', 'Key Presses', 'Large & Deep DOM',
            'Multiple Windows', 'Nested Frames', 'Notification Messages',
            'Redirect Link', 'Secure File Download', 'Shifting Content',
            'Slow Resources', 'Sortable Data Tables', 'Status Codes', 'Typos',
            'WYSIWYG Editor'
        ]

        actual_text_list = []
        for element in elements:
            actual_text = element.text
            actual_text_list.append(actual_text)
        assert actual_text_list == expected_text_list
        self.close_application()
コード例 #5
0
 def test_008_orange_hrm_admin_login_without_user_name_and_without_password(self):
     log.info("TC_00_8_test_orange_hrm_admin_login_without_user_name_and_without_password")
     dd = self.read_config_file("base.ini", "section1")
     self.launch_browser(dd["browser"], dd["url"])
     actual_title=self.get_page_details("title")
     expected_title="OrangeHRM"
     assert actual_title==expected_title,"is not equal to expected"
     self.click_on_login_button()
     self.capture_screenshot("test_orange_hrm_admin_login_without_user_name_and_without_password")
     assert self.actual_error_msg=="Username cannot be empty"
     self.close_application()
コード例 #6
0
 def test_001_orange_hrm_admin_login_with_valid_user_and_password(self):
     log.info("TC_001_test_orange_hrm_admin_login_with_valid_user_and_password")
     dd=self.read_config_file("base.ini","section1")
     self.launch_browser(dd["browser"],dd["url"])
     actual_title=self.get_page_details("title")
     expected_title="OrangeHRM"
     assert actual_title==expected_title,"is not equal to expected"
     self.enter_user_name("Admin")
     self.enter_password("admin123")
     self.click_on_login_button()
     self.capture_screenshot("test_orange_hrm_admin_login_with_valid_user_and_password")
     self.close_application()
コード例 #7
0
 def test_verify_count_of_options(self,launch_app):
     log.info("verify count of options")
     log.info("click on Add/remove elements link")
     self.click_on_add_element_button()
     log.info("click on add element button")
     self.click_on_remove_button()
     log.info("click on remove element button")
コード例 #8
0
 def launch_application(browser_name, app_url):
     global driver
     log.info("in init method of selenium base")
     try:
         if browser_name == "chrome":
             option = ChromeOptions()
             option.add_argument("start-maximized")
             option.add_argument("--ignore-certificate-errors")
             option.add_argument("--disable-extensions")
             option.add_argument("--disable-infobars")
             option.add_argument("disable-notifications")
             driver = Chrome(executable_path="./drivers/chromedriver.exe",
                             options=option)
             log.info("chrome browser is launch successfully")
         elif browser_name == "firefox":
             profile = FirefoxProfile()
             profile.accept_untrusted_certs = True
             options = FirefoxOptions()
             options.add_argument("start-maximized")
             driver = Firefox(executable_path="./drivers/geckodriver.exe")
             log.info("firefox browser is launch successfully")
         elif browser_name == "ie":
             driver = Ie(executable_path="./drivers/IEDriverServer.exe")
         else:
             log.error("browser name is incorrect", browser_name)
     except WebDriverException:
         log.critical("exception", WebDriverException)
     driver.implicitly_wait(5)
     driver.get(app_url)
コード例 #9
0
 def test_verify_select_option_two_by_visible_text(self, launch_app):
     log.info("test verify select option two by visible text")
     log.info("click on home link dropdown")
     element = self.get_drop_down_element()
     element = self.perform_actions(element, "selectdropdown", "Option 2",
                                    "visibletext")
     log.info("select option two by visibletext")
コード例 #10
0
 def launch_browser(self, browser_name, url):
     global driver
     try:
         if browser_name == "chrome":
             chromeoptions = ChromeOptions()
             chromeoptions.add_argument("start-maximized")
             chromeoptions.add_argument("disable-notifications")
             chromeoptions.add_argument("--ignore-certificate-errors")
             chromeoptions.add_argument("--disable-infobars")
             chromeoptions.add_argument("--disable-extensions")
             driver = webdriver.Chrome(
                 executable_path="./drivers/chromedriver.exe",
                 options=chromeoptions)
             log.info("chrome browser launch successfully")
         elif browser_name == "firefox":
             firefoxoptions = FirefoxOptions()
             firefoxoptions.add_argument("start-maximize")
             driver = webdriver.Firefox(
                 executable_path="./drivers/geckodriver.exe",
                 options=firefoxoptions)
             log.info("firefox browser launch successfully")
         elif browser_name == "ie":
             ieoptions = IeOptions()
             ieoptions.add_argument("start-maximize")
             driver = webdriver.Ie(
                 executable_path="./drivers/IEDriverServer.exe",
                 options=ieoptions)
             log.info("ie browser launch successfully")
         else:
             log.error("invalid browser name")
     except WebDriverException as e:
         log.error("exception ", e)
     driver.implicitly_wait(10)
     driver.get(url)
コード例 #11
0
    def test_verify_form_authontication_valid_credentials(self):
        log.info("test verify form authontication valid credentials")
        dd = self.read_config_file("base.ini", "common")
        self.launch_application(dd["browser"], dd["url"])
        element = self.identify_element("linktext", "Form Authentication")
        element.click()
        log.info("click on", element)

        element = self.identify_element("id", "username")
        element.clear()
        element.send_keys("tomsmith")
        log.info("enter user name", element)

        element = self.identify_element("id", "password")
        element.clear()
        element.send_keys("SuperSecretPassword!")
        log.info("enter password", element)

        element = self.identify_element("css", ".fa-sign-in")
        element.click()
        log.info("click on", element)
        self.close_application()
コード例 #12
0
    def test_verify_count_of_options(self, launch_app):
        log.info("test verify count of options")

        log.info("click on home link dropdown")
        element = self.get_drop_down_element()
        option_list = self.perform_actions(element,
                                           "selectdropdown",
                                           other="options")
        log.info("verify options are matching with count of 3")
        assert len(option_list) == 3
コード例 #13
0
    def test_verify_check_boxes_credentials(self):
        log.info("test verify check boxes credentials")
        dd = self.read_config_file("base.ini", "common")
        self.launch_application(dd["browser"], dd["url"])
        element = self.identify_element("linktext", "Checkboxes")
        element.click()
        log.info("click on", element)

        element = self.identify_element("xpath", "//div/div/form/input[1]")
        status = element.is_selected()
        if status == False:
            element.click()
        log.info("select", element)
        self.close_application()
コード例 #14
0
 def test_verify_select_option_one_by_value(self, launch_app):
     log.info("test verify select option one by value")
     log.info("click on home link dropdown")
     element = self.get_drop_down_element()
     element = self.perform_actions(element, "selectdropdown", "1", "value")
     log.info("select option one by value")
コード例 #15
0
 def test_verify_count_of_options(self,launch_app):
     log.info("test verify count of options")
     log.info("click on Abtesting link")
コード例 #16
0
 def click_on_welcome_admin(self):
     element = self.get_welcome_admin_element()
     self.perform_action_on_elements(element, "click")
     self.capture_screenshot("click_on_welcome_admin")
     log.info("click_on_welcome_admin")
コード例 #17
0
 def setup(self):
     dd = self.read_config_file("base.ini", "section1")
     self.launch_browser(dd["browser"], dd["url"])
     log.info("application launch step 1 is done")
     yield
     self.close_application()
コード例 #18
0
 def test_case_8(self, setup):
     self.click_on_login_button()
     log.info("clicked on login button step 2 is done")
     assert self.actual_error_msg() == "Username cannot be empty"
     log.info("asserting actual error text with expected error text")
コード例 #19
0
ファイル: home_page.py プロジェクト: khandepc/pytestframework
 def click_home_link(self, linkname):
     log.info("click on homelink", linkname)
     elem = self.get_home_link(linkname)
     self.perform_actions(element=elem, action_type="click")
コード例 #20
0
 def click_on_login_button(self):
     element = self.get_login_button_element()
     self.perform_action_on_elements(element, "click")
     self.capture_screenshot("click_on_login_button")
     log.info("clicked on log in button")
コード例 #21
0
 def test_verify_select_option_two_by_index(self, launch_app):
     log.info("test verify select option two by index")
     log.info("click on home link dropdown")
     element = self.get_drop_down_element()
     element = self.perform_actions(element, "selectdropdown", 2, "index")
     log.info("select option two by index")
コード例 #22
0
 def assert_implement(self, expected_error_message):
     log.info("verifying actual error msg with expected error msg")
     assert self.actual_error_msg == expected_error_message
コード例 #23
0
 def close_application(self):
     driver.quit()
     log.info("application closed")
コード例 #24
0
 def close_application(self):
     #self.capture_screenshot(filename=None)
     log.info("application close")
     driver.quit()
コード例 #25
0
 def enter_user_name(self, user_name):
     element = self.get_user_name_input_box_element()
     self.perform_action_on_elements(element, "sendkeys", user_name)
     self.capture_screenshot("enter_user_name")
     log.info("enter_user_name")
コード例 #26
0
 def enter_password(self, password):
     element = self.get_password_input_box_element()
     self.perform_action_on_elements(element, "sendkeys", password)
     self.capture_screenshot("enter_password")
     log.info("password entered")
コード例 #27
0
 def click_on_google_search_button(self):
     log.info("click on google search")
     element = self.get_google_search_button()
     self.perform_actions(element, "click")
コード例 #28
0
 def enter_value_to_search_in_google_search(self, value):
     log.info("enter value to search as", value)
     element = self.get_google_search_input_box()
     self.perform_actions(element, "settext", value)
コード例 #29
0
 def test_verify_checkbox_one(self, launch_app):
     log.info("test veriry checkbox one")
     log.info("click on checkboxes link")
     self.click_on_checkbox_1()
     log.info("click on checkbox1")
コード例 #30
0
 def click_on_logout_link(self):
     element = self.get_logout_link_element()
     self.perform_action_on_elements(element, "click")
     self.capture_screenshot("click_on_logout_link")
     log.info("click_on_logout_link")