def Test(self):
     driver = self.driver
     self.erro = []
     WebDriverTools.enterProject(driver,self.project[0],self.projectName,self.erro)
     sleep(3)
     self.checkIndex(driver)
     OtherTools.raiseError(self.erro)
Пример #2
0
    def verifyItem(self, driver):
        sleep(2)
        #验证工单是否删除成功
        #选中自动化测试专用工单

        rv = [
            x
            for x in driver.find_elements_by_css_selector("#wf-task-groups li")
            if x.text == '自动化测试2'
        ]
        if rv:
            rv[0].click()
        else:
            assert 0, "工单中未找到'自动化测试专用工单'!"
        sleep(3)
        tds = driver.find_elements_by_css_selector(
            "#wf-task-table tbody>tr td")
        if self.orderNum == 1:
            print("删除后应该还剩下1个td")
            if len(tds) == 1:
                print("删除工单成功!")
            else:
                WebDriverTools.get_pic(driver, self.testCaseID)
                assert 0, self.testCaseID + " 创建工单--修改后删除该工单失败!"
        else:
            print("删除之前工单不止1个")
            num = int(len(tds) / 9)
            if num + 1 == self.orderNum:
                print("删除工单成功!")
            else:
                WebDriverTools.get_pic(driver, self.testCaseID)
                assert 0, self.testCaseID + " 创建工单--修改后删除该工单失败!"
Пример #3
0
    def AddWorkItem(self, driver):
        a = WebDriverTools()
        if a.isElementPresent(driver, '#wf-main-project-hash'):
            driver.find_element_by_id('wf-main-project-hash').click()
            sleep(2)
            driver.find_element_by_id("wf-add-taskGroup").click()
            sleep(2)
            driver.find_element_by_id('wf-group-name').send_keys(
                'test' + self.startTime)
            driver.find_element_by_id('wf-group-des').send_keys('content' +
                                                                self.startTime)

            #div = driver.find_element_by_class_name('checkbox')
            #div.find_element_by_tag_name('input').click()

            div = driver.find_element_by_xpath(
                "//div[@class='checkbox col-sm-3'][1]/label/input")
            div.click()

            sleep(2)
            driver.find_element_by_xpath("//button[@title='保存']").click()

        sleep(2)
        strFind = "//li[@data-desc='content" + self.startTime + "']"
        li = driver.find_element_by_xpath(strFind)
        if li:
            assert 1, "项目添加成功!"
        else:
            assert 0, "项目添加失败!"
Пример #4
0
    def Test(self):
        a = WebDriverTools()
        driver = self.driver
        time.sleep(4)

        #点击忘记密码,进入密码找回页面进行操作

        driver.find_element_by_css_selector("#btnForgetPwd").click()
        sleep(2)
        driver.find_element_by_css_selector("#inputEmail").clear()
        driver.find_element_by_css_selector("#inputEmail").send_keys(
            "*****@*****.**")

        #点击确定发送邮件
        driver.find_element_by_css_selector("#passwordResetBtn").click()
        a.waitSpinner(driver, 'Beop登录页--忘记密码--输入邮箱后点击确定按钮')
        #此处获取不到提示信息
        sleep(0.3)
        try:
            if a.isElementPresent(driver, '.pull-left.message'):
                pass
            else:
                assert 0, "忘记密码--输入邮件--点击确定按钮后没有弹出提示信息!"
        except Exception as e:
            print(e)
            assert 0, "忘记密码--输入邮件--点击确定按钮后没有弹出提示信息!"
        driver.close()

        self.CheckEmail()
Пример #5
0
    def checkZip(self, driver):
        #获取次数
        checkTimeMax = 300
        checkTime = 0
        #获取文件名
        fileName = driver.find_element_by_css_selector(
            '#exportDataListTBody tr:nth-child(1) td:nth-child(6)').text

        while 1:
            if checkTime < checkTimeMax:
                progress = driver.find_element_by_css_selector(
                    '#exportDataListTBody tr:nth-child(1) td:nth-child(7)'
                ).text
                if int(progress[:-1]) == 100:
                    break
                else:
                    print('当前导出数据进度为{}'.format(progress))
                    checkTime += 1
                    time.sleep(1)
            else:
                WebDriverTools.get_pic(driver, self.testCaseID)
                self.errors.append('{}--{}导出{}1天数据花费超过5分钟!'.format(
                    self.testCaseID, self.projectName, self.dataPoints))
                self.remove(self.fileList)
                OtherTools.raiseError(self.errors)
        driver.find_element_by_css_selector(
            '#exportDataListTBody tr:nth-child(1) td:nth-child(6) a').click()
        #等待下载完毕
        time.sleep(5)
        driver.find_element_by_css_selector('.close').click()
        time.sleep(3)
        return fileName
