Example #1
0
 def setUp(self):
     CRMAbstractTest.__init__(self)
     
     # Navigate to Login page
     self.loginPage.navigateToWeb(self.cfCrmUrl, self.cfDriver)
     
     logInfo("Login with a requestor account")
     self.loginPage.loginCRM(self.cfRequestorUserName, self.cfRequestorPassword)
     
     logInfo("Click Purchase Request thumbmail on Home page")
     self.homePage.clickThumbnail(self.cfThumbnailPurchaseRequest)
      
     logInfo("Click 'Add New' button on Manage Purchase page")
     self.managePurchasePage.clickAddNewButton()
     
     logInfo(" Enter all required fields with valid data")
     self.addNewPurchaseRequestPage.enterPurchaseRequestInfo(requestType = self.cfRequestTypeEquipment, department = self.cfDepartmentBOM, expectedDate = self.cfExpectedDate, 
                                                             justification = self.cfJustification, billableToClient = self.cfBillableToClientNo, description = self.cfDescription, 
                                                             paymentMethod = self.cfPaymentMethodCash, moneyType = self.cfMoneyTypeUSD, salesTax = self.cfSalesTaxNoSalesTax,
                                                             resolution = self.cfResolutionNew, forwardTo = self.cfForwardTo)
     
     
     
     logInfo("Click Save button")
     self.addNewPurchaseRequestPage.clickSaveButton()
 def tearDown(self):
     logInfo("Delete the created purchase request")
     self.managePurchasePage.deleteAPurchaseRequestByID(purchaseRequestID = PurchaseFilterINT.glPurchaseRequestID)
     
     logInfo("Log out of the system")
     self.header.logOut()
     
     self.loginPage.closeBrowser()
     self.assertEqual(int(os.environ['ANKI_WARNINGS']), int(os.environ['ANKI_ERRORS']))
    def tearDown(self):
        logInfo("Delete the created purchase request")
        self.managePurchasePage.deleteAPurchaseRequestByID(
            purchaseRequestID=self.managePurchasePage.getPurchaseRequestID())

        logInfo("Log out of the system")
        self.header.logOut()

        self.loginPage.closeBrowser()
        self.assertEqual(int(os.environ['ANKI_WARNINGS']),
                         int(os.environ['ANKI_ERRORS']))
Example #4
0
 def loginCRM(self, username , password):
     try:
         self.enterUsername(username)
         self.enterPassword(password)
         self.clickLoginButton()
         logInfo("Login successfully")
         
     except Exception, e:
         print str(e)
         logWarning("Login unsuccessfully, please check username and password" )
         # Close Browser and set test case is failed
         self.closeBrowser()
         self.fail()
Example #5
0
 def deleteAPurchaseRequestByID(self,purchaseRequestID):
     self.switchRoleByRoleName(self.cfLoginAsRequestor)
     purchaseRequestExist = self.doesPurchaseRequestIDExist(purchaseRequestID)
     if purchaseRequestExist == True:
         self.selectAPurchaseRequestByID(purchaseRequestID)
         self.clickDeleteButton()
         
         #Click OK button on CRM pop up
         self.clickOKButton()
         #wait for purchase request deleted
         wait(2)
     else:
         logInfo("The purchase does not exist in the system")
