def component_search(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(2)
			if w1.exists():
				w1.wait(2)
				w1.controlSetText('[CLASS:Edit; INSTANCE:1]', 'TWQ2')
				w1.controlClick('[CLASS:Button; INSTANCE:5]')
				sleep(2)
				w1.controlClick('[CLASS:Button; INSTANCE:1]')
				sleep(2)
				w2 = WinControl('搜索结果')
				if w2.exists():
					w2.wait(3)
					w2.controlClick('[CLASS:Button; INSTANCE:3]')
				else:
					raise Exception("未打开搜索结果窗口")
			else:
				raise Exception("未打开构件搜索窗口")
			sleep(2)
			m1.click(self.BECivilWin, '', screen_point.构件搜索[0], screen_point.构件搜索[1])
		else:
			raise Exception("未识别BECivil窗口")
 def manage_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(2)
         w1 = WinControl('管理工作集')
         if w1.exists():
             w1.wait(3)
             #w1.setState(3)
             w1.controlSetText('[CLASS:Edit; INSTANCE:1]', '测试脚本用创建工作集')
             sleep(3)
             # 选中要删除的工作集
             m1.click('管理工作集', '', 880, 390)
             sleep(2)
             # 点击删除
             m1.click('管理工作集', '', 870, 760)
             sleep(2)
             if w0.exists():
                 sleep(2)
                 t1 = w0.getPos()
                 if t1 == (844, 438, 1076, 602):
                     pass
                 else:
                     raise Exception('Something went wrong.')
                 w0.controlClick('[CLASS:Button; INSTANCE:1]')
                 sleep(3)
                 if w0.exists():
                     t2 = w0.getPos()
                     if t2 == (880, 438, 1040, 602):
                         pass
                     else:
                         raise Exception('Something went wrong.')
                     sleep(2)
                     if w0.exists():
                         t3 = w0.getPos()
                         if t3 == (880, 438, 1040, 602):
                             pass
                         else:
                             raise Exception('Something went wrong.')
                         w0.controlClick('[CLASS:Button; INSTANCE:1]')
                     else:
                         raise Exception('未弹出删除确认框')
                 else:
                     raise Exception('未弹出删除成功选择框')
             else:
                 raise Exception('未弹出删除工作集选择框')
             sleep(2)
             # 关闭管理工作集窗口
             m1.click('管理工作集', '', 1114, 263)
         else:
             raise Exception("未弹出管理工作集窗口")
     else:
         raise Exception("未识别BECivil窗口")
	def add_node(self):
		"""添加钢筋节点"""
		w0 = WinControl(self.BECivilWin)
		if w0.exists():
			w0.wait(3)
			m1 = MouseControl()
			sleep(2)
			# 使视图视角变为俯视视角
			m1.click(self.BECivilWin, '', 440, 440, button='right')
			m1.click(self.BECivilWin, '', 490, 475)
			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)
				# 上传文件
				m1.click('插入节点', '', 970, 360)
				sleep(1)
				w2 = WinControl('打开')
				if w2.exists():
					w2.wait(3)
					m1.click('打开', '', 1000, 50)
					w2.controlSetText('[CLASS:Edit; INSTANCE:2]', self.uploadaddress)
					autoit.send("{ENTER}")
					sleep(1)
					w2.controlSetText('[CLASS:Edit; INSTANCE:1]', '钢筋节点 (2).lbg')
					w2.controlClick('[CLASS:Button; INSTANCE:1]')
				else:
					raise Exception('未打开上传节点文件窗口')
				sleep(2)
				# 详细位置
				m1.click('插入节点', '', 970, 450)
				sleep(1)
				# 选择要插入节点的位置
				m1.click(self.BECivilWin, '', 1050, 504)
				m1.click(self.BECivilWin, '', 1050, 504, button='right')
				sleep(1)
				m1.click(self.BECivilWin, '', 1100, 514)
				sleep(2)
				w1.controlClick('[CLASS:Button; INSTANCE:1]')
				sleep(5)
				if w0.exists():
					w0.wait(3)
					t = w0.getPos()
					if t == (862, 438, 1058, 602):
						pass
					else:
						raise Exception('Something went wrong.')
					w0.controlClick('[CLASS:Button; INSTANCE:1]')
				else:
					raise Exception('节点插入未成功')
			else:
				raise Exception('未打开插入节点窗口')
		else:
			raise Exception('未识别BECivil窗口')