Пример #6
0
    def Test(self):
        a = WebDriverTools()
        driver = self.driver
        time.sleep(4)
        #driver.implicitly_wait(8)
        WebDriverTools.enterProject(driver, 120, self.projectName)

        #打开用户操作记录
        driver.find_element_by_css_selector("#iconList").click()
        sleep(1)
        b = a.isElementPresent(driver, "#btnOperatingRecord")
        if b:
            driver.find_element_by_css_selector("#btnOperatingRecord").click()
        else:
            assert 0,"%s--%s--进入项目后没有找到操作记录按钮!" % (self.projectName,self.buzName)
        self.check(driver,"操作记录窗口",[".modal-content","#btnLogPre","#datePickerLog","#btnLogNext","#tableOperatingRecord",".modal-content .close"])
        sleep(2)
        #关闭窗口
        driver.find_element_by_css_selector("#dialogContent .close").click()
        sleep(2)
        #再次进入操作记录
        driver.find_element_by_css_selector("#iconList").click()
        driver.find_element_by_css_selector("#btnOperatingRecord").click()
        sleep(2)
        self.check2(driver,"再次打开操作记录窗口时",["#dialogContent","#btnLogPre","#datePickerLog","#btnLogNext","#tableOperatingRecord"])
Пример #7
0
 def login(self, browser, user='******'):
     driver = DriverMethods(browser)
     app.config.from_object(user_conf[user])
     USERNAME = app.config['USERNAME']
     PASSWORD = app.config['PASSWORD']
     try:
         driver.clear('登录页面', '用户名输入框')
         driver.send('登录页面', '用户名输入框', USERNAME)
         driver.clear('登录页面', '密码输入框')
         driver.send('登录页面', '密码输入框', PASSWORD)
         driver.click('登录页面', '登录按钮')
         '''driver.find_element_by_id("txtName").clear()
         driver.find_element_by_id("txtName").send_keys(USERNAME)
         driver.find_element_by_id("txtPwd").clear()
         driver.find_element_by_id("txtPwd").send_keys(PASSWORD)
         driver.find_element_by_id("btnLogin").click()'''
     except Exception as e:
         Log.writeLogError(self.logName, "funcname: login" + e.__str__())
         WebDriverTools.get_pic(driver, 'func_login')
     #WebDriverTools.waitSpinner(driver, '登陆页面', 'spinner', timeout=23)
     time.sleep(3)
     ele = False
     try:
         ele = driver.display("Beop首页", 'logo')
     except:
         pass
     if ele:
         print("用户%s登陆成功" % app.config['USERNAME'])
     else:
         WebDriverTools.get_pic(driver, 'func_login')
         assert 0,"用户%s 密码%s登陆失败,请检查账号密码是否正确!" % (USERNAME, PASSWORD)
     return browser
Пример #8
0
 def checkTime(self,driver,error):
     startTime = driver.find_element_by_css_selector("#iptTimeStart")
     endTime = driver.find_element_by_css_selector("#iptTimeEnd")
     button = driver.find_element_by_css_selector('.btnQueryTool.btn-success.btnQuery')
     exportbutton = driver.find_element_by_css_selector('.btnQueryTool.btn-primary.btnExport')
     startTime.click()
     try:
         driver.find_element_by_css_selector(".table-condensed>tbody>tr>td.day.active").click()
         driver.find_element_by_css_selector(".table-condensed>tbody>tr>td>span.hour.active").click()
         driver.find_element_by_css_selector(".table-condensed>tbody>tr>td>span.minute.active").click()
     except Exception as e:
         print(e.__str__())
         error.append("选中开始时间按钮有误,未选中相应按钮!")
     endTime.click()
     try:
         time = datetime.datetime.strftime(datetime.datetime.now(),'%Y-%m-%d %H:%M')
         driver.find_element_by_css_selector("#iptTimeEnd").clear()
         driver.find_element_by_css_selector("#iptTimeEnd").send_keys(time)
     except Exception as e:
         print(e.__str__())
         error.append("选中结束时间按钮有误,未选中相应按钮!")
     button.click()
     driver.implicitly_wait(3)
     stattext = driver.execute_script('var a;return a=$("#iptTimeStart").val()').split(" ")[0]
     endtext = driver.execute_script('var a;return a=$("#iptTimeEnd").val()').split(" ")[0]
     self.filename = '历史记录-%s--%s.xls'%(stattext,endtext)
     text = driver.find_element_by_css_selector(".tableDetail")
     WebDriverTools.checkNull(text,error,'温度趋势展开数据','设备展开页面')
     exportbutton.click()
     datelist = driver.find_elements_by_css_selector('.tableDetail>tbody>tr')
     WebDriverTools.checkloadexcelFile(self.filename,error,datelist)
Пример #9
0
 def release(self, driver):
     a = WebDriverTools()
     #进入用户菜单
     driver.find_element_by_css_selector("#userAccount").click()
     #发布项目
     driver.find_element_by_css_selector("#lkRelease").click()
     WebDriverWait(driver,
                   10).until(lambda x: x.find_element_by_css_selector(
                       ".btn.btn-default.directRelease"))
     sleep(2)
     driver.find_element_by_css_selector(
         ".btn.btn-default.directRelease").click()
     sleep(2)
     driver.find_element_by_css_selector("#relPass").clear()
     driver.find_element_by_css_selector("#relPass").send_keys("wuranxu")
     driver.find_element_by_css_selector(
         ".btn.btn-default.directRelease").click()
     sleep(2)
     if a.isElementPresent(driver, ".btn.btn-info.alert-button"):
         sure = [
             x for x in driver.find_elements_by_css_selector(
                 ".btn.btn-info.alert-button") if x.text == '确认'
         ]
         sure[0].click()
         #driver.find_element_by_css_selector(".btn.btn-info.alert-button").click()
     else:
         assert 0, "factory--点击发布项目后没有发布成功的对话框!"
