コード例 #1
0
 def classSetup(self, getWebdriver):
     log = cl.customLogger(logging.DEBUG)
     self.loginPage = LoginPage(self.driver)
     self.basePage = BasePage(self.driver)
     self.mainMenu = MainMenuPage(self.driver)
     self.util = Util()
     self.testStatus = TestStatus(self.driver)
コード例 #2
0
 def __init__(self, driver):
     """
     Inits BaseView class
     """
     super().__init__(driver)
     self.driver = driver
     self.util = Util()
コード例 #3
0
 def __init__(self, driver):
     super().__init__(driver)
     self.driver = driver
     self.util = Util()
     self.wds = WebDriverSetup(driver)
     self.main_window = ""
     self.popup_window = ""
コード例 #4
0
 def classSetup(self, getWebdriver):
     log = cl.customLogger(logging.DEBUG)
     self.loginPage = LoginPage(self.driver)
     self.mainPage = MainMenuPage(self.driver)
     self.registerPage = RegistrationPage(self.driver)
     self.util = Util()
     self.testStatus = TestStatus(self.driver)
コード例 #5
0
 def __init__(self, driver):
     super().__init__(driver)
     self.deal = DealList(self.driver)
     self.dealdetail = DealDetailScreenPages(self.driver)
     self.release = ReleasePage(self.driver)
     self.ut = Util()
     self.driver = driver
コード例 #6
0
 def __init__(self, driver):
     '''
     inits BasePage class
     returns None
     '''
     super(BasePage, self).__init__(driver)
     self.driver = driver
     self.util = Util()
コード例 #7
0
 def __init__(self, driver):
     """
     Inits BasePage Class
     :param driver:
     """
     super(BasePage, self).__init__(driver)
     self.driver = driver
     self.util = Util()
コード例 #8
0
 def __init__(self, driver):
     """
     Initialises the BasePage class
     :param driver: The webdriver instance being used
     """
     super(BasePage, self).__init__(driver)
     self.driver = driver
     self.util = Util()
コード例 #9
0
 def Home(self):
     time.sleep(15)
     self.ut = Util()
     name = self.ut.getUniqueName(10)
     self.log.info(name)
     self.fullpage_screenshot(name + 'home.png')
     time.sleep(5)
     self.webScroll(direction='up')
     self.webScroll(direction='up')
コード例 #10
0
ファイル: basehome.py プロジェクト: cromox1/Appium
 def __init__(self, driver):
     """
     Inits BasePage class
     Returns:
         None
     """
     super(BaseHome, self).__init__(driver)
     self.driver = driver
     self.util = Util()
コード例 #11
0
 def __init__(self, driver):
     """
     Base page inherites from the selenium driver which takes care of all the operations related to selenium driver
     So further we can just inherit this Base page into all our prages so we can have both the functionality
     :param driver:
     """
     super().__init__(driver)
     self.driver = driver
     self.util = Util()  # Creation of util object inorder to use utility functions anywhere in classes which is extending this class ex:any pages class
コード例 #12
0
 def SearchDeal(self):
     time.sleep(2)
     self.ut = Util()
     time.sleep(2)
     deal_name = self.ut.getUniqueName(4)
     self.EnterDeal(deal_name)
     time.sleep(3)
     self.elementClick(self.select_deal)
     time.sleep(10)
コード例 #13
0
    def __int__(self, driver):
        # """
        # :Inits BasePage class
        # :return
        #     None
        # """

        super(BasePage, self).__init__(driver)
        self.driver = driver
        self.util = Util()
コード例 #14
0
 def __init__(self, driver):
     super().__init__(driver)
     self.deal = DealList(self.driver)
     self.dealdetail = DealDetailScreenPages(self.driver)
     self.unrelease = UnReleasePages(self.driver)
     self.release = ReleasePage(self.driver)
     self.broker = BrokerPages(self.driver)
     self.landlord = LandlordPages(self.driver)
     self.ut = Util()
     self.driver = driver
コード例 #15
0
    def __init__(self, driver):
        """
        Inits BasePage class

        Returns:
            None
        """
        SeleniumDriver.__init__(self, driver)
        self.driver = driver
        self.util = Util()
コード例 #16
0
    def __init__(self, driver):
        """
        Inits BasePage class

        Returns:
            None
        """
        super(BasePage, self).__init__(driver)
        self.driver = driver
        # instance of util class
        self.util = Util()
コード例 #17
0
    def __init__(self, driver):
        """
        Inits BasePage class

        Returns:
            None
        """
        super(BasePage,
              self).__init__(driver)  # sends driver instance to BasePage class
        self.driver = driver
        self.util = Util()
