Esempio n. 1
0
 def run(self):
     for index in range(0, len(self.teststeplist)):
         try:
             eval(self.teststeplist[index])
         except Exception as e:
             log.logger(
                 'ERROR',
                 '执行语句错误,错误语句为{}:{}'.format(self.teststeplist[index], e))
Esempio n. 2
0
def get_sheet_names(filename):
    global sheetlist
    f = os.path.join(EXCELPATH, filename) + '.xlsx'
    try:
        wb = load_workbook(f)
        sheetlist = wb.sheetnames
    except Exception as e:
        log.logger('ERROR', '打开excel失败:{}'.format(e))
    return sheetlist
Esempio n. 3
0
def inputValue(by, locator, value):
    log.logger('INFO', '===输入内容===')
    log.logger('INFO', '目标定位方式为:{}'.format(by))
    log.logger('INFO', '目标定位对象为:{}'.format(locator))
    log.logger('INFO', '目标对象输入内容为:{}'.format(value))
    try:
        getElement(driver, by, locator).send_keys(value)
    except Exception as e:
        log.logger('ERROR', '输入内容失败:{}'.format(e))
Esempio n. 4
0
 def get_file_list():
     """
     取到script文件夹下所有excel的list
     """
     file_name_list = []
     try:
         file_list = os.listdir(EXCELPATH)
     except Exception as e:
         log.logger('ERROR', '获取excel文件失败:{}'.format(e))
         raise e
     for file in file_list:
         if os.path.splitext(file)[-1] == '.xlsx':
             file_name_list.append(os.path.splitext(file)[0])
     return file_name_list
Esempio n. 5
0
def click(by, locator):
    log.logger('INFO', '===点击操作===')
    log.logger('INFO', '目标定位方式为:{}'.format(by))
    log.logger('INFO', '目标定位对象为:{}'.format(locator))
    try:
        getElement(driver, by, locator).click()
    except Exception as e:
        log.logger('ERROR', '点击失败:{}'.format(e))
Esempio n. 6
0
def switchToFrame(by, locator):
    log.logger('INFO', '===切换frame===')
    log.logger('INFO', '目标定位方式为:{}'.format(by))
    log.logger('INFO', '目标定位对象为:{}'.format(locator))
    try:
        driver.switch_to_frame(getElement(driver, by, locator))
    except Exception as e:
        log.logger('ERROR', '切换frame失败:{}'.format(e))
Esempio n. 7
0
def clear(by, locator):
    log.logger('INFO', '===清除目标框内容===')
    log.logger('INFO', '目标定位方式为:{}'.format(by))
    log.logger('INFO', '目标定位对象为;{}'.format(locator))
    try:
        getElement(driver, by, locator).clear()
    except Exception as e:
        log.logger('ERROR', '清除内容失败:{}'.format(e))
Esempio n. 8
0
 def get_stpes_data(self):
     row = self.view_stepstable.rowCount()
     self.testcstepsdata = []
     for item in range(0, row):
         testdict = []
         for i in range(1, 6):
             try:
                 temp = self.view_stepstable.item(item, i - 1)
                 if temp:
                     testdict.append(temp.text())
                 else:
                     testdict.append('NA')
             except Exception as e:
                 log.logger('ERROR', e)
         self.testcstepsdata.append(testdict.copy())  # 获取需要保存的steps数据
     print(self.testcstepsdata)
Esempio n. 9
0
 def get_sheet_value(filename, sheetname):
     global sh, wb
     datapath = os.path.join(EXCELPATH, filename) + '.xlsx'
     try:
         wb = load_workbook(datapath)
     except Exception as e:
         log.logger('WARNING', '未找到excel文件:{}'.format(e))
     try:
         sh = wb[sheetname]
     except Exception as e:
         log.logger('WARNING', '未找到sheetname:{}'.format(e))
     tablevalue = []
     rows = sh.max_row
     if rows < 2:
         return None
     else:
         for row in range(2, rows + 1):
             stepdict = []
             for i in range(1, 6):
                 stepdict.append(sh.cell(row, i).value)
             tablevalue.append(stepdict)
     return tablevalue