Пример #10
0
 def enterItem(self, driver, locationId, projectName, errors):
     time.sleep(10)
     WebDriverTools.waitElementNotFound(driver, '.spinnerMask', self.testCaseID)
     driver.find_element_by_id("navHomeLogo").click()
     time.sleep(1)
     WebDriverTools.enterProject(driver, locationId, projectName, errors)
     time.sleep(3)
Пример #11
0
 def newPoint(self, driver):
     a = WebDriverTools()
     #获取当前巡更点个数
     now_points = driver.find_elements_by_css_selector(
         "#tablePoints tbody tr")
     #新建巡更点
     button = a.isElementPresent(driver, "#btnAddpoint")
     WebDriverTools.waitElementNotFound(driver, '.spinnerMask',
                                        self.testCaseID, 100)
     if button:
         driver.find_element_by_css_selector("#btnAddpoint").click()
     else:
         assert 0, "进入%s/patrol页面没有找到新建巡更点按钮!" % self.url
     sleep(1)
     #输入巡更点名称,选择巡更类型,输入巡更要求,点击添加按钮
     driver.find_element_by_css_selector(
         ".form-control.pointName").send_keys("AutoTestPoint")
     Select(driver.find_element_by_css_selector(
         ".form-control.pointType")).select_by_value("1")
     driver.find_element_by_tag_name("textarea").send_keys(
         "No requirement!")
     driver.find_element_by_css_selector("#btnSave").click()
     #等待2秒
     sleep(2)
     #对比是否新加了巡更点
     new_points = driver.find_elements_by_css_selector(
         "#tablePoints tbody tr")
     if len(now_points) < len(new_points):
         print("巡更点添加成功!")
     else:
         assert 0, "巡更页面--巡更点添加失败,因为点个数没有变化!"
Пример #12
0
 def editPage(self, driver):
     sleep(5)
     #进入到最后一个页面
     try:
         page = driver.find_element_by_css_selector(
             '#treeControl>li:last-child')
     except:
         assert 0, '目录页面为空'
     ActionChains(driver).double_click(page).perform()
     sleep(3)
     #进入页面管理
     tabs = driver.find_elements_by_css_selector(
         '.tab-handle.disable-selection')
     tabs[1].click()
     #找到刚才新建的页面
     try:
         ActionChains(driver).move_to_element(
             driver.find_element_by_css_selector(
                 'a[title="冷凝温度 - PageScreen"]')).double_click().perform()
     except:
         assert 0, '新建的页面不存在或者丢失'
     #再次进入页面管理
     tabs = driver.find_elements_by_css_selector(
         '.tab-handle.disable-selection')
     tabs[1].click()
     #修改页面信息
     sleep(2)
     driver.find_element_by_id('editPage').click()
     s = driver.find_element_by_id('inputPageName')
     s.clear()
     s.send_keys("传感器分析")
     is_enabled = driver.find_element_by_id('selectPageType').is_enabled()
     if (is_enabled == False):
         print('不可编辑页面类型')
     else:
         assert 0, '页面类型在编辑时能操作'
     driver.find_element_by_id('inputPageWidth').clear()
     driver.find_element_by_id('inputPageWidth').send_keys('1250')
     driver.find_element_by_id('inputPageHeight').clear()
     driver.find_element_by_id('inputPageHeight').send_keys('600')
     page_display = driver.find_element_by_id('selectPageDisplay')
     select_page_display = Select(page_display)
     select_page_display.select_by_visible_text("居中")
     driver.find_element_by_id('btnOk').click()
     sleep(3)
     #保存
     driver.find_element_by_id('lkSync').click()
     #发布页面
     driver.find_element_by_id('userAccount').click()
     driver.find_element_by_id('lkRelease').click()
     sleep(3)
     driver.find_element_by_id('inputPwd').send_keys('Rnbtech1103')
     driver.find_element_by_id('inputMsg').send_keys('123')
     driver.find_element_by_id('btnSubmit').click()
     WebDriverTools.waitElement(driver,
                                '.btn.btn-info.alert-button',
                                self.testCaseID,
                                timeout=20)
     driver.find_element_by_css_selector(
         '.btn.btn-info.alert-button').click()