コード例 #18
0
    def __init__(self, driver):
        """
        Inits BasePage class

        returns:
            None
        :param driver:
        """
        super(BasePage, self).__init__(driver)
        self.driver = driver
        self.util = Util()
コード例 #19
0
 def __init__(self, driver):
     self.driver = driver
     self.timeout = 5
     self.wait = WebDriverWait(self.driver, self.timeout)
     self.locDict = {
         'id': By.ID,
         'link text': By.LINK_TEXT,
         'partial link text': By.PARTIAL_LINK_TEXT,
         'css': By.CSS_SELECTOR
     }
     self.util = Util()
コード例 #20
0
 def __init__(self, driver):
     """
     Inits BasePage class
     Returns:
         None
     """
     super(BasePage, self).__init__(driver)
     self.driver = driver
     self.util = Util()
     self.stat = Status(driver)
     self.nav = Navigation(driver)
コード例 #21
0
    def __init__(self, driver):
        """
		Init BasePage class

		Returns:
			None
		"""
        super(BasePage, self).__init__(driver)
        self.driver = driver
        self.util = Util()
        self.ts = Status(self.driver)
コード例 #22
0
class MainPage(BasePage):

    log = cl.customLogger(logging.DEBUG)
    util = Util()

    def __init__(self, driver):
        super().__init__(driver)
        self.driver = driver

    #locators
    _compose_main = "//div[@class='aic']/div/div"  #xpath
    _send_to = ":89"  #ID
    _subject_email = "subjectbox"  #name
    _body_email = ':8w'
    _send_email_button = ":7j"

    def clickComposeMainButton(self):
        self.elementClick(self._compose_main, locatorType="xpath")  #Link text

    def clickSendToEmail(self):
        self.elementClick(self._send_to)

    def enterSendToEmail(self, sendtoemail):
        self.sendKeys(sendtoemail, self._send_to)

    def enterSubjectToEmail(self, subject):
        self.sendKeys(subject, self._subject_email, locatorType="name")

    def enterEmailBody(self, emaildata):
        self.sendKeys(emaildata, self._body_email)

    def clickSendEmailButton(self):
        self.elementClick(self._send_email_button)

    def SendAnEmail(
        self,
        sendtoemail,
        subject,
        emaildata,
    ):
        self.clickComposeMainButton()
        time.sleep(2)
        self.clickSendToEmail()
        time.sleep(1)
        self.enterSendToEmail(sendtoemail)
        time.sleep(1)
        self.enterSubjectToEmail(subject)
        time.sleep(1)
        self.enterEmailBody(emaildata)
        time.sleep(1)
        self.clickSendEmailButton()
        self.util.sleep(2, "wait")
コード例 #23
0
    def __init__(self):
        """
        Inits CheckPoint class

        Required Parameters:
            None

        Optional Parameters:
            None

        Returns:
            None
        """
        super(CheckPoint, self).__init__()
        self.statusMap = {}
        self.util = Util()
        self.log = cl.customLogger()
コード例 #24
0
    def __init__(self, driver):
        """
        Inits BasePage class

        Required Parameters:
            driver: WebDriver Object

        Optional Parameters:
            None

        Returns:
            None
        """
        super(BasePage, self).__init__(driver)
        self._validate_page(driver)
        self.driver = driver
        self.util = Util()
        self.bkend = BEConnection()
コード例 #25
0
class LoginPage(BasePage):

    log = cl.customLogger(logging.DEBUG)
    util = Util()

    def __init__(self, driver):
        super().__init__(driver)
        self.driver = driver

    # Locators
    _sign_in_button_home = ".gmail-nav__nav-link.gmail-nav__nav-link__sign-in"  #CSS
    _email_input_sign_in = "Email"  #ID
    _email_input_sign_in_1 = "identifierId"  # ID
    _next_after_email_input = "next"  # ID
    _next_after_email_input_1 = "identifierNext"  # ID
    _password_input_sign_in = "Passwd"  #ID
    _password_input_sign_in_1 = "//div[@id='password']//div/input"  # Xpath
    _final_sing_in = "signIn"  #ID
    _next_after_password_input = "passwordNext"
    _compose_main = "//div[@class='aic']/div/div"  #xpath
    _send_to = ":89"  #ID

    def ClickSignInHome(self):
        self.elementClick(self._sign_in_button_home, locatorType="css")

    def isEmailElementIsPresent(self):
        result = self.isElementPresent(self._email_input_sign_in)
        return result

    def InputEmailSignIn(self, Email):
        self.sendKeys(
            Email, self._email_input_sign_in
        )  #do not have to specify locatorType since ID is default

    def InputEmailSignIn1(self, Email):
        self.sendKeys(Email, self._email_input_sign_in_1)

    def clickNextAfterEmail(self):
        self.elementClick(self._next_after_email_input)

    def clickNextAfterEmail1(self):
        self.elementClick(self._next_after_email_input_1)

    def InputPasswordSignIn(self, password):
        self.sendKeys(password, self._password_input_sign_in)

    def SelectElementPasswordInput(self):
        self.elementClick(self._password_input_sign_in_1, locatorType="xpath")

    def InputPasswordSignIn1(self, password):
        self.sendKeys(password,
                      self._password_input_sign_in_1,
                      locatorType="xpath")

    def clickFinalSignIn(self):
        self.elementClick(self._final_sing_in)

    def clickNextAfterPassword(self):
        self.elementClick(self._next_after_password_input)

    def login_flow(self, email, password):
        self.ClickSignInHome()
        time.sleep(1)
        result1 = self.isEmailElementIsPresent()
        if result1 == True:
            self.InputEmailSignIn(email)
            self.clickNextAfterEmail()
            time.sleep(1)
            self.InputPasswordSignIn(password)
            time.sleep(1)
            self.clickFinalSignIn()
            self.util.sleep(2, "wait before next test run")
        else:
            self.InputEmailSignIn1(email)
            self.clickNextAfterEmail1()
            time.sleep(1)
            self.SelectElementPasswordInput()
            time.sleep(1)
            self.InputPasswordSignIn1(password)
            self.clickNextAfterPassword()
            self.util.sleep(2, 'wait before next test run')
