Example #1
0
	def open_project(self, projectname):
		"""打开工程"""
		w0 = WinControl(self.BECivilWin)
		if w0.exists():
			w0.wait(3)
			m1 = MouseControl()
			m1.click(self.BECivilWin, '', screen_point.系统[0], screen_point.系统[1])
			m1.click(self.BECivilWin, '', screen_point.打开工程[0], screen_point.打开工程[1])
			sleep(3)
			w1 = WinControl("选择工程")
			if w1.exists():
				w1.wait(3)
				w1.setState(3)
				# 输入名字搜索
				m1.click("选择工程", '', 50, 35)
				autoit.send(projectname)
				sleep(5)
				# 打开测试脚本用土建工程
				m1.click(self.BECivilWin, '', 92, 133, clicks=3)
			else:
				raise Exception("未选中选择工程窗口")
			sleep(10)
			# 使视图视角变为俯视视角
			m1.click(self.BECivilWin, '', 440, 440, button='right')
			m1.click(self.BECivilWin, '', 490, 475)
		else:
			raise Exception("未识别BECivil窗口")
Example #2
0
	def upload_project(self, projectname):
		"""上传工程"""
		w0 = WinControl(self.BECivilWin)
		if w0.exists():
			m1 = MouseControl()
			m1.click(self.BECivilWin, '', screen_point.系统[0], screen_point.系统[1])
			m1.click(self.BECivilWin, '', screen_point.上传工程[0], screen_point.上传工程[1])
			w1 = WinControl("打开")
			sleep(4)
			if w1.exists():
				w1.wait(3)
				w1.setState(3)
				# 输入保存上传工程的地址
				m1.click('打开', '', 820, 45)
				w1.controlSetText('[CLASS:Edit; INSTANCE:2]', self.uploadaddress)
				autoit.send("{ENTER}")
				sleep(2)
				w1.controlSetText('[CLASS:Edit; INSTANCE:1]', projectname)
				w1.controlClick('[CLASS:Button; INSTANCE:1]')
				sleep(2)
				w2 = WinControl("上传工程")
				sleep(2)
				if w2.exists():
					w2.wait(3)
					w2.controlClick('[CLASS:Button; INSTANCE:3]')
					sleep(3)
					w3 = WinControl("上传位置")
					if w3.exists():
						w3.wait(3)
						# 选择IM测试
						m1.click(self.BECivilWin, '', 940, 435)
						sleep(1)
						w3.controlClick("[CLASS:Button; INSTANCE:1]")
					else:
						raise Exception('未选中上传位置窗口')
					sleep(1)
					w2.controlClick('[CLASS:Button; INSTANCE:1]')
				else:
					raise Exception('未选中上传工程窗口')
			else:
				raise Exception('未选中打开窗口')
			sleep(22)
			w5 = WinControl("Luban Explorer(Civil)提醒您")
			w5.wait(60)
			if w5.exists():
				pass
			else:
				raise Exception("上传成功提示未显示")
		else:
			raise Exception("未识别BECivil窗口")
Example #3
0
 def state_statistics(self):
     """状态统计"""
     w0 = WinControl(self.BECivilWin)
     if w0.exists():
         w0.wait(3)
         m1 = MouseControl()
         m1.click(self.BECivilWin, '', screen_point.沙盘[0],
                  screen_point.沙盘[1])
         m1.click(self.BECivilWin, '', screen_point.状态统计[0],
                  screen_point.状态统计[1])
         sleep(2)
         w0.controlClick("[CLASS:Button; INSTANCE:24]")
         sleep(2)
         w0.controlClick("[CLASS:Button; INSTANCE:25]")
         sleep(3)
         w1 = WinControl("另存为")
         if w1.exists():
             w1.wait(3)
             w1.setState(3)
             m1.click('另存为', '', 1060, 50)
             autoit.send(self.downloadaddress)
             autoit.send("{ENTER}")
             sleep(2)
             w1.controlClick("[CLASS:Button; INSTANCE:1]")
             sleep(1)
             w2 = WinControl("确认另存为")
             if w2.exists():
                 w2.wait(3)
                 w2.controlClick("[CLASS:Button; INSTANCE:1]")
             else:
                 pass
             sleep(35)
             if w0.exists():
                 w0.wait(3)
                 t = w0.getPos()
                 if t == (832, 438, 1088, 602):
                     pass
                 else:
                     raise Exception('Something went wrong.')
                 w0.controlClick("[CLASS:Button; INSTANCE:2]")
         else:
             raise Exception("未能打开另存为窗口")
     else:
         raise Exception("未识别BECivil窗口")