Пример #13
0
 def check(self, driver):
     page = ["光明首页"]
     WebDriverTools.enterProject(driver,
                                 425,
                                 projName=self.projectName,
                                 errors=self.errors)
     iframe = driver.find_element_by_tag_name("iframe")
     driver.switch_to_frame(iframe)
     ele = driver.find_element_by_css_selector(".pointList")
     WebDriverTools.checkNull(ele, self.errors, page, "点击固定点左侧设备名称")
     driver.find_element_by_css_selector("#movePointBtn").click()
     sleep(2)
     ele = driver.find_elements_by_css_selector(".pointList")[1]
     WebDriverTools.checkNull(ele, self.errors, page, "点击移动点左侧设备名称")
     driver.find_element_by_id("pointTitleIpt").send_keys("9L1423")
     driver.find_element_by_id("pointSearch").click()
     sleep(2)
     driver.find_element_by_css_selector("#navPoint_20020000000001").click()
     try:
         nohistroy = driver.find_element_by_css_selector(
             ".infoBox.infoBox-unique.infoBoxAlert")
         self.errors.append("点击设备弹出了没有历史数据的对话框")
     except Exception as e:
         print("没有出现对话框")
     sleep(2)
     WebDriverTools.checkCanvas(driver, self.errors, page)
     canvas = driver.find_elements_by_tag_name("canvas")
     if (len(canvas) == 2):
         print("合格率曲线和温度曲线都出来了")
     else:
         self.errors.append("合格率曲线或温度曲线没有显示出来")
     ele = driver.find_element_by_id("MFPointContainer")
     WebDriverTools.checkNull(ele, self.errors, page, "选中设备后页面右侧")
Пример #14
0
    def checkOld(self, driver, projectName):
        a = WebDriverTools()
        time.sleep(2)
        reports = driver.find_elements_by_css_selector(
            "li[class~='list-group-item']")
        if reports == []:
            a.get_pic(driver, self.testCaseID)
            self.errors.append("进入%s项目找不到左侧报表栏!" % projectName)
        for i in range(len(reports)):
            driver.find_elements_by_css_selector(
                "li[class~='list-group-item']")[i].click()
            time.sleep(6)
            WebDriverTools.waitElementNotFound(driver, '.spinnerMask',
                                               self.testCaseID)
            r = driver.find_elements_by_css_selector(
                "li[class~='list-group-item']")[i]
            contents = driver.find_elements_by_css_selector(
                '#report-unit-1 .report-unit .summary')
            if contents != []:
                textEle = driver.find_element_by_css_selector(
                    '.step-play-list')
                WebDriverTools.checkNull(textEle, self.errors, [
                    projectName,
                    driver.find_elements_by_css_selector(
                        "li[class~='list-group-item']")[i].text
                ], '内容')
                print('%s项目->%s报表存在!' %
                      (projectName,
                       driver.find_elements_by_css_selector(
                           "li[class~='list-group-item']")[i].text))
                if not i:
                    self.downloadPDF(
                        driver, downloadDir, projectName,
                        driver.find_elements_by_css_selector(
                            "li[class~='list-group-item']")[i].text, 'old')
                    self.downloadWORD(
                        driver, downloadDir, projectName,
                        driver.find_elements_by_css_selector(
                            "li[class~='list-group-item']")[i].text)
            else:
                reportName = driver.find_elements_by_css_selector(
                    "li[class~='list-group-item']")[i].text
                if ("月" in reportName or "onth" in reportName
                        or reportName == 'Diagnosis Report' or reportName
                        == '诊断报表') and int(datetime.datetime.now().day) <= 5:
                    print("5号之前月报还没生成!")
                else:
                    WebDriverTools.get_pic(driver, self.testCaseID)
                    self.errors.append('%s项目->%s报表内容为空!' %
                                       (projectName, reportName))
            '''txt = driver.find_elements_by_css_selector('#report-unit-1 .report-unit .summary')
            if len(txt) > 0:
                pass
            else:

                driver.get_screenshot_as_file(r'.\ErrorPicture\%s\%s.png' % (self.testCaseID,time.strftime("%Y-%m-%d %H-%M-%S", time.localtime())))
                errors.append('%s项目->%s报表内容为空!' % (project,driver.find_elements_by_css_selector("li[class~='list-group-item']")[i].text))
                #assert 0,'%s项目->%s报表内容为空!' % (project,driver.find_elements_by_css_selector("li[class~='list-group-item']")[i].text)'''

        time.sleep(2)