コード例 #26
0
class RegistrationPage(BasePage):
    log = cl.customLogger(logging.DEBUG)
    util = Util()

    def __init__(self, driver):
        super().__init__(driver)
        self.driver = driver

    ### Locators ###
    # Inputs
    _emailField = "//input[@name='email']"
    _registrationTypeDropDown = "//select[@name='roles']"
    _password1Field = "//input[@name='password']"
    _password2Field = "//input[@name='retyped_password']"

    _companyNameField = "//input[@name='company.name']"
    _taxNumField = "//input[@name='company.tax_number']"
    _postCodeField = "//input[@name='company.zip_code']"
    _cityField = "//input[@name='company.city']"
    _streetField = "//input[@name='company.street']"

    _fullNameField = "//input[@name='name']"
    _phoneNumberField = "//input[@name='phone_number']"
    _contact_email = "//input[@name='contact_email']"

    # Buttons
    _registrationBtn = "//button[@type='submit']"
    _loginPageBtn = "//a[@href='/login']"
    _aszfBtn = "//button[@class='toggle-btn__input-label']"

    # Alerts
    _registrationSuccessfulAlert = "//p[contains(text(), 'Sikeres regisztráció!')]"

    ### Actions ###
    def fillRegistrationForm(self, email, regType, fullName, phone, ps1, ps2,
                             companyName, taxNum, postCode, city, street,
                             contactEmail):
        self.sendKeys(email, self._emailField)
        self.selectFromDropdownByIndex(regType,
                                       self._registrationTypeDropDown,
                                       locatorType="xpath")
        self.sendKeys(ps1, self._password1Field)
        self.sendKeys(ps2, self._password2Field)
        self.sendKeys(companyName, self._companyNameField)
        self.sendKeys(taxNum, self._taxNumField)
        self.sendKeys(postCode, self._postCodeField)
        self.sendKeys(city, self._cityField)
        self.sendKeys(street, self._streetField)
        self.sendKeys(fullName, self._fullNameField)
        self.sendKeys(phone, self._phoneNumberField)
        self.sendKeys(contactEmail, self._contact_email)

    def fillInputField(self, elementLocator, dataToSend):
        self.sendKeys(data=dataToSend,
                      locator=elementLocator,
                      locatorType="xpath")

    def clickRegistrationBtn(self):
        self.elementClick(self._registrationBtn)

    def clickAszfBtn(self):
        self.elementClick(self._aszfBtn)

    def clickLoginPageBtn(self):
        self.elementClick(self._loginPageBtn)

    def isRegisterBtnEnabled(self):
        isRegisterBtnEnabled = self.isElementEnabled(self._registrationBtn)
        return isRegisterBtnEnabled

    def registrationSuccessfulCheck(self):
        isRegistrationSuccessfulAlertAppear = self.isElementPresent(
            self._registrationSuccessfulAlert)
        return isRegistrationSuccessfulAlertAppear

    def isRegisterBtnPresent(self):
        isRegisterBtnPresent = self.isElementPresent(self._registrationBtn)
        return isRegisterBtnPresent

    def isAlertVisible(self, alertOwnerElementLocator, alertMsg):
        """
        :param alertOwnerElementLocator: Locator with the result message belong
        :param alertMsg: Alert message to check
        :return: True if alert is visible ; False if alert is not visible
        """
        self.log.debug("alertOwnerElementLocator from file is :: " +
                       str(alertOwnerElementLocator))
        self.log.debug("Alert msg from file is :: " + alertMsg)
        if self.isElementNotDisplayed(
                alertOwnerElementLocator +
                "//parent::div//span[contains(text(), '" + alertMsg +
                "')]") == True:
            return False
        else:
            isAlertVisible = self.isElementPresent(
                alertOwnerElementLocator +
                "//parent::div//span[contains(text(), '" + alertMsg + "')]")
            self.log.info("Element path is: //input[@name='" +
                          alertOwnerElementLocator +
                          "']//parent::div//span[contains(text(), '" +
                          alertMsg + "')]")
            self.log.debug("isAlertPresent :: " + str(isAlertVisible))
        return isAlertVisible

    def isAlertNotVisible(self, alertOwnerElementLocator, alertMsg):
        if self.isElementNotDisplayed(alertOwnerElementLocator) is True:
            self.log.info("Element is NOT displayed")
        else:
            self.log.info("Element is displayed")