Example #6
0
    def loginCRM(self, username, password):
        try:
            self.enterUsername(username)
            self.enterPassword(password)
            self.clickLoginButton()
            logInfo("Login successfully")

        except Exception, e:
            print str(e)
            logWarning(
                "Login unsuccessfully, please check username and password")
            # Close Browser and set test case is failed
            self.closeBrowser()
            self.fail()
 def tearDown(self):
     logInfo("Go to Manage request page")
     self.editPurchaseRequestPage.navigateToWeb(self.cfManagePurchaseRequestUrl, self.cfDriver)
     
     logInfo("Delete the created purchase request")
     self.managePurchasePage.deleteAPurchaseRequestByID(purchaseRequestID = PurchaseEditINT.glPurchaseRequestID)
     
     logInfo("Log out of the system")
     self.header.logOut()
     
     self.loginPage.closeBrowser()
     self.assertEqual(int(os.environ['ANKI_WARNINGS']), int(os.environ['ANKI_ERRORS']))
    def TC_05(self):
        logInfo("TC05 - User can delete a purchase request")   
        
        #Pre-condition: Login with a valid account and have at least one new purchase request created 
        purchaseRequestID = self.managePurchasePage.getPurchaseRequestID()

        logInfo("Step 1 - Delete a purchase request")
        self.managePurchasePage.deleteAPurchaseRequestByID(purchaseRequestID = purchaseRequestID)
        
        logInfo("VP - the purchase request is deleted")
        self.managePurchasePage.checkAPurchaseRequestIsDeleted(purchaseRequestID)
        PurchaseDeleteINT.glPurchaseRequestID = purchaseRequestID
    def TC_06(self):
        logInfo("TC06 - User can filter only one purchase request with exactly matching ID")   
        
        #Pre-condition: Login with a valid account and have at least one new purchase request created
        purchaseRequestID = self.managePurchasePage.getPurchaseRequestID()

        logInfo("Step 1 - Filter the created purchase request")
        self.managePurchasePage.filterPurchaseRequestByID(purchaseRequestID = purchaseRequestID)
        
        logInfo("VP - User can filter only one purchase request with exactly matching ID")
        self.managePurchasePage.checkOnlyOnePurchaseRequestMarchingID(purchaseRequestID = purchaseRequestID)
        
        PurchaseFilterINT.glPurchaseRequestID = purchaseRequestID
Example #10
0
    def TC_05(self):
        logInfo("TC05 - User can delete a purchase request")

        #Pre-condition: Login with a valid account and have at least one new purchase request created
        purchaseRequestID = self.managePurchasePage.getPurchaseRequestID()

        logInfo("Step 1 - Delete a purchase request")
        self.managePurchasePage.deleteAPurchaseRequestByID(
            purchaseRequestID=purchaseRequestID)

        logInfo("VP - the purchase request is deleted")
        self.managePurchasePage.checkAPurchaseRequestIsDeleted(
            purchaseRequestID)
        PurchaseDeleteINT.glPurchaseRequestID = purchaseRequestID
    def tearDown(self):
        logInfo("Go to Manage request page")
        self.editPurchaseRequestPage.navigateToWeb(
            self.cfManagePurchaseRequestUrl, self.cfDriver)

        logInfo("Delete the created purchase request")
        self.managePurchasePage.deleteAPurchaseRequestByID(
            purchaseRequestID=PurchaseEditINT.glPurchaseRequestID)

        logInfo("Log out of the system")
        self.header.logOut()

        self.loginPage.closeBrowser()
        self.assertEqual(int(os.environ['ANKI_WARNINGS']),
                         int(os.environ['ANKI_ERRORS']))
Example #12
0
    def TC_06(self):
        logInfo(
            "TC06 - User can filter only one purchase request with exactly matching ID"
        )

        #Pre-condition: Login with a valid account and have at least one new purchase request created
        purchaseRequestID = self.managePurchasePage.getPurchaseRequestID()

        logInfo("Step 1 - Filter the created purchase request")
        self.managePurchasePage.filterPurchaseRequestByID(
            purchaseRequestID=purchaseRequestID)

        logInfo(
            "VP - User can filter only one purchase request with exactly matching ID"
        )
        self.managePurchasePage.checkOnlyOnePurchaseRequestMarchingID(
            purchaseRequestID=purchaseRequestID)

        PurchaseFilterINT.glPurchaseRequestID = purchaseRequestID
Example #13
0
 def logOut(self):
     self.click(self.lnkLogout)
     if self.doesElementExisted(LoginPage().pagUnique) == True:
         logInfo("Log out of system successfully")
     else:
         logWarning("Log out unsuccessfully")