Пример #15
0
 def downloadPDF(self, driver, dir, project, report, mode):
     status = False
     time.sleep(2)
     #点击下载PDF按钮
     try:
         if mode == 'old':
             driver.find_element_by_id("exportPDF").click()
         else:
             driver.find_element_by_css_selector(".pdfDownCtn.in").click()
         time.sleep(10)
     except Exception as e:
         print(e.__str__())
         WebDriverTools.get_pic(driver, self.testCaseID)
         self.errors.append("%s项目->%s报表下载PDF失败!<br>" % (project, report))
     for root, dirs, files in os.walk(dir):
         for file in files:
             if report in file and '.pdf' in file:
                 status = True
                 break
     if not status:
         print("下载PDF失败!")
         self.errors.append("%s项目->%s报表下载PDF失败!因为下载目录中未包含%s文件!" %
                            (project, report, report))
     else:
         print("下载PDF成功!")
 def check(self, driver):
     page = ["光明首页"]
     WebDriverTools.switchToIframe(driver, self.testCaseID, pageName=page)
     driver.find_element_by_css_selector("#movePointBtn").click()
     sleep(2)
     driver.find_element_by_css_selector("#navPoint_20020000000001").click()
     sleep(2)
     driver.find_element_by_css_selector(
         "div[_id='20020000000001']>.dataContainer>button").click()
     self.checkPath(driver)
     yes = datetime.datetime.now() - datetime.timedelta(days=1)
     start = datetime.datetime.strftime(yes, '%Y-%m-%d 00:00')
     end = datetime.datetime.strftime(yes, '%Y-%m-%d 23:59')
     driver.execute_script("$('.startTime >input').attr('value','" + start +
                           "')")
     driver.execute_script("$('.endTime>input').attr('value','" + end +
                           "')")
     driver.execute_script("$('.selectBtn.btn.btn-success').click()")
     start_down = driver.find_element_by_css_selector(
         ".currentStartDate").text
     end_down = driver.find_element_by_css_selector(".currentEndDate").text
     if (start == start_down and end == end_down):
         print("时间正确")
     else:
         self.errors.append("切换日期,拖拽控件处的时间没有改变")
     self.checkPath(driver)
     driver.find_element_by_css_selector(".backMap.btn.btn-primary").click()
     try:
         driver.find_element_by_css_selector("div[_id='20020000000001']")
         print('转回到地图了')
     except Exception as e:
         self.errors.append("点击回到地图没有返回到地图页面")
Пример #17
0
 def deleteExecutor(self, driver):
     #获取刚才新建的巡更人员
     executors_before = driver.find_elements_by_css_selector(
         '#patroPersonList >div')
     #选中该巡更人员
     executor = executors_before[-1]
     #查看删除巡更人员按钮是否存在
     a = WebDriverTools()
     flag = a.isElementPresent(driver, '#deletePerson')
     if (flag):
         driver.find_elements_by_css_selector('#deletePerson')[0].click()
     else:
         assert 0, '删除巡更人员按钮不存在'
     flag2 = a.isElementPresent(driver, ".infoBox-footer")
     if (flag2):
         sure = [
             x for x in driver.find_elements_by_css_selector(
                 ".btn.btn-info.alert-button") if x.text == '确认'
         ]
         sure[0].click()
     else:
         assert 0, '点击删除巡更人员按钮,没有出现弹框'
     sleep(2)
     executors_after = driver.find_elements_by_css_selector(
         '#patroPersonList >div')
     if (len(executors_before) - len(executors_after) != 1):
         assert 0, '删除巡更人员失败'
     else:
         print('删除巡更人员成功')
 def newPage(self,driver,projName):
     a = WebDriverTools()
     #进入所建立的项目
     projs = driver.find_elements_by_css_selector(".proText")
     if projs != []:
         # for p in projs:
         #     if p.text == projName:
         #         # p.click()
         js='$("span[title=\'%s\']").dblclick()' % projName
         driver.execute_script(js)
     else:
         assert 0,"factory项目页左侧未找到项目!"
     #a.find_spinner(driver,cur_time=time.time(),project="进入factory中新添加的项目",timeout="15")
     sleep(2)
     try:
         WebDriverWait(driver, 15).until(lambda x: x.find_element_by_css_selector(".icon-circle-arrow-right"))
     except Exception as e:
         WebDriverTools.get_pic(driver, self.driver)
         assert 0,"factory进入新添加的项目,等待10秒后页面右上角没有出现'页面管理'!"
     driver.find_element_by_css_selector("#addPage").click()
     sleep(2)
     x = a.isElementPresent(driver,"#inputPageName")
     if x:
         print("输入框存在!")
     else:
         assert 0,"在新加的项目中添加页面时没有找到输入页面名字的输入框!"
     driver.find_element_by_css_selector("#inputPageName").clear()
     driver.find_element_by_css_selector("#inputPageName").send_keys("NewPage")
     #确认新建页面
     driver.find_element_by_css_selector("#btnOk").click()
     sleep(3)
     #保存该页面
     driver.find_element_by_css_selector("#lkSync").click()
     sleep(3)
 def checkIndex(self,driver):
     WebDriverTools.checkWeather(driver,self.erro,[self.project[1]])
     lis = driver.find_elements_by_css_selector("#kipList01 > div")
     WebDriverTools.checkHoverData(driver, self.erro, lis, [self.project[1]], "KPI显示鼠标放上去")
 #检查slider下边的值
     ele = driver.find_element_by_id("paneEnergyInfo")
     WebDriverTools.checkNull(ele,self.erro,[self.project[1]],"今日机房总耗能数")
     ele = driver.find_element_by_id("paneEffectInfo")
     WebDriverTools.checkNull(ele,self.erro,['金钟广场'],"当前机房能耗")
     lst = driver.find_elements_by_css_selector("ol.carousel-indicators > li")
     for index,eles in enumerate(lst):
         if index != 2:
             eles.click()
         sleep(10)
         countain = driver.find_elements_by_css_selector(".report-content.clearfix")
         WebDriverTools.checkNull(countain[index], self.erro, [self.projectName], "第%d个slider处"%(index+1))
         if index != 0:
             button = driver.find_element_by_css_selector(".item.active > .carousel-caption > .runRept >button")
             button.click()
             leftcsn = WebDriverWait(driver,10).until(lambda x : x.find_element_by_id("leftCtn"))
             if "运行报表"  in leftcsn.text:
                 print("点击更多按钮跳转到运行报表页面")
                 sleep(2)
                 driver.back()
                 sleep(3)
                 driver.find_elements_by_css_selector("ol.carousel-indicators > li")[2].click()
                 sleep(2)
             else:
                 self.erro.append('点击home页面slider里面的button按钮没有跳转到报表页面')