Esempio n. 10
0
def loadUrl(url):
    log.logger('INFO', '===载入网址===')
    log.logger('INFO', '载入网址为:{}'.format(url))
    global driver
    try:
        driver.get(url)
    except Exception as e:
        log.logger('ERROR', '载入网址失败:{}'.format(e))
Esempio n. 11
0
def screenshot():
    log.logger('INFO', '===截图===')
    picturename =EXCEPTPATH + f'\wu.png'
    try:
        driver.get_screenshot_as_file(picturename)
    except Exception as e:
        log.logger('ERROR', '截图失败:{}'.format(e))
    log.logger('INFO', '截图成功!存储地址为:{}'.format(picturename))
Esempio n. 12
0
def getTitle():
    global t
    log.logger('INFO', '===获取页面标题===')
    try:
        t = driver.title
    except Exception as e:
        log.logger('ERROR', '获取页面标题:{}'.format(e))
    log.logger('INFO', '获取页面标题为:{}'.format(t))
Esempio n. 13
0
def openBrowser(browser):
    global driver
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument('--no-sandbox')

    try:
        if browser.lower() == 'chrome':
            driver = webdriver.Chrome(executable_path=CHROMEPATH, chrome_options=chrome_options)
            log.logger('INFO', '===准备打开chrome浏览器===')
        else:
            driver = webdriver.Firefox(executable_path=CHROMEPATH)
            log.logger('INFO', '只下了chrome driver,你就当你打开了你要的')
    except Exception as e:
        log.logger('ERROR', '打开driver失败:{}'.format(e))
    else:
        WaitUtil = WaitUntil(driver)
    log.logger('INFO', '打开成功')
Esempio n. 14
0
 def load_sheet(self):
     log.logger('INFO', '目前的excelname:{}'.format(self.currentexcelname))
     log.logger('INFO', '目前的sheetname:{}'.format(self.currentsheetname))
     self.testcstepsdata = ExcelReader.get_sheet_value(
         self.currentexcelname, self.currentsheetname)
     if self.testcstepsdata == None:
         log.logger('INFO', '选中sheet为空')
     else:
         row = len(self.testcstepsdata)
         self.view_stepstable.setRowCount(row)
         for i in range(0, row):
             for col in range(0, len(self.testcstepsdata[i])):
                 temp = QTableWidgetItem(str(self.testcstepsdata[i][col]))
                 self.view_stepstable.setItem(i, col, temp)
Esempio n. 15
0
 def execute_all(self):
     log.logger('INFO', '选中的sheename为:{}'.format(self.selectedcaseslist))
Esempio n. 16
0
def save_sheet(filename, sheetname, testdata):
    datapath = os.path.join(EXCELPATH, filename) + '.xlsx'
    try:
        wb = load_workbook(datapath)
        log.logger('INFO', '存储到:{}'.format(filename))
    except Exception as e:
        log.logger('ERROR', '未找到指定excel')
        wb = Workbook()
        wb.save(datapath)
    try:
        sh = wb[sheetname]
        log.logger('INFO', '存储到:{}'.format(sheetname))
    except Exception as e:
        log.logger('INFO', '创建sheet:{}'.format(sheetname))
        sh = wb.create_sheet(sheetname)
    sh['A1'] = '操作步骤'
    sh['B1'] = '关键字'
    sh['C1'] = '定位方式'
    sh['D1'] = '定位对象'
    sh['E1'] = '输入的值'
    for i in range(0, len(testdata)):
        for j in range(0, 5):
            sh.cell(i + 2, j + 1).value = testdata[i][j]
    try:
        wb.save(datapath)
        log.logger('INFO', '保存成功!')
    except Exception as e:
        log.logger('ERROR', '保存失败,是不是excel打开着,没权限存储了:e'.format(e))
