コード例 #1
0
class Test_006_AddDiscount:
    baseurl = ReadConfig.getApplicationURL()
    username = ReadConfig.getUsername()
    password = ReadConfig.getpasswordL()
    logger = logGen.loggen()

    @pytest.mark.regression
    def test_AddDiscount(self, setup):
        self.logger.info("******** Test_006_AddDiscount *********")
        self.logger.info(
            "****************** Verifying Adding New Discount **********************"
        )
        self.driver = setup
        self.driver.get(self.baseurl)
        self.driver.maximize_window()
        self.obj_log = Login(self.driver)
        self.obj_log.setUsername(self.username)
        self.obj_log.setpassword(self.password)
        self.obj_log.loginbutton()

        self.logger.info("************* Login succesful **********")
        self.logger.info("******* Starting Adding New Discount **********")

        self.obj_New_Discount = AddDiscountPage(self.driver)
        self.obj_New_Discount.clickonPromotion()
        self.obj_New_Discount.clickonDiscounts()
        self.obj_New_Discount.clickonAddnewButton()
        self.obj_New_Discount.enterName('TestOnceEcommerce')
        self.obj_New_Discount.selectDiscounttype('Assigned to products')
        self.obj_New_Discount.enterDiscountAmt('10')
        self.obj_New_Discount.enterStartDate('7/05/2019')
        self.obj_New_Discount.enterEndDate('7/05/2022')
        self.obj_New_Discount.selectDiscountLimit('Unlimited')
        self.obj_New_Discount.enterMaximumDiscountQuatity('5')
        self.obj_New_Discount.enterAdminComment('Adding comment')
        self.obj_New_Discount.clickSaveButton()

        self.succesMsg = self.driver.find_element_by_xpath(
            "//div[@class='alert alert-success alert-dismissable']").text

        expedtedSring = 'The new discount has been added successfully.'

        if self.succesMsg.find(expedtedSring) != -1:
            self.logger.info(
                '******* Added New Discount coupan sucessfully **********')
            self.logger.info('******* Test Case Passed  **************')
            self.driver.save_screenshot(".\\Screenshots\\" +
                                        "test_AddDiscount_scr.png")
            assert True

        else:
            self.logger.info('******* Test Case Failed  **************')
            self.driver.save_screenshot(".\\Screenshots\\" +
                                        "test_AddDiscount_scr.png")
            assert False

        self.obj_log.clickLogout()
        self.driver.close()
コード例 #2
0
class Test_002_DDT_Login:
    baseurl = ReadConfig.getApplicationURL()
    path = ".\\TestData\\LoginTestData.xlsx"
    logger = logGen.loggen()

    @pytest.mark.regression
    def test_Login(self, setup):
        self.logger.info("****************** Test_002_DDT_Login **********************")
        self.logger.info("****************** Verifying Login Test **********************")
        self.driver = setup
        self.driver.get(self.baseurl)
        self.driver.maximize_window
        self.obj_log = Login(self.driver)

        self.rows = XLUtils.getRowCount(self.path, 'Sheet1')
        print(self.rows)
        lst_status=[]

        for r in range(2,self.rows+1):
            self.user=XLUtils.readData(self.path,'Sheet1',r,1)
            self.password = XLUtils.readData(self.path, 'Sheet1', r, 2)
            self.expected = XLUtils.readData(self.path, 'Sheet1', r, 3)
            self.obj_log.setUsername(self.user)
            self.obj_log.setpassword(self.password)
            self.obj_log.loginbutton()
            time.sleep(5)
            act_title = self.driver.title
            exp_title="Dashboard / nopCommerce administration"

            if act_title==exp_title:
                if self.expected=='Pass':
                    self.logger.info("*** Passed ***")
                    self.obj_log.clickLogout()
                    lst_status.append("Pass")
                    XLUtils.writeData(self.path, 'Sheet1', r, 4, 'Pass')
                elif self.expected=='Fail':
                    self.logger.info("*** Failed ***")
                    self.obj_log.clickLogout()
                    lst_status.append("Fail")
            elif act_title!=exp_title:
                if self.expected=='Pass':
                    self.logger.info("*** Failed ***")
                    lst_status.append("Fail")
                    XLUtils.writeData(self.path, 'Sheet1', r, 4, 'Fail')
                elif self.expected=='Fail':
                    self.logger.info('*** Passed ***')
                    lst_status.append("Pass")
                    XLUtils.writeData(self.path, 'Sheet1', r, 4, 'Pass')
        if "Fail" not in lst_status:
            self.logger.info('*** Data Driven Test is Passed ***')
            self.driver.close
            assert True
        else:
            self.logger.info('*** Data Driven Test is Failed ***')
            self.driver.close
            assert False