Example #4
0
    def start_IM(self):
        """启动IM"""

        if WinControl(self.BECivilWin).exists():
            m1 = MouseControl()
            m1.click(self.BECivilWin, '', screen_point.资料[0],
                     screen_point.资料[1])
            sleep(1)
            m1.click(self.BECivilWin, '', screen_point.质检计量[0],
                     screen_point.质检计量[1])
            # 等待IM界面
            w1 = WinControl(self.IMWin)
            w1.wait(30)
            # 关闭筑业升级进程
            if autoit.process_exists("ZY.Downloader.exe"):
                autoit.process_close("ZY.Downloader.exe")
            else:
                pass
            w1.setState(3)
        else:
            print('BECivil未启动,无法启动IM。')
Example #5
0
    def start_BECivli(self):
        """登录BECivil"""

        # 判断屏幕分辨率是否为1920*1080
        if verifySystemMetrics(1920, 1080) == True:
            pass
        else:
            raise Exception("分辨率不为1920*1080,请更改分辨率")

        # 判断Shell、BECivil和IM是否存在,若存在则退出
        processes = [
            ProcessControl(self.IMProcess),
            ProcessControl(self.BECivilProcess),
            ProcessControl(self.ShellProcess)
        ]
        for process in processes:
            if process.exists():
                process.close()

        # 启动软件以及登录
        try:
            autoit.run(self.path)
        except Exception as e:
            print(e)
            print('软件安装路径有误,或者软件安装路径中有中文,\nstart_APP函数中path变量前需要加r!')
        else:
            w1 = WinControl('用户登录')
            w1.wait()
            if w1.exists():
                w1.controlSetText('[CLASS:Edit; INSTANCE:1]', self.username)
                w1.controlSetText('[CLASS:Edit; INSTANCE:2]', self.password)
                w1.controlSetText('[CLASS:Edit; INSTANCE:3]', self.ip)
                w1.controlClick('Button1')
                # 等待BECivil界面
                w2 = WinControl(self.BECivilWin)
                w2.wait(25)
                w2.setState(3)
                sleep(1)
                """
 def open_working_set(self):
     """打开工作集"""
     w0 = WinControl(self.BECivilWin)
     if w0.exists():
         w0.wait(3)
         m1 = MouseControl()
         m1.click(self.BECivilWin, '', screen_point.系统[0],
                  screen_point.系统[1])
         m1.click(self.BECivilWin, '', screen_point.打开工作集[0],
                  screen_point.打开工作集[1])
         sleep(3)
         w1 = WinControl('打开工作集')
         if w1.exists():
             w1.setState(3)
             w1.controlSetText('[CLASS:Edit; INSTANCE:1]', '测试脚本用创建工作集')
             sleep(3)
             # 打开工作集,因为有时候双击会出现打不开的情况,故设置点击数为3
             m1.click('打开工作集', '', 92, 134, clicks=3)
         else:
             raise Exception("未选中打开工作集窗口")
     else:
         raise Exception("未识别BECivil窗口")
Example #7
0
	def local_task(self):
		"""本地任务"""
		w0 = WinControl(self.BECivilWin)
		if w0.exists():
			m1 = MouseControl()
			m1.click(self.BECivilWin, '', screen_point.系统[0], screen_point.系统[1])
			m1.click(self.BECivilWin, '', screen_point.本地任务[0], screen_point.本地任务[1])
			w1 = WinControl("  本机处理任务")
			if w1.exists():
				w1.wait(3)
				w1.setState(3)
				# 历史记录
				m1.click("  本机处理任务", '', 85, 30)
				# 删除此次上传的两条记录
				for i in range(2):
					m1.click("  本机处理任务", '', 50, 90)
					w1.controlClick('Button1')
					if w0.exists():
						w0.waitActive(3)
						# 识别确定删除窗口关联的进程ID
						t = w0.getPos()
						if t == (845, 438, 1075, 602):
							pass
						else:
							raise Exception("未成功删除该任务")
						sleep(1)
						w0.controlClick('Button1')
						sleep(1)
					else:
						raise Exception("未成功删除该任务")
				sleep(1)
				# 关闭本机处理任务
				m1.click("  本机处理任务", '', 1905, 5)
			else:
				raise Exception("未选中本机任务窗口")
		else:
			raise Exception("未识别BECivil窗口")
 def cooperation_management(self):
     """协作管理"""
     w0 = WinControl(self.BECivilWin)
     if w0.exists():
         w0.wait(3)
         m1 = MouseControl()
         m1.click(self.BECivilWin, '', screen_point.协作[0],
                  screen_point.协作[1])
         m1.click(self.BECivilWin, '', screen_point.协作管理[0],
                  screen_point.协作管理[1])
         sleep(15)
         w1 = WinControl('Luban Cooperation')
         if w1.exists():
             w1.wait(3)
             w1.setState(3)
             sleep(2)
             # 确认协作已删除
             m1.click('Luban Cooperation', '', 960, 575)
             sleep(1)
             # 关闭CO
             m1.click('Luban Cooperation', '', 1882, 29)
         else:
             raise Exception("未能打开鲁班协作窗口")
         # 从后台关闭CO
         sleep(3)
         ps = [
             ProcessControl(self.COProcess),
             ProcessControl(self.SuspernsionCtrlProcess)
         ]
         for p in ps:
             if p.exists():
                 p.wait(6)
                 p.close()
             else:
                 print('未找到运行的鲁班协作程序')
     else:
         raise Exception("未识别BECivil窗口")
Example #9
0
    def start_BECivil(self):
        """登录BECivil"""

        # 判断屏幕分辨率是否为1920*1080
        if verifySystemMetrics(1920, 1080) == True:
            pass
        else:
            raise Exception("分辨率不为1920*1080,请更改分辨率")
        sleep(5)

        # 初始化登录环境
        processes = [
            ProcessControl(self.IMProcess),
            ProcessControl(self.BECivilProcess),
            ProcessControl(self.ShellProcess)
        ]
        for process in processes:
            if process.exists():
                process.close()
            else:
                pass

        sleep(2)
        # 启动软件以及登录
        try:
            autoit.run(self.path)
        except Exception as e:
            print(e)
            print('软件安装路径有误,或者软件安装路径中有中文,\nstart_APP函数中path变量前需要加r!')
        else:
            sleep(3)
            w1 = WinControl('用户登录')
            if w1.exists():
                w1.wait()
                w1.controlSetText('[CLASS:Edit; INSTANCE:1]', self.username)
                w1.controlSetText('[CLASS:Edit; INSTANCE:2]', self.password)
                w1.controlSetText('[CLASS:Edit; INSTANCE:3]', self.ip)
                w1.controlClick('Button1')
                sleep(20)
                # 如果检测到升级则进行升级过程,若没有则pass
                w2 = WinControl("Luban Explorer(Civil)版本获取")
                if w2.exists():
                    w2.wait(60)
                    print('>>>>>>>>检测到LubanBECivil正在升级')
                    sleep(60)
                else:
                    pass
                    print('软件未升级')
                sleep(3)
                # 等待BECivil界面
                w3 = WinControl(self.BECivilWin)
                w3.wait(60)
                if w3.exists():
                    #w3.wait(60)
                    sleep(5)
                    w4 = WinControl('启动提示')
                    if w4.exists():
                        w4.wait(3)
                        w4.controlClick('[CLASS:Button; INSTANCE:1]')
                        print('软件弹出了启动提示')
                    else:
                        pass
                    w3.wait(60)
                    w3.setState(3)
                    sleep(15)
                else:
                    raise Exception("未识别BECivil打开的窗口")

                # 检测CO进程并退出
                ps = [
                    ProcessControl(self.COProcess),
                    ProcessControl(self.SuspernsionCtrlProcess)
                ]
                for p in ps:
                    if p.exists():
                        p.wait(6)
                        p.close()
                    else:
                        print("未启动鲁班协作")
            else:
                raise Exception("未打开用户登录窗口")
Example #10
0
    def upload_information(self):
        """上传资料"""
        w0 = WinControl(self.BECivilWin)
        if w0.exists():
            w0.wait(3)
            m1 = MouseControl()
            m1.click(self.BECivilWin, '', screen_point.资料[0],
                     screen_point.资料[1])
            m1.click(self.BECivilWin, '', screen_point.上传资料[0],
                     screen_point.上传资料[1])
            w1 = WinControl('上传资料')
            sleep(3)
            if w1.exists():
                w1.wait(3)
                w1.setState(3)
                '''
				# 因删除上传资料的文件夹在BECivil上是有bug的,服务器说要等到下个版本发版的时候再改,所以新增删除文件夹这一块暂时注掉
				m1.click('上传资料', '', 40, 90, button='right')
				sleep(1)
				m1.click('上传资料', '', 100, 105)
				
				m1.click('上传资料', '', 40, 90)# 点击全部
				sleep(1)
				w1.controlClick('[CLASS:Button; INSTANCE:9]')
				sleep(1)
				w2 = WinControl('文件夹新建')
				if w2.exists():
					w2.wait(3)
					w2.controlSetText('[CLASS:Edit; INSTANCE:1]', '测试脚本用上传文件夹')
					sleep(1)
					w2.controlClick('[CLASS:Button; INSTANCE:1]')
				else:
					raise Exception("未打开新建文件夹窗口")
				'''
                # 点击新建文件夹
                m1.click('上传资料', '', 60, 110)
                sleep(1)
                w1.controlClick('[CLASS:Button; INSTANCE:11]')
                sleep(3)
                w3 = WinControl('授权人员')
                if w3.exists():
                    w3.wait(3)
                    w3.controlSetText('[CLASS:Edit; INSTANCE:1]', 'xushenwei')
                    w3.controlClick('[CLASS:Button; INSTANCE:5]')
                    sleep(1)
                    # 勾选授权人员
                    m1.click('授权人员', '', 870, 420)
                    w3.controlClick('[CLASS:Button; INSTANCE:2]')
                else:
                    raise Exception("未打开授权人员窗口")
                sleep(1)
                # 本地资料
                w1.controlClick('[CLASS:Button; INSTANCE:14]')
                sleep(2)
                w4 = WinControl('打开')
                if w4.exists():
                    w4.wait(3)
                    w4.setState(3)
                    m1.click('打开', '', 970, 50)
                    w4.controlSetText('[CLASS:Edit; INSTANCE:2]',
                                      self.uploadaddress)
                    autoit.send("{ENTER}")
                    w4.controlSetText('[CLASS:Edit; INSTANCE:1]',
                                      r'上传测试资料.txt')
                    sleep(2)
                    w4.controlClick('[CLASS:Button; INSTANCE:1]')
                else:
                    raise Exception("上传资料未成功")
                sleep(4)
                # 关联
                m1.click('上传资料', '', 1800, 110)
                sleep(2)
                w5 = WinControl(' 设置资料信息')
                if w5.exists():
                    w5.wait(3)
                    # 点击标签
                    m1.click(' 设置资料信息', '', 840, 260)
                    w5.controlSetText('[CLASS:ListBox; INSTANCE:1]', '测试脚本用标签')
                    w5.controlClick('[CLASS:Button; INSTANCE:14]')
                    m1.click(' 设置资料信息', '', 790, 335)
                    sleep(1)
                    w5.controlClick('[CLASS:Button; INSTANCE:1]')
                else:
                    raise Exception("未打开关联资料窗口")
                # 查看
                m1.click('上传资料', '', 1840, 110)
                sleep(2)
                w6 = WinControl('上传测试资料.txt - 记事本')
                if w6.exists():
                    w6.wait(3)
                    w6.setState(3)
                    sleep(1)
                    m1.click('上传测试资料.txt - 记事本', '', 1890, 10)
                else:
                    raise Exception('未打开上传的资料')
                '''
				m1.click('上传资料', '', 1880, 110)
				sleep(1)
				if w0.exists():
					w0.wait(3)
					w0.controlClick('[CLASS:Button; INSTANCE:1]')
				else:
					raise Exception("未成功删除上传资料")
				'''
                # 关闭上传资料窗口
                m1.click('上传资料', '', 1905, 10)
            else:
                raise Exception("未打开上传资料窗口")
        else:
            raise Exception('未识别BECivil窗口')
Example #11
0
 def information_management(self):
     """资料管理"""
     w0 = WinControl(self.BECivilWin)
     if w0.exists():
         w0.wait(3)
         m1 = MouseControl()
         m1.click(self.BECivilWin, '', screen_point.资料[0],
                  screen_point.资料[1])
         m1.click(self.BECivilWin, '', screen_point.资料管理[0],
                  screen_point.资料管理[1])
         w1 = WinControl('资料管理')
         sleep(3)
         if w1.exists():
             w1.wait(3)
             w1.setState(3)
             # 关联
             m1.click('资料管理', '', 1695, 160)
             sleep(1)
             w2 = WinControl(' 设置资料信息')
             if w2.exists():
                 w2.wait(3)
                 w2.controlClick('[CLASS:Button; INSTANCE:6]')
                 m1.click(' 设置资料信息', '', 805, 440)
                 sleep(2)
                 w2.controlClick('[CLASS:Button; INSTANCE:1]')
             else:
                 raise Exception('未打开设置资料信息窗口')
             sleep(2)
             w1.setState(3)
             # 反查
             m1.click('资料管理', '', 1785, 160)
             sleep(1)
             if w0.exists():
                 w0.wait(3)
                 t1 = w0.getPos()
                 if t1 == (0, 0, 1920, 1040):
                     pass
                 else:
                     raise Exception('Something went wrong.')
                 sleep(2)
                 # 退出反查
                 m1.click(self.BECivilWin, '', 1100, 490, button='right')
                 sleep(0.5)
                 m1.click(self.BECivilWin, '', 1170, 505)
                 sleep(2)
                 if w1.exists():
                     w1.wait(3)
                     w1.setState(3)
                 else:
                     raise Exception('退出反查失败')
             else:
                 raise Exception('反查失败')
             sleep(2)
             # 下载
             m1.click('资料管理', '', 1835, 160)
             sleep(2)
             w3 = WinControl('另存为')
             if w3.exists():
                 w3.wait(3)
                 m1.click('另存为', '', 1030, 45)
                 w3.controlSetText('[CLASS:Edit; INSTANCE:2]',
                                   self.downloadaddress)
                 sleep(1)
                 w3.controlClick('[CLASS:Button; INSTANCE:1]')
                 sleep(1)
                 w4 = WinControl('确认另存为')
                 if w4.exists():
                     w4.wait(3)
                     w4.controlClick('[CLASS:Button; INSTANCE:1]')
                 else:
                     pass
             else:
                 raise Exception('未打开另存为窗口')
             # 勾选上传资料
             m1.click('资料管理', '', 425, 160)
             sleep(1)
             # 关联
             w1.controlClick('[CLASS:Button; INSTANCE:6]')
             sleep(1)
             if w2.exists():
                 w2.wait(3)
                 w2.controlClick('[CLASS:Button; INSTANCE:3]')
                 sleep(2)
                 w2.controlClick('[CLASS:Button; INSTANCE:1]')
             else:
                 raise Exception('未打开设置资料信息窗口')
             sleep(3)
             w1.setState(3)
             # 勾选上传资料
             m1.click('资料管理', '', 425, 160)
             # 打印
             w1.controlClick('[CLASS:Button; INSTANCE:7]')
             sleep(1)
             w5 = WinControl('打印')
             if w5.exists():
                 w5.wait(3)
                 w5.controlClick('[CLASS:Button; INSTANCE:14]')
             else:
                 raise Exception('未打开打印窗口')
             sleep(3)
             w1.setState(3)
             # 删除
             w1.controlClick('[CLASS:Button; INSTANCE:8]')
             sleep(2)
             if w0.exists():
                 w0.wait(3)
                 t2 = w0.getPos()
                 if t2 == (844, 438, 1076, 602):
                     pass
                 else:
                     raise Exception('Something went wrong.')
                 w0.controlClick('[CLASS:Button; INSTANCE:1]')
             else:
                 raise Exception('删除未成功')
             sleep(3)
             w1.setState(3)
             # 关闭资料管理窗口
             m1.click('资料管理', '', 1905, 10)
         else:
             raise Exception('未打开资料管理窗口')
     else:
         raise Exception('未识别BECivil窗口')
Example #12
0
 def viewing_reports(self):
     """查看报表"""
     w0 = WinControl(self.BECivilWin)
     if w0.exists():
         w0.wait(3)
         m1 = MouseControl()
         m1.click(self.BECivilWin, '', screen_point.数据[0],
                  screen_point.数据[1])
         m1.click(self.BECivilWin, '', screen_point.查看报表[0],
                  screen_point.查看报表[1])
         sleep(2)
         w1 = WinControl('报表(Civil)')
         if w1.exists():
             w1.wait(3)
             # 条件统计
             m1.click('报表(Civil)', '', 40, 70)
             sleep(1)
             w2 = WinControl('条件统计')
             if w2.exists():
                 w2.wait(3)
                 # 勾选全部楼层
                 m1.click('条件统计', '', 740, 410)
                 sleep(1)
                 # 勾选全部构件
                 m1.click('条件统计', '', 975, 410)
                 sleep(1)
                 w2.controlClick("[CLASS:Button; INSTANCE:1]")
             else:
                 raise Exception("未打开条件统计窗口")
             # 选中构件
             m1.click('报表(Civil)', '', 860, 260, clicks=2)
             # 点击反查
             m1.click('报表(Civil)', '', 100, 70)
             sleep(2)
             w3 = WinControl('反查结果')
             if w3.exists():
                 w3.wait(3)
                 sleep(2)
                 w3.controlClick('[CLASS:Button; INSTANCE:3]')
             else:
                 raise Exception("未打开反查结果窗口")
             sleep(1)
             # 打印预览
             m1.click('报表(Civil)', '', 290, 70)
             sleep(2)
             w4 = WinControl('打印预览 - 你的报表标题')
             if w4.exists():
                 w4.wait(3)
                 # 退出打印预览
                 m1.click('打印预览 - 你的报表标题', '', 1890, 10)
             else:
                 raise Exception('未打开打印预览窗口')
             sleep(2)
             # 导出Excel
             m1.click('报表(Civil)', '', 360, 70)
             sleep(2)
             w5 = WinControl('另存为')
             if w5.exists():
                 w5.wait(3)
                 w5.setState(3)
                 m1.click('另存为', '', 860, 45)
                 w5.controlSetText('[CLASS:Edit; INSTANCE:2]',
                                   self.downloadaddress)
                 autoit.send("{ENTER}")
                 sleep(2)
                 w5.controlClick('[CLASS:Button; INSTANCE:1]')
                 sleep(2)
                 w6 = WinControl('确认另存为')
                 if w6.exists():
                     w6.wait(3)
                     w6.controlClick('[CLASS:Button; INSTANCE:1]')
                 else:
                     pass
             else:
                 raise Exception("未打开另存为窗口")
             sleep(15)
             w7 = WinControl('测试脚本用安装工程.YS_清单定额汇总表.xls  [兼容模式] - Excel')
             if w7.exists():
                 w7.wait(3)
                 w7.setState(3)
                 sleep(3)
                 # 关闭自动打开的Excel
                 m1.click('测试脚本用安装工程.YS_清单定额汇总表.xls  [兼容模式] - Excel', '',
                          1905, 12)
             else:
                 raise Exception("未打开Excel")
             sleep(2)
             # 导出PDF
             m1.click('报表(Civil)', '', 435, 70)
             sleep(2)
             w8 = WinControl('另存为')
             if w8.exists():
                 w8.wait(3)
                 w8.setState(3)
                 m1.click('另存为', '', 860, 45)
                 w8.controlSetText('[CLASS:Edit; INSTANCE:2]',
                                   self.downloadaddress)
                 autoit.send("{ENTER}")
                 sleep(2)
                 w5.controlClick('[CLASS:Button; INSTANCE:1]')
                 sleep(2)
                 w9 = WinControl('确认另存为')
                 if w9.exists():
                     w9.wait(3)
                     w9.controlClick('[CLASS:Button; INSTANCE:1]')
                 else:
                     pass
             else:
                 raise Exception("未打开另存为窗口")
             sleep(7)
             w10 = WinControl(
                 '你的报表标题 - 测试脚本用安装工程.YS_清单定额汇总表.pdf - Mozilla Firefox')
             if w10.exists():
                 w10.wait(3)
                 w10.setState(3)
                 sleep(3)
                 # 关闭自动打开的Excel
                 m1.click(
                     '你的报表标题 - 测试脚本用安装工程.YS_清单定额汇总表.pdf - Mozilla Firefox',
                     '', 1893, 7)
                 sleep(2)
                 w11 = WinControl("确认关闭")
                 if w11.exists():
                     w11.wait(3)
                     autoit.send("{ENTER}")
             else:
                 raise Exception("未打开PDF")
             sleep(1)
             # 报表管理
             m1.click('报表(Civil)', '', 500, 70)
             sleep(2)
             w12 = WinControl('报表管理')
             if w12.exists():
                 w12.wait(3)
                 w12.controlClick('[CLASS:Button; INSTANCE:4]')
                 sleep(2)
                 w13 = WinControl('打开')
                 if w13.exists():
                     w13.wait(3)
                     m1.click('打开', '', 1030, 45)
                     w13.controlSetText('[CLASS:Edit; INSTANCE:2]',
                                        self.uploadaddress)
                     sleep(1)
                     autoit.send("{ENTER}")
                     w13.controlSetText('[CLASS:Edit; INSTANCE:1]',
                                        '测试脚本用上传报表.xlsx')
                     sleep(1)
                     w13.controlClick("[CLASS:Button; INSTANCE:1]")
                     sleep(5)
                     w14 = WinControl('上传报表')
                     if w14.exists():
                         w14.wait(3)
                         w14.controlClick('[CLASS:Button; INSTANCE:1]')
                     else:
                         raise Exception('未打开上传报表窗口')
                 else:
                     raise Exception("未打开打开窗口")
                 # 关闭报表管理
                 m1.click('报表管理', '', 1314, 243)
                 sleep(2)
             else:
                 raise Exception('未打开报表管理窗口')
             # 关闭报表窗口
             m1.click('报表(Civil)', '', 1895, 5)
         else:
             raise Exception('未打开报表(Civil)窗口')
     else:
         raise Exception('未识别BECivil窗口')
Example #13
0
	def node_management(self):
		"""节点管理"""
		w0 = WinControl(self.BECivilWin)
		if w0.exists():
			w0.wait(3)
			m1 = MouseControl()
			m1.click(self.BECivilWin, '', screen_point.操作[0], screen_point.操作[1])
			m1.click(self.BECivilWin, '', screen_point.节点管理[0], screen_point.节点管理[1])
			w1 = WinControl('节点管理')
			sleep(1)
			if w1.exists():
				w1.wait(3)
				w1.setState(3)
				# 点击预览
				m1.click('节点管理', '', 1510, 100)
				sleep(2)
				w2 = WinControl('预览窗口 ')
				if w2.exists():
					w2.wait(3)
					w2.setState(3)
					# 关闭预览窗口
					m1.click('预览窗口 ', '', 1910, 10)
				else:
					raise Exception('未打开预览窗口')
				sleep(2)
				# 点击编辑
				m1.click('节点管理', '', 1550, 100)
				sleep(2)
				w3 = WinControl('编辑节点')
				if w3.exists():
					w3.wait(3)
					# 点击节点名称
					m1.click('编辑节点', '', 970, 390, clicks=2)
					autoit.send('新建1')
					# 更改图钉颜色
					m1.click('编辑节点', '', 970, 425)
					sleep(0.5)
					m1.click('编辑节点', '', 970, 490)
					sleep(1)
					# 添加节点备注
					m1.click('编辑节点', '', 970, 520)
					autoit.send('备注123')
					sleep(1)
					w3.controlClick("[CLASS:Button; INSTANCE:1]")
					sleep(2)
					if w0.exists():
						w0.wait(3)
						t1 = w0.getPos()
						if t1 == (862, 438, 1058, 602):
							pass
						else:
							raise Exception('Something went wrong.')
						w0.controlClick('[CLASS:Button; INSTANCE:1]')
					else:
						raise Exception("未成功编辑节点")
				else:
					raise Exception('未打开编辑节点窗口')
				# 点击删除
				m1.click('节点管理', '', 1630, 100)
				sleep(1)
				if w0.exists():
					w0.wait(3)
					t2 = w0.getPos()
					if t2 == (845, 438, 1075, 602):
						pass
					else:
						raise Exception('Something went wrong.')
					w0.controlClick("[CLASS:Button; INSTANCE:1]")
				else:
					raise Exception('未成功删除节点')
				sleep(1)
				# 关闭节点管理窗口
				m1.click('节点管理', '', 1910, 10)
			else:
				raise Exception('未打开节点管理窗口')
		else:
			raise Exception('未识别BECivil窗口')