コード例 #1
0
    def reportPathCreate(self):
        list = []
        #报告文件路径
        reporPath = os.path.join(gl.reporterPath, gl.curTimeStr)
        self.isExistPath(reporPath)  #创建文件夹
        gl.setOverallStatus('reportPath', reporPath)

        imgPath = os.path.join(reporPath, 'Image')
        self.isExistPath(imgPath)  #创建image文件夹

        list.append(reporPath)
        list.append(imgPath)
        return list
コード例 #2
0
ファイル: InvokeBll.py プロジェクト: xzdylyh/AT_PH
    def runFuncModule(self,webStart,sheetName):
        for dictData in self.loadTestData(str(sheetName)): #遍历功能模块表
            print(dictData)
            if str.upper(str(dictData['action']))=='GET':
                gl.setOverallStatus('browserSelect',str(dictData['Element'])) #设置,要启动的浏览器类型
                webStart.toUrl(str(dictData['Value'])) #打开login页面
                continue

            if str.upper(str(dictData['flag']))=='Y':
                gl.setOverallStatus('description',dictData['Description'])
                gl.setOverallStatus('stepDiscription',dictData['step Description'])
                gl.setOverallStatus('expectResult',dictData['Expected Results '])
                gl.setOverallStatus('Step',int(dictData['Step']))
                webStart.Find_Element(element=dictData['Element'],index=dictData['Index'],value=dictData['Value'],action=dictData['action'])
                    #有报错,停止执行
            if str.upper(gl.getOverallStatus('stepResult')) =='FAILED':
                break
        #除了登录功能,其它模块执行完,关闭浏览器
        if str.upper(str(sheetName))!='LOGIN':
            webStart.driver.quit()#功能执行完关闭浏览器
コード例 #3
0
        def report(*args, **kwargs):
            ret = func(*args, **kwargs)

            gl.setOverallStatus('action', kwargs.get('action', 'None'))
            gl.setOverallStatus('element', kwargs.get('element', 'None'))
            gl.setOverallStatus('value', kwargs.get('value', 'None'))

            return ret
コード例 #4
0
    def Find_Element(self, index='By.XPATH', element='', value='', action=''):
        action = str(action)
        element = str(element)
        index = str(index)
        value = str(value)
        #报告文件路径
        reporPath = self.reportPathCreate()
        try:
            WebDriverWait(self.driver, 10, 1).until(
                ec.presence_of_element_located(
                    (self.switchBy(index), element)))
            if str.lower(str(index)) != '':
                ement = self.driver.find_element(self.switchBy(index), element)
            else:
                ement = element
            #选择,执行的操作方式
            if str.lower(str(action)) == 'switch_to':
                self.switch_to(index, action, ement)  #swicth to切换操作
            elif str.lower(str(action)) == 'driver':
                self.driver_Action(ement, action, value)
            else:
                self.mouse_Action(ement, action, value)  #操作

            #写日志
            self.setReportDictVal(index, action, element, value, 'PASSED', '')
            imgPath = reporPath[1] + r'\image_' + self.getCurTime() + '.png'
            if str.lower(action) == 'verify':
                self.driver.save_screenshot(imgPath)
                gl.setOverallStatus('ImagePath', imgPath)

            self.reportx.writeReport(gl.Dict(), reporPath[0])
            gl.setOverallStatus('ImagePath', '')
        except (NoSuchElementException, TimeoutException), ex:
            #写日志
            self.setReportDictVal(index, action, element, value, 'FAILED',
                                  ex.message)
            imgPath = reporPath[1] + r'\image_' + self.getCurTime() + '.png'
            self.driver.save_screenshot(imgPath)
            gl.setOverallStatus('ImagePath', imgPath)
            gl.setOverallStatus('OVER_STATUS', 'FAILED')
            self.reportx.writeReport(gl.Dict(), reporPath[0])
コード例 #5
0
 def setReportDictVal(self, index, action, element, value, status, msg):
     gl.setOverallStatus('executeTime', self.getCurTime())
     gl.setOverallStatus('index', index)
     gl.setOverallStatus('action', action)
     gl.setOverallStatus('element', element)
     gl.setOverallStatus('value', value)
     gl.setOverallStatus('stepResult', status)
     if msg != '':
         gl.setOverallStatus('stepDiscription', msg)
コード例 #6
0
from Scripts import gl

if __name__ == "__main__":
    gl.init()
    gl.setOverallStatus('userName', 'msh195')
    print(gl.getOverallStatus('userName'))