Beispiel #4
0
	def setting(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])
			'''
			m1.click(self.BECivilWin, '', screen_point.设置[0], 140)# 仪器信息
			sleep(1)
			w1 = WinControl('仪器信息')
			if w1.exists():
				w1.wait(3)
				w1.controlClick('[CLASS:Button; INSTANCE:1]')
				sleep(1)
				m1.click('仪器信息', '', 910, 650)
				autoit.send('测试脚本用添加仪器')
				m1.click('仪器信息', '', 1080, 650)
				autoit.send('134652')
				autoit.send("{ENTER}")
				m1.click('仪器信息', '', 1180, 370)# 关闭仪器信息
			else:
				raise Exception('未打开仪器信息窗口')
			sleep(1)
			m1.click(self.BECivilWin, '', screen_point.设置[0], screen_point.设置[1])
			'''
			# 点位图管理
			m1.click(self.BECivilWin, '', screen_point.设置[0], 160)
			sleep(2)
			w2 = WinControl('点位图管理')
			if w2.exists():
				w2.wait(3)
				w2.controlClick("[CLASS:Button; INSTANCE:1]")
				sleep(1)
				# 截图点位图
				m1.click(self.BECivilWin, '', 710, 390, button='right')
				m1.click(self.BECivilWin, '', 660, 405)
				sleep(2)
				w3 = WinControl('点位图命名')
				if w3.exists():
					w3.wait(3)
					w3.controlSetText('[CLASS:Edit; INSTANCE:1]', '测试脚本用点位图')
					sleep(1)
					w3.controlClick('[CLASS:Button; INSTANCE:1]')
				else:
					raise Exception('未打开点位图命名窗口')
				sleep(1)
				# 关闭点位图管理
				m1.click('点位图管理', '', 1336, 183)
			else:
				raise Exception('未打开点位图管理窗口')
		else:
			raise Exception('未识别市政窗口')
Beispiel #5
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窗口")
 def creat_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])
         w1 = WinControl('创建工作集')
         sleep(2)
         if w1.exists():
             w1.wait(3)
             w1.controlSetText('[CLASS:Edit; INSTANCE:1]', '测试脚本用创建工作集')
             w1.controlClick('[CLASS:Button; INSTANCE:1]')
             w2 = WinControl('选择所属项目部')
             sleep(2)
             if w2.exists():
                 # 选择IM测试
                 m1.click('选择所属项目部', '', 850, 385)
                 w2.controlClick('[CLASS:Button; INSTANCE:1]')
             else:
                 raise Exception("未选中选择所属项目部窗口")
             sleep(2)
             # 选中需要创建工作集的两个工程
             m1.click('创建工作集', '', 780, 390)
             m1.click('创建工作集', '', 780, 420)
             w1.controlClick('[CLASS:Button; INSTANCE:3]')
             sleep(2)
             if w0.exists():
                 w0.wait(3)
                 t = w0.getPos()
                 if t == (826, 438, 1094, 602):
                     pass
                 else:
                     raise Exception('未弹出打开工作集选择框')
                 sleep(1)
                 w0.controlClick('[CLASS:Button; INSTANCE:2]')
             else:
                 raise Exception('未弹出打开工作集选择框')
         else:
             raise Exception("未选中创建工作集窗口")
     else:
         raise Exception("未识别BECivil窗口")
 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窗口")