Example #14
0
    def TC_02(self):
        logInfo(
            "TC02 - User is able to add new Purchase Request when saving with required fields are filled"
        )

        #Pre-condition: Login with a valid account and have at least one new purchase request created
        self.loginPage.loginCRM(self.cfRequestorUserName,
                                self.cfRequestorPassword)

        logInfo("Step 1 - Click Purchase Request thumbmail on Home page")
        self.homePage.clickThumbnail(self.cfThumbnailPurchaseRequest)

        logInfo("Step 2 - Click 'Add New' button on Manage Purchase page")
        self.managePurchasePage.clickAddNewButton()

        logInfo("Step 3 - Enter all required fields with valid data")
        self.addNewPurchaseRequestPage.enterPurchaseRequestInfo(
            requestType=self.cfRequestTypeEquipment,
            department=self.cfDepartmentBOM,
            expectedDate=self.cfExpectedDate,
            justification=self.cfJustification,
            billableToClient=self.cfBillableToClientNo,
            description=self.cfDescription,
            paymentMethod=self.cfPaymentMethodCash,
            moneyType=self.cfMoneyTypeUSD,
            salesTax=self.cfSalesTaxNoSalesTax,
            resolution=self.cfResolutionNew,
            forwardTo=self.cfForwardTo)

        logInfo("Step 4 - Click Save button")
        self.addNewPurchaseRequestPage.clickSaveButton()

        logInfo("VP - User is able to add new Purchase Request")
        self.addNewPurchaseRequestPage.checkAddANewPurchaseSuccessfully()
    def TC_01(self):
        logInfo(
            "TC01 - User is able to access Manage Request from Request header menu or Purchase Request thumbnail on Home page"
        )
        # Pre-condition : Login with a valid account
        logInfo("Login with a valid account")
        self.loginPage.loginCRM(self.cfRequestorUserName, self.cfRequestorPassword)

        logInfo("Step 1 - Click Purchase Request thumbmail on Home page")
        self.homePage.clickThumbnail(self.cfThumbnailPurchaseRequest)

        logInfo("VP - User is able to access Manage Request")
        self.managePurchasePage.checkTheCorrespondingManagePurchasePageIsDisplayed()

        logInfo("Step 2 - Navigate to Request> Purchase Request> Manage Request")
        self.header.navigateMenu("Requests>Purchase Request>Manage Request")

        logInfo("VP - User is able to access Manage Request")
        self.managePurchasePage.checkTheCorrespondingManagePurchasePageIsDisplayed()
    def TC_03(self):
        logInfo(
            "TC03 - User is able to open Edit Purchase Request page from Manage request page or form Detail Purchase page"
        )

        #Pre-condition: Login with a valid account and have at least one new purchase request created
        purchaseRequestID = self.managePurchasePage.getPurchaseRequestID()

        logInfo(
            "Step 1 - Click on  Edit Purchase Request button from Manage request page"
        )
        self.managePurchasePage.clickEditPurchaseRequestButton(
            purchaseRequestID=purchaseRequestID)

        logInfo(
            "VP - User is able to open Edit Purchase Request page from Manage request page"
        )
        self.editPurchaseRequestPage.checkTheCorrespondingEditPurchasePageIsDisplayed(
        )

        logInfo("Step 2 - Hit Cancel button to go back to Manage Request page")
        self.editPurchaseRequestPage.clickCancelButton()

        logInfo(
            "Step 3 - Click on Purchase Request ID from Manage request page")
        self.managePurchasePage.clickPurchaseRequestByID(
            purchaseRequestID=purchaseRequestID)

        logInfo("Step 4 - Click Edit button on Purchase Request Details")
        self.purchaseRequestDetails.clickEditButton()

        logInfo(
            "VP - User is able to open Edit Purchase Request page from Manage request page"
        )
        self.editPurchaseRequestPage.checkTheCorrespondingEditPurchasePageIsDisplayed(
        )

        PurchaseEditINT.glPurchaseRequestID = purchaseRequestID