Пример #20
0
 def checkCollection(self, driver):
     #global grede
     try:
         tr = driver.find_elements_by_css_selector(
             '.table.table-bordered.table-striped'
         )[1].find_elements_by_css_selector("tbody > tr")[0]
         isMonitoring = WebDriverWait(
             driver,
             15).until(lambda x: x.find_element_by_id('isMonitoring'))
     except Exception as e:
         print(e.__str__())
         self.errors.append("checkCollection error:%s" % (e.__str__()))
     #overtime = driver.find_elements_by_css_selector('#tableWatch > tbody > tr > td')
     trs = driver.find_elements_by_css_selector(
         '.table.table-bordered.table-striped'
     )[1].find_elements_by_css_selector("tbody > tr")
     tr = trs[0]
     score = tr.find_elements_by_css_selector("td")[0]
     st = score.text
     WebDriverWait(
         tr, 15).until(lambda x: x.find_element_by_css_selector("span"))
     select = tr.find_element_by_css_selector("span >span")
     if ('glyphicon-star-empty' in select.get_attribute('class')):
         select.click()
     sleep(2)
     isMonitoring.click()
     sleep(4)
     overtime = driver.find_elements_by_css_selector(
         '.table.table-bordered.table-striped'
     )[1].find_elements_by_css_selector("tbody > tr >td")
     if st in overtime[0].text:
         print("数据信息收藏添加成功!")
     else:
         self.errors.append("数据信息收藏添加失败!")
     sleep(2)
     driver.refresh()
     button = driver.find_element_by_id('isMonitoring')
     driver.execute_script("$('#searchPoint').val('" + st + "')")
     driver.execute_script("$('#filterConfirm').click()")
     sleep(3)
     trs = driver.find_elements_by_css_selector(
         '.table.table-bordered.table-striped'
     )[1].find_elements_by_css_selector("tbody > tr")
     for i in trs:
         grede = i.find_elements_by_css_selector("td")[0].text
         if grede == st:
             i.find_elements_by_css_selector("td")[
                 -1].find_element_by_css_selector("span >span").click()
     sleep(2)
     button.click()
     sleep(2)
     delele = driver.find_elements_by_css_selector(
         '.table.table-bordered.table-striped'
     )[1].find_element_by_css_selector("tbody")
     if st not in delele.text:
         print("数据信息收藏删除成功")
     else:
         WebDriverTools.get_pic(driver, self.testCaseID)
         self.errors.append("数据信息收藏删除失败")
Пример #21
0
class Case098(unittest.TestCase):
    testCaseID = "Case098"
    projectName = ""
    buzName = "添加数据源后标题栏消失"
    now = 'None'
    url = "http://%s" % app.config['SERVERIP']
    project = (72, '上海华为', ['设备', '系统诊断', '系统诊断'], '#indexMain')

    def setUp(self):
        self.start = datetime.datetime.now()
        self.startTime = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()).split(" ")[-1]
        MemcacheTools.setMemTime(self.testCaseID,{"startTime":self.startTime})
        lg = LoginTools()
        self.driver = lg.InitialChrome(self.url, self.testCaseID)
        self.driver = lg.login(self.driver)
        self.tools = WebDriverTools()

    def tearDown(self):
        self.start = str((datetime.datetime.now() - self.start).seconds)
        self.start = self.start + "s"
        self.now = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()).split(" ")[-1]
        self.driver.quit()
        MemcacheTools.setMemTime(self.testCaseID,{'start':self.startTime,'end':self.now})

    def Test(self):
        driver = self.driver
        self.errors = []

        self.tools.enterProject(driver, self.project[0], self.project[1], self.errors)
        sleep(3)

        self.tools.enterPage(driver, self.project[2], self.project[3], self.project[1], timeout=180)
        sleep(3)

        self.ReappearFunction(driver)

        OtherTools.raiseError(self.errors)

    def ReappearFunction(self, driver):
        action = ActionChains(driver)
        can = driver.find_element_by_xpath('//div[@id="floorCt"]')
        action.move_to_element(can).click()
        action.move_by_offset(180, 60)
        action.move_by_offset(30, 30).click().perform()
        #sleep(5)
        #WebDriverWait(driver, 20).until(lambda x: x.find_element_by_css_selector('#selectGroup'))
        driver.find_element_by_css_selector(".lkAddToDS").click()
        sleep(3)
        driver.find_element_by_id("selectGroup").click()
        driver.find_element_by_xpath('//option[@value="57b11417833c97391d022d79"]').click()
        sleep(3)
        driver.find_element_by_id("btnImportJump").click()
        sleep(3)

        driver.find_element_by_xpath('//a[@pageid="148057159498150889cba340"]').click()
        sleep(3)
        title = driver.find_element_by_id("scrollPages")
        if title.size['height'] < 80:
            self.errors.append('数据点加入数据分析,然后去点菜单的时候点不开!')