Beispiel #8
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)
                """
Beispiel #9
0
 def upload_picture(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(1)
         w1 = WinControl('打开')
         if w1.exists():
             w1.wait(3)
             m1.click('打开', '', 1110, 45)
             sleep(1)
             w1.controlSetText('[CLASS:Edit; INSTANCE:2]',
                               self.uploadaddress)
             autoit.send("{ENTER}")
             sleep(1)
             w1.controlSetText('[CLASS:Edit; INSTANCE:1]', r'picture1.jpg')
             sleep(1)
             w1.controlClick("[CLASS:Button; INSTANCE:1]")
             sleep(3)
             if w0.exists():
                 w0.wait(3)
                 t = w0.getPos()
                 if t == (874, 438, 1046, 602):
                     pass
                 else:
                     raise Exception('Something went wrong.')
                 w0.controlClick("[CLASS:Button; INSTANCE:1]")
             else:
                 raise Exception("未弹出上传成功窗口")
         else:
             raise Exception("未弹出打开窗口")
     else:
         raise Exception("未识别BECivil窗口")
	def export_the_qr_code(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])
			# 选中需要导出二维码的构件
			m1.click(self.BECivilWin, '', 810, 500)
			# 右键导出
			m1.click(self.BECivilWin, '', 810, 500, button='right')
			m1.click(self.BECivilWin, '', 730, 510)
			sleep(2)
			w1 = WinControl('选择文件夹')
			if w1.exists():
				w1.wait(3)
				w1.controlSetText('[CLASS:Edit; INSTANCE:1]', self.downloadaddress + '\二维码下载')
				sleep(1)
				w1.controlClick('[CLASS:Button; INSTANCE:1]')
			else:
				raise Exception("未打开选择文件夹窗口")
			sleep(3)
			if w0.exists():
				w0.wait(3)
				t = w0.getPos()
				if t == (862, 438, 1058, 602):
					pass
				else:
					raise Exception('Something went wrong.')
				sleep(1)
				w0.controlClick('[CLASS:Button; INSTANCE:1]')
			else:
				raise Exception("未弹出导出二维码成功窗口")
		else:
			raise Exception("未识别BECivil窗口")
Beispiel #11
0
	def measure_report(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(1)
			# 创建报告
			m1.click(self.BECivilWin, '', 1190, 270)
			sleep(1)
			w1 = WinControl("新建报告")
			if w1.exists():
				w1.wait(3)
				# 报告名称
				m1.click('新建报告', '', 980, 400)
				autoit.send('测试脚本用报告')
				# 期号
				m1.click('新建报告', '', 980, 440)
				autoit.send('1')
				# 编号
				m1.click('新建报告', '', 980, 480)
				autoit.send('123456')
				# 承包单位
				m1.click('新建报告', '', 980, 570)
				autoit.send('测试脚本用承包单位')
				# 监理单位
				m1.click('新建报告', '', 980, 615)
				autoit.send('测试脚本用监理单位')
				sleep(1)
				w1.controlClick('[CLASS:Button; INSTANCE:1]')
			else:
				raise Exception('未打开新建报告窗口')
			# 点击名称
			m1.click(self.BECivilWin, '', 1320, 340)
			sleep(2)
			w2 = WinControl("表单列表")
			if w2.exists():
				w2.wait(3)
				w2.controlClick("[CLASS:Button; INSTANCE:1]")
				sleep(1)
				MissionFunctions().add_form()
				sleep(1)
				w2.controlClick("[CLASS:Button; INSTANCE:1]")
				sleep(1)
				MissionFunctions().add_form(565, '脚本测试用监测成果分析报告')
				m1.click('表单列表', '', 1260, 235)
			else:
				raise Exception('未打开表单列表窗口')
			# 点击编辑
			m1.click(self.BECivilWin, '', 1800, 340)
			sleep(1)
			w3 = WinControl("编辑报告")
			if w3.exists():
				w3.wait(3)
				m1.click('编辑报告', '', 960, 400)
				autoit.send('测试脚本用报告更改')
				sleep(1)
				w3.controlClick("[CLASS:Button; INSTANCE:1]")
			else:
				raise Exception("未打开编辑报告窗口")
			# 点击导出
			m1.click(self.BECivilWin, '', 1860, 340)
			sleep(1)
			w4 = WinControl('另存为')
			if w4.exists():
				w4.wait(3)
				m1.click('另存为', '', 1030, 45)
				w4.controlSetText("[CLASS:Edit; INSTANCE:2]", self.downloadaddress)
				sleep(1)
				w4.controlClick('[CLASS:Button; INSTANCE:1]')
				sleep(1)
				w5 = WinControl('确认另存为')
				if w5.exists():
					w5.wait(3)
					w5.controlClick("[CLASS:Button; INSTANCE:1]")
				else:
					pass
				sleep(2)
				if w0.exists():
					w0.wait(3)
					t1 = w0.getPos()
					if t1 == (845, 438, 1075, 602):
						pass
					else:
						raise Exception('Something went wrong.')
					w0.controlClick("[CLASS:Button; INSTANCE:2]")
				else:
					pass
			else:
				raise Exception('未成功导出报告')
			sleep(2)
			# 全部勾选报告
			m1.click(self.BECivilWin, '', 1172, 340)
			sleep(1)
			# 删除
			m1.click(self.BECivilWin, '', 1290, 270)
			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(self.BECivilWin, '', screen_point.监测报告[0], screen_point.监测报告[1])
		else:
			raise Exception('未识别市政窗口')
Beispiel #12
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("未打开用户登录窗口")
Beispiel #13
0
 def sand_table_pattern(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('欢迎使用沙盘功能')
         if w1.exists():
             w1.wait(3)
             w1.controlClick('[CLASS:Button; INSTANCE:3]')
             sleep(1)
             # 设置开工和竣工时间
             m1.click('欢迎使用沙盘功能', '', 890, 640)
             sleep(3)
             w2 = WinControl('工程时间')
             if w2.exists():
                 w2.wait(3)
                 w2.controlClick('[CLASS:Button; INSTANCE:1]')
             else:
                 raise Exception('未能打开工程时间窗口')
             sleep(1)
             w1.controlClick('[CLASS:Button; INSTANCE:3]')
             sleep(2)
             # 设置监控服务
             m1.click('欢迎使用沙盘功能', '', 830, 640)
             sleep(3)
             w3 = WinControl('第三方监控服务设置')
             if w3.exists():
                 w3.wait(3)
                 # 选择对接平台
                 m1.click('第三方监控服务设置', '', 950, 460)
                 m1.click('第三方监控服务设置', '', 950, 480)
                 w3.controlSetText('[CLASS:Edit; INSTANCE:1]',
                                   self.messgae1)
                 w3.controlSetText('[CLASS:Edit; INSTANCE:2]',
                                   self.messgae2)
                 w3.controlSetText('[CLASS:Edit; INSTANCE:3]',
                                   self.messgae3)
                 w3.controlSetText('[CLASS:Edit; INSTANCE:4]',
                                   self.messgae4)
                 sleep(1)
                 w3.controlClick('[CLASS:Button; INSTANCE:2]')
                 sleep(12)
                 if w0.exists():
                     w0.wait(3)
                     t = w0.getPos()
                     if t == (868, 438, 1052, 602):
                         pass
                     else:
                         raise Exception('Something went wrong.')
                     w0.controlClick('[CLASS:Button; INSTANCE:1]')
                 else:
                     raise Exception('未能成功设置监控服务')
                 w1.controlClick('[CLASS:Button; INSTANCE:3]')
                 sleep(1)
                 w1.controlClick('[CLASS:Button; INSTANCE:3]')
                 sleep(1)
                 w1.controlClick('[CLASS:Button; INSTANCE:3]')
                 sleep(1)
                 w1.controlClick('[CLASS:Button; INSTANCE:3]')
             else:
                 raise Exception('未能打开第三方监控服务设置')
         else:
             raise Exception('未能打开欢迎使用沙盘功能')
     else:
         raise Exception("未识别BECivil窗口")
Beispiel #14
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窗口')
Beispiel #15
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窗口')
Beispiel #16
0
	def measure_point_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(1)
			# 无法识别测点列表窗口
			# 添加
			m1.click(self.BECivilWin, '', 1185, 270)
			sleep(1)
			w1 = WinControl('新建测点')
			if w1.exists():
				w1.wait(3)
				# 选择深层位移
				m1.click('新建测点', '', 980, 445)
				sleep(1)
				m1.click('新建测点', '', 980, 515)
				sleep(1)
				# 测点名称
				m1.click('新建测点', '', 980, 480)
				autoit.send('测点名称123')
				sleep(1)
				# 选择位置
				m1.click('新建测点', '', 850, 520)
				sleep(1)
				m1.click(self.BECivilWin, '', 750, 620)
				m1.click(self.BECivilWin, '', 750, 620, button='right')
				m1.click(self.BECivilWin, '', 710, 635)
				sleep(1)
				w1.controlClick("[CLASS:Button; INSTANCE:1]")
			else:
				raise Exception('未打开新建测点窗口')
			sleep(2)
			# 数据读取
			m1.click(self.BECivilWin, '', 1380, 270)
			sleep(1)
			w2 = WinControl("打开")
			if w2.exists():
				w2.wait(3)
				m1.click('打开', '', 940, 45)
				w2.controlSetText('[CLASS:Edit; INSTANCE:2]', self.uploadaddress)
				autoit.send("{ENTER}")
				sleep(1)
				w2.controlSetText('[CLASS:Edit; INSTANCE:1]', '测点数据读取模板.xlsx')
				w2.controlClick('[CLASS:Button; INSTANCE:1]')
				sleep(2)
				w3 = WinControl('数据读取设置')
				if w3.exists():
					w3.wait(3)
					# 数据表名
					m1.click('数据读取设置', '', 980, 435)
					sleep(1)
					# 深层位移
					m1.click('数据读取设置', '', 980, 455)
					sleep(1)
					# 数据类型
					m1.click('数据读取设置', '', 980, 470)
					sleep(1)
					# 深层位移
					m1.click('数据读取设置', '', 980, 597)
					sleep(1)
					w3.controlClick('[CLASS:Button; INSTANCE:1]')
				else:
					raise Exception('未打开数据读取设置窗口')
			else:
				raise Exception('未识别打开窗口')
			sleep(1)
			# 关闭测点管理
			m1.click(self.BECivilWin, '', screen_point.测点管理[0], screen_point.测点管理[1])
		else:
			raise Exception("未识别市政窗口")
Beispiel #17
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窗口')
Beispiel #18
0
 def status_manage(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.wait(3)
             # 添加新节点
             m1.click('状态管理', '', 750, 300)
             sleep(1)
             # 添加三个新状态
             m1.click('状态管理', '', 810, 300, clicks=3)
             # 使最后一个状态更名为重命名状态1
             autoit.send("重命名状态1")
             autoit.send("{ENTER}")
             sleep(1)
             # 选中新状态
             m1.click('状态管理', '', 830, 730)
             sleep(1)
             # 复制状态
             m1.click('状态管理', '', 830, 730, button='right')
             m1.click('状态管理', '', 890, 785)
             m1.click('状态管理', '', 830, 730, button='right')
             m1.click('状态管理', '', 890, 810)
             sleep(1)
             # 重命名
             m1.click('状态管理', '', 910, 300)
             autoit.send("重命名状态2")
             autoit.send("{ENTER}")
             sleep(1)
             # 上移
             m1.click('状态管理', '', 960, 300)
             sleep(1)
             # 下移
             m1.click('状态管理', '', 1000, 300)
             sleep(1)
             # 升级
             m1.click('状态管理', '', 1045, 300)
             sleep(1)
             # 降级
             m1.click('状态管理', '', 1090, 300)
             sleep(1)
             # 删除
             m1.click('状态管理', '', 860, 300)
             sleep(1)
             if w0.exists():
                 w0.wait(3)
                 t1 = w0.getPos()
                 if t1 == (791, 411, 1127, 628):
                     pass
                 else:
                     raise Exception('Something went wrong.')
                 w0.controlClick("[CLASS:Button; INSTANCE:1]")
             else:
                 raise Exception("未弹出确认删除窗口")
             # 上传
             m1.click('状态管理', '', 1180, 300)
             sleep(2)
             w2 = WinControl('另存为EDS模板')
             if w2.exists():
                 w2.wait()
                 w2.controlSetText('[CLASS:Edit; INSTANCE:1]', '测试脚本用新增模板')
                 w2.controlClick('[CLASS:Button; INSTANCE:2]')
                 sleep(2)
                 if w0.exists():
                     w0.wait(3)
                     t2 = w0.getPos()
                     if t2 == (835, 436, 1084, 602):
                         pass
                     else:
                         raise Exception('Something went wrong.')
                     w0.controlClick("[CLASS:Button; INSTANCE:1]")
                 else:
                     pass
             else:
                 raise Exception("未打开另存模板窗口")
             sleep(2)
             # 下载
             m1.click('状态管理', '', 1135, 300)
             sleep(5)
             w3 = WinControl('选择EDS模板')
             if w3.exists():
                 w3.wait(3)
                 w3.controlClick("[CLASS:Button; INSTANCE:2]")
             else:
                 raise Exception("未打开选择EDS模板窗口")
             sleep(2)
             w1.controlClick("[CLASS:Button; INSTANCE:1]")
         else:
             raise Exception("未打开状态管理窗口")
     else:
         raise Exception("未识别BECivil窗口")