コード例 #3
0
class Test_003_AddCustomer:
    baseurl = ReadConfig.getApplicationURL()
    username = ReadConfig.getUsername()
    password = ReadConfig.getpasswordL()
    logger = logGen.loggen()


    @pytest.mark.sanity
    def test_AddCustomer(self, setup):
        self.logger.info("******** Test_003_AddCustomer *********")
        self.logger.info("****************** Verifying Adding New Customer **********************")
        self.driver = setup
        self.driver.get(self.baseurl)
        self.driver.maximize_window
        self.obj_log = Login(self.driver)
        self.obj_log.setUsername(self.username)
        self.obj_log.setpassword(self.password)
        self.obj_log.loginbutton()
        self.logger.info("************* Login succesful **********")
        self.logger.info("******* Starting Add Customer Test **********")

        self.addcust = AddCustomer(self.driver)
        self.addcust.clickOnCustomersMenu()
        self.addcust.clickOnCustomersMenuItem()
        self.addcust.clickOnAddnew()
        self.logger.info("******* Adding New Customer *******")

        self.email = random_generator() + '@gmail.com'
        self.addcust.setEmail(self.email)
        self.addcust.setPassword("test123")
        self.addcust.setCustomerRoles("Guests")
        self.addcust.setManagerOfVendor("Vendor 2")
        self.addcust.setGender("Male")
        self.addcust.setFirstName("Sai")
        self.addcust.setLastName("Kiran")
        self.addcust.setDob("7/05/1985")  # Format: D / MM / YYY
        self.addcust.setCompanyName("busyQA")
        self.addcust.setAdminContent("This is for testing.........")
        self.addcust.clickOnSave()

        self.logger.info("************* Saving customer info **********")
        self.logger.info("********* Add customer validation started *****************")

        self.msg = self.driver.find_element_by_tag_name("body").text

        if 'customer has been added successfully.' in self.msg:
            self.logger.info("********* Add customer Test Passed *********")
            assert True
        else:
            self.driver.save_screenshot(".\\Screenshots\\" + "test_addCustomer_scr.png")  # Screenshot
            self.logger.error("********* Add customer Test Failed ************")
            assert False
        self.obj_log.clickLogout()
コード例 #4
0
 def testlogindatadriventest(self, web):
     self.logger.info("starting Login test")
     self.Openbrowser = web
     self.logger.info("starting browser")
     Loginobject = Login(self.Openbrowser)
     self.logger.info("starting browser")
     self.Openbrowser.get(self.Weburl)
     self.row = xlutils.getrowcount(self.datapath, 'Sheet1')
     self.column = xlutils.getcolumnount(self.datapath, 'Sheet1')
     for row in range(2, self.row + 1):
         self.username = xlutils.readfromxl(self.datapath, 'Sheet1', row, 1)
         self.password = xlutils.readfromxl(self.datapath, 'Sheet1', row, 2)
         self.expectedresult = xlutils.readfromxl(self.datapath, 'Sheet1',
                                                  row, 3)
         print(self.username, self.password, self.expectedresult)
         Loginobject.setusername(self.username)
         Loginobject.setpassword(self.password)
         Loginobject.clicklogin()
         time.sleep(5)
         Title = self.Openbrowser.title
         Act_tile = "Dashboard / nopCommerce administration"
         self.logger.info("checking title after login")
         if Title == Act_tile:
             if self.expectedresult == "pass":
                 self.logger.info("This test passed")
                 self.status_list.append("pass")
                 Loginobject.clicklogout()
             elif self.expectedresult == "fail":
                 self.logger.info("This test passed")
                 self.status_list.append("fail")
                 Loginobject.clicklogout()
         elif Title != Act_tile:
             if self.expectedresult == "fail":
                 self.logger.info("This test passed")
                 self.status_list.append("pass")
                 print(self.status_list)
             elif self.expectedresult == "pass":
                 self.logger.info("This test passed")
                 self.status_list.append("fail")
     print(self.status_list)
     if "fail" not in self.status_list:
         print("Overall test case passed")
         self.logger.info("Overall test passed")
         self.Openbrowser.close()
         assert True
     else:
         print("overall test failed")
         self.logger.info("Overall test failed")
         self.Openbrowser.close()
         assert False