Пример #22
0
 def Test(self):
     sleep(2)
     self.errors=[]
     driver = self.driver
     # 进入深圳华为演示用项目
     WebDriverTools.enterProjForFactory(driver,self.errors,'$("span[title=\'深圳华为演示用\']").dblclick()')
     self.search(driver)
     OtherTools.raiseError(self.errors)
Пример #23
0
 def icon_view_login(self, driver, projectName, icon_locator=[]):
     getele = self.icon_how_present(driver, projectName, icon_locator)
     try:
         getele[0].click()
         icon_time = WebDriverTools()
         icon_time.calculate(driver, 'spinnerMask')
     except Exception:
         assert 0, projectName + ':' + getele[1] + '-点击图标后登陆失败'
Пример #24
0
 def tearDown(self):
     if ("Exception" or "AssertionError" in str([x[1] for x in self._outcome.errors if x[1]!=None])) or self.errors:
         WebDriverTools.get_pic(self.driver, self.testCaseID)
     self.start = str((datetime.datetime.now() - self.start).seconds)
     self.start = self.start + "s"
     self.now = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()).split(" ")[-1]
     self.driver.quit()
     MemcacheTools.setMemTime(self.testCaseID,{'start':self.startTime,'end':self.now})
Пример #25
0
 def setUp(self):
     self.start = datetime.datetime.now()
     self.startTime = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()).split(" ")[-1]
     MemcacheTools.setMemTime(self.testCaseID, {'start':self.startTime})
     lg = LoginTools()
     self.driver = lg.InitialChrome(self.url, self.testCaseID)
     self.driver = lg.login(self.driver)
     self.tools = WebDriverTools()
Пример #26
0
    def CreateWorkOrder(self, driver):
        a = WebDriverTools()
        if a.isElementPresent(driver, '#wf-main-project-hash'):
            driver.find_element_by_id('wf-main-project-hash').click()
            sleep(2)

            driver.find_element_by_xpath(
                "//ul[@id='wf-task-groups']/li[1]").click()
            sleep(2)

            driver.find_element_by_id('wf-task-filter-new-task').click()
            sleep(2)

            driver.find_element_by_id('taskTitle').send_keys('testWorkOrder_' +
                                                             self.startTime)
            driver.find_element_by_id('taskDueTime').send_keys(self.startDate)
            driver.find_element_by_id('wfDetail').send_keys('Detail_' +
                                                            self.startDT)

            driver.find_element_by_id('wf-labelNames').click()
            sleep(1)

            driver.find_element_by_xpath(
                "//select[@id='wf-labelNames']/option[2]").click()
            sleep(1)

            driver.find_element_by_id('wfWatchersAdd').click()
            sleep(1)

            # relative people
            driver.find_element_by_xpath(
                "//div[@class='wf-search-result scrollbar']/div[8]").click()
            driver.find_element_by_id('wf-member-comfirm-btn').click()
            sleep(1)

            driver.find_element_by_xpath(
                "//div[@id='taskProcess']/div[2]/div/div/span[1]").click()
            sleep(1)
            driver.find_element_by_xpath(
                "//div[@class='wf-search-result scrollbar']/div[8]").click()
            driver.find_element_by_id('wf-member-comfirm-btn').click()
            sleep(1)

            driver.find_element_by_xpath(
                "//div[@id='taskProcess']/div[3]/div/div/span[1]").click()
            sleep(1)
            driver.find_element_by_xpath(
                "//div[@class='wf-search-result scrollbar']/div[8]").click()
            driver.find_element_by_id('wf-member-comfirm-btn').click()
            sleep(1)

            driver.find_element_by_id('taskSave').click()
            sleep(1)

            # return page
            driver.find_element_by_xpath(
                "//ul[@id='wf-task-groups']/li[1]").click()
            sleep(3)