Esempio n. 17
0
def quitBrowser():
    log.logger('INFO', '关闭浏览器')
    try:
        driver.quit()
    except Exception as e:
        log.logger('ERROR', '关闭浏览器失败:{}'.format(e))
Esempio n. 18
0
def maximizeBrowser():
    log.logger('INFO', '===浏览器最大化===')
    try:
        driver.maximize_window()
    except Exception as e:
        log.logger('ERROR', '最大化浏览器失败:{}'.format(e))
Esempio n. 19
0
def assertbytext(by, locator, value):
    global t
    log.logger('INFO', '===验证指定元素text是否与预期结果一致===')
    try:
        t = getElement(driver, by, locator)
    except Exception as e:
        log.logger('ERROR', '获取元素失败:{}'.format(e))
    if t.text() == value:
        log.logger('INFO', '获取到元素的text为:{}'.format(t.text()))
        log.logger('INFO', '预期的text结果为:{}'.format(value))
        log.logger('INFO', '验证成功')
    else:
        log.logger('ERROR', '与预期结果不符,实际结果为:{}'.format(t.text()))
        log.logger('ERROR', '与预期结果不符,预期结果为:{}'.format(t.text()))
        log.logger('ERROR', '验证失败')
Esempio n. 20
0
 def item_click(self):
     self.selectedcaseslist = []
     self.currentsheetname = self.view_sheetlist.currentItem().text()
     for i in self.view_sheetlist.selectedItems():
         self.selectedcaseslist.append(i.text())
     log.logger('INFO', '目前选中的用例为:{}'.format(self.currentsheetname))
Esempio n. 21
0
 def assign_sheet_list(self):
     self.view_sheetlist.clear()
     self.currentexcelname = self.comb_selectexcel.currentText()
     sheetnames = get_sheet_names(self.currentexcelname)
     self.view_sheetlist.addItems(sheetnames)
     log.logger("INFO", '目前选中的excel是:{}'.format(self.currentexcelname))
Esempio n. 22
0
 def add_line(self):
     row = self.view_stepstable.rowCount()
     log.logger("INFO", '行数为:{}'.format(row + 1))
     self.view_stepstable.setRowCount(row + 1)
Esempio n. 23
0
def sleepwait(sleepSeconds):
    log.logger('INFO', '===等待{}秒==='.format(sleepSeconds))
    try:
        sleep(int(sleepSeconds))
    except Exception as e:
        log.logger('ERROR', '等待这个动作本身失败:{}'.format(e))
Esempio n. 24
0
def assertbyFalse(by, locator):
    global t
    log.logger('INFO', '===验证指定元素不存在===')
    try:
        t = getElement(driver, by, locator)
    except Exception as e:
        log.logger('ERROR', '获取元素失败:{}'.format(e))
    if t:
        log.logger('INFO', '指定元素不存在')
        log.logger('INFO', '验证成功')
    else:
        log.logger('ERROR', '发现指定元素')
        log.logger('ERROR', '验证失败')
Esempio n. 25
0
def assertbytitle(value):
    global t
    log.logger('INFO', '===验证页面标题是否与预期结果一致===')
    try:
        t = driver.title
    except Exception as e:
        log.logger('ERROR', '获取页面标题失败:{}'.format(e))
    if t == value:
        log.logger('INFO', '获取到页面标题为:{}'.format(t))
        log.logger('INFO', '预期的页面标题为:{}'.format(value))
        log.logger('INFO', '验证成功')
    else:
        log.logger('ERROR', '与预期结果不符,实际标题为:{}'.format(t))
        log.logger('ERROR', '与预期结果不符,预期标题为:{}'.format(value))
        log.logger('ERROR', '验证失败')
Esempio n. 26
0
def switchToDefaultFrame():
    log.logger('INFO', '===切换回默认frame===')
    try:
        driver.switch_to_default_content()
    except Exception as e:
        log.logger('ERROR', '切换回默认frame失败:{}'.format(e))