コード例 #5
0
class Test_004_SearchCustomerByEmail:
    baseurl = ReadConfig.getApplicationURL()
    username = ReadConfig.getUsername()
    password = ReadConfig.getpasswordL()
    logger = logGen.loggen()

    @pytest.mark.regression
    def test_searchCustomerByEmail(self, setup):
        self.logger.info(
            "****************** Test_004_SearchCustomerByEmail **********************"
        )
        self.logger.info(
            "****************** Verifying Home Page Tittle **********************"
        )
        self.driver = setup
        self.driver.get(self.baseurl)
        self.driver.maximize_window

        self.obj_log = Login(self.driver)
        self.obj_log.setUsername(self.username)
        self.obj_log.setpassword(self.password)
        self.obj_log.loginbutton()
        self.logger.info("************* Login succesful **********")
        self.logger.info(
            "******* Starting Search Customer By Email **********")
        self.addcust = AddCustomer(self.driver)
        self.addcust.clickOnCustomersMenu()
        self.addcust.clickOnCustomersMenuItem()
        self.logger.info(
            "************* searching customer by emailID **********")

        searchcust = SearchCustomer(self.driver)
        searchcust.setEmail("*****@*****.**")
        searchcust.clickSearch()
        time.sleep(4)
        status = searchcust.searchCustomerByEmail(
            "*****@*****.**")
        self.driver.close()

        if status == True:
            self.logger.info(
                "***************  Test_004_SearchCustomerByEmail Passed  *********** "
            )
        else:
            self.logger.info(
                "***************  Test_004_SearchCustomerByEmail Failed  *********** "
            )
コード例 #6
0
class Test_001_Login:
    baseurl = ReadConfig.getApplicationURL()
    username = ReadConfig.getUsername()
    password = ReadConfig.getpasswordL()
    logger = logGen.loggen()

    @pytest.mark.sanity
    def test_homePageTittle(self, setup):
        self.logger.info("****************** Test_001_Login **********************")
        self.logger.info("****************** Verifying Home Page Tittle **********************")
        self.driver = setup
        self.driver.get(self.baseurl)
        self.driver.maximize_window
        act_tittle = self.driver.title

        if act_tittle == "Your store. Login":
            self.driver.close()
            self.logger.info("****************** Home Page Tittle Test is Passed **********************")
            assert True
        else:
            self.driver.save_screenshot(".\\Screenshots\\" + "test_homePageTittle.png")
            self.driver.close()
            self.logger.error("****************** Home Page Tittle Test is Failed **********************")
            assert False

    @pytest.mark.regression
    def test_Login(self, setup):
        self.logger.info("****************** Verifying Login Test **********************")
        self.driver = setup
        self.driver.get(self.baseurl)
        self.driver.maximize_window
        self.obj_log = Login(self.driver)
        self.obj_log.setUsername(self.username)
        self.obj_log.setpassword(self.password)
        self.obj_log.loginbutton()
        logTitle = self.driver.title

        if logTitle == "Dashboard / nopCommerce administration":
            self.logger.info("****************** Login Test is Passed **********************")
            self.driver.close()
            assert True
        else:
            self.driver.save_screenshot(".\\Screenshots" + "test_Login.png")
            self.driver.close()
            self.logger.error("****************** Login Test is Failed **********************")
            assert False
コード例 #7
0
class Test_005_SearchCustomerByName:
    baseurl = ReadConfig.getApplicationURL()
    username = ReadConfig.getUsername()
    password = ReadConfig.getpasswordL()
    logger = logGen.loggen()

    @pytest.mark.regression
    def test_searchCustomerByName(self, setup):
        self.logger.info(
            "****************** Test_005_SearchCustomerByName **********************"
        )
        self.logger.info(
            "****************** Verifying Home Page Tittle **********************"
        )
        self.driver = setup
        self.driver.get(self.baseurl)
        self.driver.maximize_window

        self.obj_log = Login(self.driver)
        self.obj_log.setUsername(self.username)
        self.obj_log.setpassword(self.password)
        self.obj_log.loginbutton()
        self.logger.info("************* Login succesful **********")
        self.logger.info(
            "******* Starting Search Customer By Email **********")
        self.addcust = AddCustomer(self.driver)
        self.addcust.clickOnCustomersMenu()
        self.addcust.clickOnCustomersMenuItem()
        self.logger.info(
            "************* searching customer by emailID **********")

        searchcust = SearchCustomer(self.driver)
        searchcust.setFirstName("Victoria")
        searchcust.setLastName("Terces")
        searchcust.clickSearch()
        time.sleep(4)
        status = searchcust.searchCustomerByName("Victoria Terces")
        self.driver.quit
        assert True == status
        self.logger.info(
            "***************  Test_005_SearchCustomerByName Finished  *********** "
        )