Example #17
0
    def TC_01(self):
        logInfo(
            "TC01 - User is able to access Manage Request from Request header menu or Purchase Request thumbnail on Home page"
        )
        #Pre-condition : Login with a valid account
        logInfo("Login with a valid account")
        self.loginPage.loginCRM(self.cfRequestorUserName,
                                self.cfRequestorPassword)

        logInfo("Step 1 - Click Purchase Request thumbmail on Home page")
        self.homePage.clickThumbnail(self.cfThumbnailPurchaseRequest)

        logInfo("VP - User is able to access Manage Request")
        self.managePurchasePage.checkTheCorrespondingManagePurchasePageIsDisplayed(
        )

        logInfo(
            "Step 2 - Navigate to Request> Purchase Request> Manage Request")
        self.header.navigateMenu("Requests>Purchase Request>Manage Request")

        logInfo("VP - User is able to access Manage Request")
        self.managePurchasePage.checkTheCorrespondingManagePurchasePageIsDisplayed(
        )
Example #18
0
 def logOut(self):
     self.click(self.lnkLogout)
     if self.doesElementExisted(LoginPage().pagUnique) == True:
         logInfo("Log out of system successfully")
     else:
         logWarning("Log out unsuccessfully")
Example #19
0
    def TC_04(self):
        logInfo("TC04 - Delete button is only available with Requestor role")
        #Pre-condition: Login with a requestor account
        purchaseRequestID = self.managePurchasePage.getPurchaseRequestID()

        logInfo("Step 1 - Search for a purchase request")
        self.managePurchasePage.filterPurchaseRequestByID(
            purchaseRequestID=purchaseRequestID)

        logInfo("VP - Delete button display")
        self.managePurchasePage.checkDeleteButtonDisplayed()

        logInfo("Step 2 - Switch to Department Head role")
        self.managePurchasePage.switchRoleByRoleName(
            roleName=self.cfLoginAsDepartmentHead)

        logInfo("VP - Delete button DOES NOT display")
        self.managePurchasePage.checkDeleteButtonDoesNotDisplay()

        logInfo("Step 3 - Switch to Purchasing role")
        self.managePurchasePage.switchRoleByRoleName(
            roleName=self.cfLoginAsPurchasing)

        logInfo("VP - Delete button DOES NOT display")
        self.managePurchasePage.checkDeleteButtonDoesNotDisplay()

        logInfo("Step 4 - Switch to Director of Global Operations role")
        self.managePurchasePage.switchRoleByRoleName(
            roleName=self.cfLoginAsDirectorOfGlobalOperations)

        logInfo("VP - Delete button DOES NOT display")
        self.managePurchasePage.checkDeleteButtonDoesNotDisplay()

        logInfo("Step 5 - Switch to VP of Sales")
        self.managePurchasePage.switchRoleByRoleName(
            roleName=self.cfLoginAsVPOfSales)

        logInfo("VP - Delete button DOES NOT display")
        self.managePurchasePage.checkDeleteButtonDoesNotDisplay()

        logInfo("Step 6 - Switch to President/CEO")
        self.managePurchasePage.switchRoleByRoleName(
            roleName=self.cfLoginAsPresidentCEO)

        logInfo("VP - Delete button DOES NOT display")
        self.managePurchasePage.checkDeleteButtonDoesNotDisplay()

        logInfo("Step 7 - Switch to US Accounting")
        self.managePurchasePage.switchRoleByRoleName(
            roleName=self.cfLoginAsUSAccounting)

        logInfo("VP - Delete button DOES NOT display")
        self.managePurchasePage.checkDeleteButtonDoesNotDisplay()

        PurchaseDeleteINT.glPurchaseRequestID = purchaseRequestID
 def TC_03(self):
     logInfo("TC03 - User is able to open Edit Purchase Request page from Manage request page or form Detail Purchase page")   
     
     #Pre-condition: Login with a valid account and have at least one new purchase request created
     purchaseRequestID = self.managePurchasePage.getPurchaseRequestID()
     
     logInfo("Step 1 - Click on  Edit Purchase Request button from Manage request page")
     self.managePurchasePage.clickEditPurchaseRequestButton(purchaseRequestID = purchaseRequestID)
     
     logInfo("VP - User is able to open Edit Purchase Request page from Manage request page")
     self.editPurchaseRequestPage.checkTheCorrespondingEditPurchasePageIsDisplayed()
     
     logInfo("Step 2 - Hit Cancel button to go back to Manage Request page")
     self.editPurchaseRequestPage.clickCancelButton()
     
     logInfo("Step 3 - Click on Purchase Request ID from Manage request page")
     self.managePurchasePage.clickPurchaseRequestByID(purchaseRequestID = purchaseRequestID)
     
     logInfo("Step 4 - Click Edit button on Purchase Request Details")
     self.purchaseRequestDetails.clickEditButton()
     
     logInfo("VP - User is able to open Edit Purchase Request page from Manage request page")
     self.editPurchaseRequestPage.checkTheCorrespondingEditPurchasePageIsDisplayed()
     
     PurchaseEditINT.glPurchaseRequestID = purchaseRequestID
    def TC_04(self):
        logInfo("TC04 - Delete button is only available with Requestor role")   
        #Pre-condition: Login with a requestor account
        purchaseRequestID = self.managePurchasePage.getPurchaseRequestID()
        
        logInfo("Step 1 - Search for a purchase request")
        self.managePurchasePage.filterPurchaseRequestByID(purchaseRequestID = purchaseRequestID)
        
        logInfo("VP - Delete button display")
        self.managePurchasePage.checkDeleteButtonDisplayed()
        
        logInfo("Step 2 - Switch to Department Head role")
        self.managePurchasePage.switchRoleByRoleName(roleName = self.cfLoginAsDepartmentHead)
        
        logInfo("VP - Delete button DOES NOT display")
        self.managePurchasePage.checkDeleteButtonDoesNotDisplay()
        
        logInfo("Step 3 - Switch to Purchasing role")
        self.managePurchasePage.switchRoleByRoleName(roleName = self.cfLoginAsPurchasing)
        
        logInfo("VP - Delete button DOES NOT display")
        self.managePurchasePage.checkDeleteButtonDoesNotDisplay()

        logInfo("Step 4 - Switch to Director of Global Operations role")
        self.managePurchasePage.switchRoleByRoleName(roleName = self.cfLoginAsDirectorOfGlobalOperations)
        
        logInfo("VP - Delete button DOES NOT display")
        self.managePurchasePage.checkDeleteButtonDoesNotDisplay()

        logInfo("Step 5 - Switch to VP of Sales")
        self.managePurchasePage.switchRoleByRoleName(roleName = self.cfLoginAsVPOfSales)
        
        logInfo("VP - Delete button DOES NOT display")
        self.managePurchasePage.checkDeleteButtonDoesNotDisplay()
        
        logInfo("Step 6 - Switch to President/CEO")
        self.managePurchasePage.switchRoleByRoleName(roleName = self.cfLoginAsPresidentCEO)
        
        logInfo("VP - Delete button DOES NOT display")
        self.managePurchasePage.checkDeleteButtonDoesNotDisplay()
        
        logInfo("Step 7 - Switch to US Accounting")
        self.managePurchasePage.switchRoleByRoleName(roleName = self.cfLoginAsUSAccounting)
        
        logInfo("VP - Delete button DOES NOT display")
        self.managePurchasePage.checkDeleteButtonDoesNotDisplay()
        
        PurchaseDeleteINT.glPurchaseRequestID = purchaseRequestID