Пример #27
0
 def EnterDataAnalysis(self, driver):
     a = WebDriverTools()
     if a.isElementPresent(driver, '#iconList'):
         driver.find_element_by_id("iconList").click()
     else:
         assert 0, "用户登陆后未找到用户菜单!"
     driver.find_element_by_id('btnDataAnalys').click()
     a.waitSpinner(driver, '用户菜单--数据分析')
     time.sleep(2)
    def check(self, driver):
        WebDriverTools.enterModuleByUserMenu(driver, 'btnPointManager', '数据管理',
                                             '#dataManagerCloudMenu')
        sleep(3)
        driver.find_elements_by_css_selector('.pointManagerCloudPointUl')[
            3].find_elements_by_css_selector('li')[-1].click()
        sleep(5)
        lis = driver.find_elements_by_css_selector('#diagnosisFilesUl >li')
        for li in lis:
            if (li.text == 'pageauto'):
                li.find_element_by_tag_name('a').click()
                # driver.execute_script("$('.button.remove').click()")
                driver.execute_script("$('span[title=\"删除\"]').click()")
                sleep(2)
                driver.execute_script(
                    "$('.infoBox-footer >button')[0].click()")
        sleep(5)
        be_len = driver.execute_script(
            "be_len=$('#diagnosisFilesUl >li').length;return be_len;")
        driver.execute_script("$('#diagnosisFileAdd').click()")
        driver.execute_script("$('#import_from_template').click()")
        sleep(3)
        driver.execute_script("$('#templateTreeMenu >li>span')[0].click()")
        sleep(3)
        driver.execute_script("$('#templateTreeMenu >li>ul>li>a')[0].click()")
        sleep(3)
        driver.execute_script("$('#templateImportConfirm').click()")
        driver.execute_script("$(\"#diagnosisModuleName\").val('pageauto')")
        driver.execute_script("$('#diagnosisConfirm').click()")
        sleep(2)
        driver.execute_script("$('.infoBox-footer >button').click()")
        sleep(5)
        af_len = driver.execute_script(
            "af_len=$('#diagnosisFilesUl >li').length;return af_len;")
        af_name = driver.execute_script(
            "be_name=$('#diagnosisFilesUl >li').last().text();return be_name;")
        if (af_len - be_len == 1):
            print('新建诊断页面成功')
        else:
            self.errors.append('新建诊断页面失败')
        if (af_name == 'pageauto'):
            print('编辑诊断页面成功')
        else:
            self.errors.append('编辑诊断页面失败')

        # driver.execute_script("$('.button.remove').click()")
        driver.execute_script("$('span[title=\"删除\"]').click()")
        sleep(2)
        driver.execute_script("$('.infoBox-footer >button')[0].click()")
        sleep(5)
        delete_len = driver.execute_script(
            "delete_len=$('#diagnosisFilesUl >li').length;return delete_len;")
        if (delete_len == be_len):
            print('删除诊断页面成功')
        else:
            self.errors.append('删除诊断页面失败')
Пример #29
0
 def Test(self):
     sleep(2)
     self.errors = []
     driver = self.driver
     # 进入demoEng09导出数据页面
     WebDriverTools.enterProject(driver, "175", "demoEng09", self.errors)
     WebDriverTools.enterModuleByUserMenu(driver, "btnPointManager", "数据管理",
                                          "#dataManagerCloudMenu")
     self.checkexport(driver)
     OtherTools.raiseError(self.errors)
class Case066(unittest.TestCase):
    testCaseID = 'Case066'
    projectName = "175LiverpoolStreet"
    buzName = '检查Diagnosis页面是否正常'
    now = 'None'
    url = "http://%s" % app.config['SERVERIP']
    project = (293, '175LiverpoolStreet')

    def setUp(self):
        self.start = datetime.datetime.now()
        self.startTime = time.strftime("%Y-%m-%d %H:%M:%S",
                                       time.localtime()).split(" ")[-1]
        MemcacheTools.setMemTime(self.testCaseID, {'start': self.startTime})
        lg = LoginTools()
        self.driver = lg.InitialChrome(self.url, self.testCaseID)
        self.driver = lg.login(self.driver)
        self.tools = WebDriverTools()

    def Test(self):
        driver = self.driver
        self.errors = []
        self.tools.enterProject(driver, self.project[0], self.project[1],
                                self.errors)
        sleep(3)
        self.checkDiagnosis(driver)
        OtherTools.raiseError(self.errors)

    #检查Operation Summary目录下的页面
    def checkDiagnosis(self, driver):
        page = ['Diagnosis']
        self.tools.enterPage(driver, page, '#floorCt', self.projectName)
        self.tools.checkNavigation(driver, self.errors, page, 4)
        driver.find_element_by_css_selector('#btnNoticeHistory').click()
        sleep(3)
        historyLog = driver.find_element_by_css_selector('#historyLog')
        self.tools.checkNull(historyLog, self.errors, page, '历史日志')
        historyLog.find_element_by_css_selector('div > button').click()
        sleep(3)
        driver.find_element_by_css_selector('#btnNoticeConfig').click()
        sleep(3)
        diagnosisConfig = driver.find_element_by_css_selector(
            '#diagnosisConfig')
        self.tools.checkNull(diagnosisConfig, self.errors, page, '配置')
        diagnosisConfig.find_element_by_css_selector('div > button').click()

    def tearDown(self):
        self.start = str((datetime.datetime.now() - self.start).seconds)
        self.start = self.start + "s"
        self.now = time.strftime("%Y-%m-%d %H:%M:%S",
                                 time.localtime()).split(" ")[-1]
        self.driver.quit()
        MemcacheTools.setMemTime(self.testCaseID, {
            'start': self.startTime,
            'end': self.now
        })