コード例 #8
0
    def testlogin(self, web):
        self.logger.info("starting Login test")
        self.Openbrowser = web
        self.logger.info("starting browser")
        Loginobject = Login(self.Openbrowser)
        self.logger.info("starting browser")
        self.Openbrowser.get(self.Weburl)
        Loginobject.setusername(self.username)
        Loginobject.setpassword(self.password)
        Loginobject.clicklogin()
        time.sleep(5)
        Title = self.Openbrowser.title
        self.logger.info("checking title after login")

        if Title == "Dashboard / nopCommerce administration":
            self.Openbrowser.close()
            assert True == True
        else:
            self.Openbrowser.save_screenshot(
                ".//Screenshots/Nop_testlogin.png")
            self.logger.info("Saving screenshot")
            self.Openbrowser.close()
            assert False
コード例 #9
0
 def testaddcustomer(self, web):
     self.Openbrowser = web
     Loginobject = Login(self.Openbrowser)
     self.Openbrowser.get(self.Weburl)
     self.logger.info("starting browser")
     self.Openbrowser.maximize_window()
     Loginobject.setusername(self.username)
     Loginobject.setpassword(self.password)
     Loginobject.clicklogin()
     self.logger.info("Login completed")
     self.row = xlutils.getrowcount(self.datapath, 'Sheet1')
     self.column = xlutils.getcolumnount(self.datapath, 'Sheet1')
     Addnewcust = Addcust(self.Openbrowser)
     Addnewcust.customermenuclick()
     self.pass_status = []
     for row in range(2, self.row + 1):
         self.email = xlutils.readfromxl(self.datapath, 'Sheet1', row, 1)
         self.custpassword = xlutils.readfromxl(self.datapath, 'Sheet1',
                                                row, 2)
         self.firstname = xlutils.readfromxl(self.datapath, 'Sheet1', row,
                                             3)
         self.lastname = xlutils.readfromxl(self.datapath, 'Sheet1', row, 4)
         self.gender = xlutils.readfromxl(self.datapath, 'Sheet1', row, 5)
         self.DOB = xlutils.readfromxl(self.datapath, 'Sheet1', row, 6)
         self.companyname = xlutils.readfromxl(self.datapath, 'Sheet1', row,
                                               7)
         self.istaxexempt = xlutils.readfromxl(self.datapath, 'Sheet1', row,
                                               8)
         self.yourstorename = xlutils.readfromxl(self.datapath, 'Sheet1',
                                                 row, 9)
         self.teststore2 = xlutils.readfromxl(self.datapath, 'Sheet1', row,
                                              10)
         self.customerrole = xlutils.readfromxl(self.datapath, 'Sheet1',
                                                row, 11)
         self.vendor = xlutils.readfromxl(self.datapath, 'Sheet1', row, 12)
         self.active = xlutils.readfromxl(self.datapath, 'Sheet1', row, 13)
         self.admincomment = xlutils.readfromxl(self.datapath, 'Sheet1',
                                                row, 14)
         time.sleep(3)
         Addnewcust.customersubmenuclick()
         self.logger.info("Customer page opening")
         time.sleep(3)
         Addnewcust.addnewclick()
         self.logger.info("Customer second page opening")
         time.sleep(3)
         Addnewcust.emailinput(self.email)
         Addnewcust.passwordinput(self.custpassword)
         Addnewcust.firstnameinput(self.firstname)
         Addnewcust.genderselect(self.gender)
         Addnewcust.lastnameinput(self.lastname)
         Addnewcust.dateofbirthinput(self.DOB)
         Addnewcust.companynameinput(self.companyname)
         Addnewcust.newletter1input(self.yourstorename)
         Addnewcust.newsletter2input(self.teststore2)
         Addnewcust.customerroleselection(self.customerrole)
         Addnewcust.vendortypeselect(self.vendor)
         Addnewcust.admincomment(self.admincomment)
         self.logger.info("All Input to the add page done")
         Addnewcust.savecustomer()
         message = self.Openbrowser.find_element_by_tag_name("body").text
         if "The new customer has been added successfully." in message:
             self.pass_status.append("Pass")
         else:
             self.pass_status.append("Fail")
     print(self.pass_status)
     if "Fail" not in self.pass_status:
         self.logger.info("All test passed")
         assert True
     else:
         self.logger.info("All/Some of the test failed")
         assert False