Какая среда Python подходит для регрессионного теста в проекте Selen - PullRequest
0 голосов
/ 03 октября 2019

Я использую селен с python для автоматизации тестирования веб-приложений. В нашем веб-приложении есть список устройств, и мне нужно запустить набор тестовых случаев на каждом устройстве. В настоящее время я использую инфраструктуру модульного тестирования, которая отлично работает для одного устройства, но это не удовлетворяет моей цели. Пожалуйста, предложите способ, с помощью которого мой скрипт может работать как положено. Ниже приведен фрагмент кода для справки

enter code here
# Standard library imports
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select
import time
import unittest
import HtmlTestRunner
import pyautogui
from selenium.webdriver.common.action_chains import ActionChains

# Local application imports
from Scripts.PageObjects import Login, MeterOverViewPage, CustomerOverViewPage
from Scripts import generic
from Resources import Constants, Locators


class MeterOVRegTestCases(unittest.TestCase):

    @classmethod
    def setUpClass(self):
        print("\n*********--In setUp--*********")
        self.driver = webdriver.Chrome(executable_path="D:\Python\Driver\chromedriver.exe")
        conInst = Constants.signInConst
        self.driver.get(conInst.baseURL)
        self.driver.maximize_window()
        logInPage = Login.LoginPage(self.driver)
        logInPage.login(conInst.loginName, conInst.passWord)
        pageTitle = self.driver.title
        print("\n->Page Title: " + pageTitle)

        loctrInst = Locators.genLocators
        print("-Selecting Customer")
        covInst = CustomerOverViewPage.CustomerOV(self.driver)
        conInst = Constants.ovConst
        covInst.select_customer(conInst.customer_2)

        genInst = generic.genaral(self.driver)
        timeTaken = genInst.getTime_takenFor_loading(loctrInst.loadingLabel)
        print("Time taken to load data " + str(timeTaken))

    def test_case_01(self):
        #----------------------- ------------ ------------------
        try:
            conInst = Constants.ovConst
            print("\n-TestCase_01 : Select a particular meter [Serial number : " + 
            str(conInst.devTagForSearchBox)+"]")
            covInst = CustomerOverViewPage.CustomerOV(self.driver)
            genInst = generic.genaral(self.driver)
            searchBox = covInst.verify_searchBox()
            loctrInst = Locators.genLocators

            if(searchBox.is_displayed()):
                print("Searchbox is available on the overview page")
                searchBox.send_keys(conInst.devTagForSearchBox)

                timeTaken = genInst.getTime_takenFor_loading(loctrInst.loadingLabel)
                print("Time taken to load data " + str(timeTaken))

                loctrInst = Locators.covLocators
                dispMsg = self.driver.find_element(By.ID,loctrInst.overviewTbleInfo).text

                if (dispMsg == conInst.overviewTableInfo):
                    print("\nPlease enter valid device tag, No matching records found")
                    genInst.screen_capture("test_case_01")  #Append the tag name with time stamp
                    genInst.clear_inputBox(loctrInst.searchBox)
                    time.sleep(2)
                else :
                    print("\nRead first device in the table after search")
                    covInst = CustomerOverViewPage.CustomerOV(self.driver)
                    covInst.select_device(1,4)
                    time.sleep(5)

                    loctrInst = Locators.genLocators
                    genInst = generic.genaral(self.driver)
                    timeTaken = genInst.getTime_takenFor_loading(loctrInst.loadingLabel)
                    print("Time taken to load data " + str(timeTaken))

        except Exception as err:
            print("\nTC_01 Failed with this error: ",str(err))
            genInst = generic.genaral(self.driver)
            genInst.screen_capture("test_case_01")
            time.sleep(1)
            alertObj = self.driver.switch_to_alert()
            alertObj.accept()
            time.sleep(5)

    def test_case_02(self):
        try:
            print("\n-TestCase_02 : Select parameters for graph plotting")
            movInst = MeterOverViewPage.MeterOV(self.driver)
            movInst.varify_paramRemoval()
            movInst.varify_paramSelection()
            time.sleep(60)

        except Exception as err:
            print("\nTC_02 Failed with this error: ",str(err))
            genInst = generic.genaral(self.driver)
            genInst.screen_capture("test_case_02")
            time.sleep(1)
            alertObj = self.driver.switch_to_alert()
            alertObj.accept()
            time.sleep(5)

    def test_case_03(self):
        try:
            print("\n-TestCase_03 : Verify Time filter")
            movInst = MeterOverViewPage.MeterOV(self.driver)
            genInst = generic.genaral(self.driver)
            loctrInst = Locators.genLocators
            tempList = self.driver.find_element(By.CLASS_NAME,"ranges")
            numberOfFileters = tempList.find_elements(By.TAG_NAME,"li")
            numberOfFileters = len(numberOfFileters)

            for index in range (1,numberOfFileters):
                print(index)
                movInst.select_timeFilterTest(index)

                timeTaken = genInst.getTime_takenFor_loading(loctrInst.loadingLabel)
                print("Time taken to load data " + str(timeTaken))

        except Exception as err:
            print("\nTC_03 Failed with this error: ",str(err))
            genInst = generic.genaral(self.driver)
            genInst.screen_capture("test_case_03")
            time.sleep(1)
            alertObj = self.driver.switch_to_alert()
            alertObj.accept()
            time.sleep(5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...