コード例 #27
0
 def __init__(self, driver):
     super(BasePage, self).__init__(driver)
     self.driver = driver
     self.util = Util()
コード例 #28
0
ファイル: selenium_driver.py プロジェクト: iuser1683/demo
 def __init__(self, driver):
     self.driver = driver
     self.util = Util()
コード例 #29
0
 def __init__(self, driver):
     super().__init__(driver)
     self.driver = driver
     self.util = Util()
コード例 #30
0
    def run_All_testCase(self, testCaseJson, baseURL):

        wdf = WebDriverFactory(self.driver)
        if baseURL == '':
            self.log.error("Base URL not Inserted")
        self.driver = wdf.getWebDriverInstance(baseURL=baseURL)
        self.stat = Status(self.driver)
        self.util = Util()

        for test in testCaseJson:
            self.element = test['FindElement']
            self.Action = test['ActionCommand']
            self.elementType = test['FindElementType']
            self.Data = test['ActionParameters']
            self.waitAfterCmd = int(float(test['WaitAfterCommand']))
            self.timeOut = int(float(test['Wait-Timeout']))

            if self.Action == "login":
                email = self.Data.strip().split(",")[0]
                password = self.Data.strip().split(",")[1]
                email_locator = self.element.strip().split(",")[0]
                password_locator = self.element.strip().split(",")[1]
                self.sendKeys(email, email_locator, self.elementType)
                time.sleep(self.waitAfterCmd)
                self.sendKeys(password, password_locator, self.elementType)
                self.waitForElement(self.element, self.elementType,
                                    self.timeOut)

            elif self.Action == "isElementPresent":
                result = self.isElementPresent(self.element, self.elementType)
                self.stat.markFinal("Test" + self.element, result, "")
                self.reports.update({test['ActionNo']: result})

            elif self.Action == "elementClick":
                self.elementClick(self.element, self.elementType)
                time.sleep(self.waitAfterCmd)

            elif self.Action == "verifyTextContains":
                exceptedText = self.getText(self.element, self.elementType)
                result = self.util.verifyTextContains(self.Data, exceptedText)
                self.stat.markFinal("Test" + self.element, result,
                                    "Text Contains")
                self.reports.update({test['ActionNo']: result})

            elif self.Action == "sendKeys":
                self.sendKeys(self.Data, self.element, self.elementType)
                time.sleep(self.waitAfterCmd)

            elif self.Action == "waitForElement":
                self.waitForElement(self.element, self.elementType,
                                    self.timeOut)

            elif self.Action == "isElementPresent":
                result = self.isElementPresent(self.element, self.elementType)
                self.stat.markFinal("Test" + self.element, result, "")
                self.reports.update({test['ActionNo']: result})

            elif self.Action == "clearField":
                self.clearField(self.element, self.elementType)
                time.sleep(self.waitAfterCmd)

            elif self.Action == "getTitle":
                result = self.getTitle()
                print(result)

            elif self.Action == "isElementDisplayed":
                self.isElementDisplayed(self.element, self.elementType)
                time.sleep(self.waitAfterCmd)

            elif self.Action == "scrollIntoView":
                self.scrollIntoView(self.element, self.elementType)
                time.sleep(self.waitAfterCmd)

            elif self.Action == "mouseHover":
                self.mouseHover(self.element, self.elementType)
                self.waitForElement(self.element, self.elementType,
                                    self.timeOut)

            elif self.Action == "mouseClick":
                self.mouseClick(self.element, self.elementType)
                time.sleep(self.waitAfterCmd)

            elif self.Action == "webScroll":
                self.webScroll(self.Data)
                time.sleep(self.waitAfterCmd)

        self.driver.quit()