def setUpClass(self): self.dr = PySelenium() loginGo(self.dr).click_login()#登录系统 self.menu_page=leftPage(self.dr) #左边菜单元素 globals()['login_name']=self.menu_page.get_login_name() #登录用户名 globals()['node_name']=self.menu_page.get_node_name() #登录用户所属机构名 log.info('登录系统成功,开始测试...')
class test_login(unittest.TestCase): '''登录页''' #装载测试数据 execlName=os.path.join(getcwd.get_cwd(),"data\\KS_login_account.xlsx") caseData_excel = ExcelUtil(execlName, 'Sheet1') log.info('装载测试数据成功') #测试用例类级的方法,在所有测试用例执行之前执行 @classmethod def setUpClass(self): self.dr = PySelenium() self.page=pageElements(self.dr) self.page.open_browser() log.info('测试系统登录功能') #测试用例类级的方法,在所有测试用例执行完成后执行 @classmethod def tearDownClass(self): self.dr.quit() log.info('登录功能测试完成') def setUp(self): print('case_id: ',self.id(),'开始执行<br />') #固定格式,用于报表生成 self.page.winLocation() def tearDown(self): '''测试报错或者用例不通过则截图''' if not testPass(self): print('截图: ',self.dr.getScreenshot( self.id()),'<br />')#固定格式,用于报表生成 print('结束执行<br />')#固定格式,用于报表生成 @ddt.data(*caseData_excel.next()) def test_login(self,test_data): '''测试登录功能''' login_name=test_data['login_name'] #登录账号 password=test_data['password'] #密码 desc=test_data['desc'] #测试描述 print('测试用例描述:%s' %(desc)) print('账号:%s' %(login_name)) print('密码:%s' %(password)) self.page.input_login_name(login_name) self.page.input_password(password) self.page.input_verify_code() self.page.click_login_type() self.page.click_login_button() self.assertEqual(self.page.get_page_title(),'行业信息概览')
def setUpClass(self): self.dr = PySelenium() loginGo(self.dr).click_login() #登录系统 log.info('登录系统成功,开始测试...')
class place_approve(unittest.TestCase): '''企业备案 审核''' @classmethod def setUpClass(self): self.dr = PySelenium() loginGo(self.dr).click_login() #登录系统 log.info('登录系统成功,开始测试...') @classmethod def tearDownClass(self): #self.dr.quit() #关闭浏览器 log.info('测试完成,退出系统,关闭浏览器') def setUp(self): print('case_id: ', self.id(), '开始执行<br />') #固定格式,用于报表生成 def tearDown(self): '''测试报错或者用例不通过则截图''' if not testPass(self): print('截图: ', self.dr.getScreenshot(self.id()), '<br />') #固定格式,用于报表生成 print('结束执行<br />') #固定格式,用于报表生成 @unittest.Myskip def test_01_select_function(self): '''选择左边菜单功能''' self.page = leftPage(self.dr) #左边菜单元素 self.assertEqual('行业信息概览', self.page.get_page_title(), '页面标题不一致') self.page.go_approve_place() #点击左边菜单的 人员审核 globals()['login_name'] = self.page.get_login_name() #登录用户名 globals()['node_name'] = self.page.get_node_name() #登录用户所属机构名 self.dr.switchFrame(MAIN_IFRAME) #指向iframe页,中间数据展示位置 @unittest.skip('不执行退出功能') def test_99_exit(self): '''点击退出功能''' self.dr.switchFrameOut() #指向iframe上一级,左边菜单位置 self.page = leftPage(self.dr) #左边菜单元素 self.page.go_login_out() #退出登录 self.assertIn('登录', self.page.get_page_title(), '页面标题不一致') @unittest.Myskip def test_02_select_place(self): '''选择待审核企业列表中的第一条数据进行审核''' self.page = placeHome(self.dr) #企业备案引导首页 元素 self.assertEqual('企业备案审核', self.page.get_page_title(), '页面标题不一致') self.dr.waitSleep(2) table_data = self.page.get_table_data() # 获取查询结果table内的所有数据 if int(len(table_data)) < 2: self.assertTrue(1 == 2, '企业备案审核未执行,没有发现待审核企业备案') for i in range(len(table_data)): if int(len(table_data[i]) > 1): place_name = table_data[i][2] approve_type = table_data[i][5] self.page.select_approve_button(i) break '''填写审核信息''' self.dr.waitSleep(1) self.pageAp = placeApprove(self.dr) #审核信息填写页面 self.assertEqual('审核', self.pageAp.get_page_title(), '页面标题不一致') self.pageAp.select_approve_pass() #选择审核通过 self.pageAp.select_approve_finish() #选择审核完成 #self.pageAp.select_approve_result('通过') #self.pageAp.select_processing_mode('审核完成') self.pageAp.input_approve_comments(rdData.getGBK2312(30)) #输入审核意见 self.pageAp.click_approve_button() #点击审核确认按钮 if self.pageAp.approve_success_name_is_enabled(): self.assertTrue(1 == 1, '企业备案审核成功') log.info("企业备案审核成功,操作员:%s,%s;审核信息:%s,%s" % (globals()['node_name'], globals()['login_name'], place_name, approve_type)) else: self.assertTrue(1 == 2, "企业备案审核失败:%s" % self.pageAp.get_fail_text())
class Industry_Search(unittest.TestCase): '''企业变更''' #装载测试数据 execlName=os.path.join(getcwd.get_cwd(),"data\\place_modify_data.xlsx") caseData_excel = ExcelUtil(execlName, 'Sheet1') log.info('装载测试数据成功') @classmethod def setUpClass(self): self.dr = PySelenium() loginGo(self.dr).click_login()#登录系统 self.menu_page=leftPage(self.dr) #左边菜单元素 globals()['login_name']=self.menu_page.get_login_name() #登录用户名 globals()['node_name']=self.menu_page.get_node_name() #登录用户所属机构名 log.info('登录系统成功,开始测试...') @classmethod def tearDownClass(self): #self.menu_page.go_login_out() #退出登录 #self.dr.quit() #关闭浏览器 log.info('测试完成,退出系统,关闭浏览器') def setUp(self): print('case_id: ',self.id(),'开始执行<br />') #固定格式,用于报表生成 self.menu_page.go_place_modify() #点击菜单到 企业变更 功能链接 self.dr.switchFrame(MAIN_IFRAME) #指向iframe页,中间数据展示位置 def tearDown(self): '''测试报错或者用例不通过则截图''' if not testPass(self): print('截图: ',self.dr.getScreenshot( self.id()),'<br />')#固定格式,用于报表生成 print('结束执行<br />')#固定格式,用于报表生成 self.dr.switchFrameOut() #指向iframe上一级,左边菜单位置 @ddt.data(*caseData_excel.next()) def test_index(self,test_data): self.page=centerPage(self.dr) '''企业查询''' search_dict={ 'place_name':test_data['place_name'].strip(), #企业名称 'industry_name':test_data['industry_name'].strip(), #所属行业 'region_name':test_data['region_name'].strip(), #管辖机构 'place_code':test_data['place_name'].strip(),#统一社会信用代码/注册号 #'region_police':test_data['region_police'].strip(), #责任民警 'person_name':test_data['person_name'].strip(), #法人姓名 #'person_id_card':test_data['person_id_card'].strip(), #法人证件号码 'place_type':test_data['place_type'].strip(), #企业类型 'operating_state':test_data['operating_state'].strip(), #营业状态 #'opening_date_from':test_data['opening_date_from'].strip(), #开业时间-开始 #'opening_date_to':test_data['opening_date_to'].strip() #开业时间-结束 } print('查询条件:',search_dict) self.page.input_place_name(search_dict['place_name'])#输入企业名称 self.page.select_industry(search_dict['industry_name'])#所属行业 if search_dict['region_name']!='': self.page.select_region_first_name(search_dict['region_name'])#管辖机构 #self.page.input_region_police(search_dict['region_police']) #责任民警/编号 self.page.input_person_name(search_dict['person_name'])#法人姓名 #self.page.input_person_id_card(search_dict['person_id_card'])#法人身份证 self.page.select_input_place_type(search_dict['place_type'])#企业类型 self.page.select_operating_state(search_dict['operating_state'])#经营状态 #self.page.input_opening_date_from(search_dict['opening_date_from']) #开业时间-开始 #self.page.input_opening_date_to(search_dict['opening_date_to'])#开业时间-结束 self.page.click_search_button() self.dr.waitSleep(2) '''断言查询结果: 1、只验证查询结果第一页数据,只对有查询结果的数据进行准确性验证 2、根据显示数据,只做部分查询条件验证: 场所名称、所属行业、企业法人、企业类型、经营状态、统一社会信用代码/注册号 3、其他查询条件犹豫没有对应结果显示在页面,暂时无法验证 4、查询结果中只要有一条数据验证失败,则这条case不通过,只有全部数据验证通过,这条case才通过 5、这里只验证查询出来的数据是否正确,没有查询到数据的情况无法验证是否正确 ''' if search_dict['place_name']=='' and search_dict['industry_name']=='' and search_dict['person_name']=='' \ and search_dict['place_type']=='所有' and search_dict['region_name']=='' and search_dict['operating_state']=='所有' \ and search_dict['place_code']=='' : self.assertTrue(1==2,'查询条件(场所名称、所属行业、企业法人、企业类型、管辖机构、经营状态、统一社会信用代码/注册号)为空,不做变更操作!') table_data=self.page.get_table_data() # 获取查询结果table内的所有数据 #print(len(table_data),table_data) okFlag = -1 for i in range(len(table_data)): #print(search_dict['place_name'],industry_name,': ',table_data[i]) if int(len(table_data[i])>1): okFlag = 0 if (table_data[i][0].lower().find(search_dict['place_name'].lower()) != -1 and len(search_dict['place_name']) >0) \ or ( table_data[i][3].lower() == search_dict['place_code'].lower() and search_dict['place_code']!=''):#验证输入了企业名称时,查询结果企业名称(或者统一社会信用代码/注册号)包含输入的企业名称信息 okFlag=1 if search_dict['industry_name'].lower().find(table_data[i][1].lower()) != -1 and len(search_dict['industry_name'])>0:#验证输入了所属行业时,查询结果包含输入的所属行业信息 okFlag=1 if search_dict['place_type']==table_data[i][2] and search_dict['place_type']!='所有' :#验证输入了企业类型时,查询结果等于输入的企业类型信息 okFlag=1 if table_data[i][4].lower().find(search_dict['person_name'].lower()) != -1 and len(search_dict['person_name'])>0:#验证输入了企业法人时,查询结果包含输入的企业法人信息 okFlag=1 if table_data[i][5].lower().find(search_dict['region_name'].lower()) != -1 and search_dict['region_name']!='':#验证输入了管辖机构时,查询结果包含输入的管辖机构信息,不包含该管辖机构的下属机构 okFlag=1 if search_dict['operating_state'] == table_data[i][6] and search_dict['operating_state']!='所有' :#验证输入了经营状态时,查询结果等于输入的经营状态信息 okFlag=1 if okFlag == 0: self.assertTrue(1==2,'查询结果验证有错!'+str(table_data[i])) if okFlag == -1: self.assertTrue(1==2,'查询结果为空,不做变更操作!') #变更,只选取列表的第一条数据 for i in range(len(table_data)): if int(len(table_data[i])>1 ): self.page.select_modify_button(i)#选择点击变更按钮 self.dr.waitSleep(3) self.dr.mouseScroll(-1000)#滚动鼠标,到页面底部 self.page.click_second_button()#点击填写基本信息页面,下一步按钮 self.dr.waitSleep(3) self.dr.mouseScroll(-1000)#滚动鼠标,到页面底部 self.page.click_third_button()#点击填写附加信息页面,下一步按钮 self.dr.waitSleep(2) self.dr.mouseScroll(-1000)#滚动鼠标,到页面底部 self.page.click_save_button()#点击填写设备信息页面,保存按钮 if self.page.success_name_is_enabled(): self.assertTrue(1==1,'企业变更成功') log.info("企业变更成功,操作员:%s,%s;注销信息:%s,%s,%s,%s" %(globals()['node_name'],globals()['login_name'],table_data[i][0],table_data[i][2],table_data[i][3],table_data[i][4])) else: self.assertTrue(1==2,"企业变更失败:%s"%self.page.get_fail_text()) break
class Industry_Search(unittest.TestCase): '''人员变更''' #装载测试数据 execlName = os.path.join(getcwd.get_cwd(), "data\\person_modify_data.xlsx") caseData_excel = ExcelUtil(execlName, 'Sheet1') log.info('装载测试数据成功') @classmethod def setUpClass(self): self.dr = PySelenium() loginGo(self.dr).click_login() #登录系统 self.menu_page = leftPage(self.dr) #左边菜单元素 globals()['login_name'] = self.menu_page.get_login_name() #登录用户名 globals()['node_name'] = self.menu_page.get_node_name() #登录用户所属机构名 log.info('登录系统成功,开始测试...') @classmethod def tearDownClass(self): #self.menu_page.go_login_out() #退出登录 #self.dr.quit() #关闭浏览器 log.info('测试完成,退出系统,关闭浏览器') def setUp(self): print('case_id: ', self.id(), '开始执行<br />') #固定格式,用于报表生成 self.menu_page.go_person_modify() #点击菜单到 人员变更 功能链接 self.dr.switchFrame(MAIN_IFRAME) #指向iframe页,中间数据展示位置 def tearDown(self): '''测试报错或者用例不通过则截图''' if not testPass(self): print('截图: ', self.dr.getScreenshot(self.id()), '<br />') #固定格式,用于报表生成 print('结束执行<br />') #固定格式,用于报表生成 self.dr.switchFrameOut() #指向iframe上一级,左边菜单位置 @ddt.data(*caseData_excel.next()) def test_index(self, test_data): self.page = centerPage(self.dr) '''人员查询''' search_dict = { 'place_name': test_data['place_name'].strip(), #所属企业名称 'industry_name': test_data['industry_name'].strip(), #所属行业 'region_name': globals()['node_name'].strip(), #所属辖区 'person_name': test_data['person_name'].strip(), #从业人员姓名 'person_sex': test_data['person_sex'].strip(), #从业人员性别 'person_id_card': test_data['person_id_card'].strip(), #从业人员证件号码 'phone_number': test_data['phone_number'].strip(), #联系电话 'apply_date_from': test_data['apply_date_from'].strip(), #备案时间-开始 'apply_date_to': test_data['apply_date_to'].strip() #备案时间-结束 } print('查询条件:', search_dict) self.page.input_place_name(search_dict['place_name']) #所属企业名称 self.page.select_industry(search_dict['industry_name']) #所属行业 #self.page.select_region_name(search_dict['region_name'])#所属辖区 self.page.input_person_name(search_dict['person_name']) #从业人员姓名 self.page.select_person_sex(search_dict['person_sex']) #从业人员性别 self.page.input_person_id_card( search_dict['person_id_card']) #从业人员证件号码 self.page.input_phone_number(search_dict['phone_number']) #联系电话 self.page.input_apply_date_from( search_dict['apply_date_from']) #备案时间-开始 self.page.input_apply_date_to(search_dict['apply_date_to']) #备案时间-结束 self.page.click_search_button() self.dr.waitSleep(2) '''断言查询结果: 1、只验证查询结果第一页数据,只对有查询结果的数据进行准确性验证 2、根据显示数据,只做部分查询条件验证:所属企业,所属行业,人员姓名,性别,证件号码,联系电话,备案时间 3、其他查询条件犹豫没有对应结果显示在页面,暂时无法验证 4、查询结果中只要有一条数据验证失败,则这条case不通过,只有全部数据验证通过,这条case才通过 5、这里只验证查询出来的数据是否正确,没有查询到数据的情况无法验证是否正确 ''' if search_dict['place_name']=='' and search_dict['industry_name']=='' and search_dict['person_name']=='' \ and search_dict['person_sex']=='' and search_dict['person_id_card']=='' and search_dict['phone_number']=='' \ and search_dict['apply_date_from']=='' and search_dict['apply_date_to']=='': self.assertTrue( 1 == 2, '查询条件(所属企业,所属行业,人员姓名,性别,证件号码,联系电话,备案时间)为空,不做变更操作!') table_data = self.page.get_table_data() # 获取查询结果table内的所有数据 #print(len(table_data),table_data) okFlag = -1 for i in range(len(table_data)): #print(search_dict['place_name'],industry_name,': ',table_data[i]) if int(len(table_data[i]) > 1): okFlag = 0 if table_data[i][0].lower().find( search_dict['person_name'].lower()) != -1 and len( search_dict['person_name'] ) > 0: #验证输入了从业人员姓名时,查询结果包含输入的从业人员姓名信息 okFlag = 1 if search_dict['person_sex'].lower() == table_data[i][1].lower( ) and len(search_dict['person_sex'] ) > 0: #验证输入了从业人员性别时,查询结果等于输入的从业人员性别 okFlag = 1 if search_dict['person_id_card'].lower( ) == table_data[i][2].lower() and len( search_dict['person_id_card'] ) > 0: #验证输入了从业人员证件号码时,查询结果等于输入的从业人员证件号码 okFlag = 1 if table_data[i][3].lower( ) == search_dict['phone_number'].lower() and len( search_dict['phone_number'] ) > 0: #验证输入了联系电话时,查询结果等于输入的联系电话信息 okFlag = 1 if table_data[i][4].lower().find( search_dict['place_name'].lower()) != -1 and len( search_dict['place_name'] ) > 0: #验证输入了企业名称时,查询结果包含输入的企业名称信息 okFlag = 1 if search_dict['industry_name'].lower().find( table_data[i][5].lower()) != -1 and len( search_dict['industry_name'] ) > 0: #验证输入了所属行业时,查询结果包含输入的所属行业信息 okFlag = 1 if table_data[i][6].lower( ) >= search_dict['apply_date_from'].lower() and len( search_dict['apply_date_from'] ) > 0: #验证输入了备案开始时间时,查询结果》=备案开始时间 okFlag = 1 if table_data[i][6].lower( ) <= search_dict['apply_date_to'].lower() and len( search_dict['apply_date_to'] ) > 0: #验证输入了备案结束时间时,查询结果《=备案结束时间 okFlag = 1 if okFlag == 0: self.assertTrue(1 == 2, '查询结果有错!' + str(table_data[i])) if okFlag == -1: self.assertTrue(1 == 2, '查询结果为空,不做变更操作!') #变更,只变更列表的第一条数据 for i in range(len(table_data)): if int(len(table_data[i]) > 1): self.page.select_modify_button(i) #选择点击变更按钮 self.dr.waitSleep(2) self.dr.mouseScroll(-1000) #滚动鼠标,到页面底部 self.page.click_save_button() #点击人员信息页面,保存按钮 if self.page.success_name_is_enabled(): self.assertTrue(1 == 1, '人员变更成功') log.info("人员变更成功,操作员:%s,%s;变更信息:%s,%s,%s,%s" % (globals()['node_name'], globals()['login_name'], table_data[i][0], table_data[i][2], table_data[i][3], table_data[i][4])) else: self.assertTrue(1 == 2, "人员变更失败:%s" % self.page.get_fail_text()) break
def setUpClass(self): self.dr = PySelenium() self.dr.openUrl('https://lbs.amap.com/console/show/picker') log.info('网约房爬虫数据坐标验证,以高德地图api查询结果为标准')
class TestSuite(unittest.TestCase): #装载测试数据 execlName = os.path.join(getcwd.get_cwd(), "data\\spider_house.xls") caseData_excel = ExcelUtil(execlName, 'spider_house') #打开execl文件 writer_table = ExcelAdd(execlName, sheet='spider_house') col_Num = writer_table.get_cols() #写入表头 writer_table.modify_cell(0, col_Num, 'gd_lon') writer_table.modify_cell(0, col_Num + 1, 'gd_lat') writer_table.modify_cell(0, col_Num + 2, 'distance') log.info('装载测试数据成功') @classmethod def setUpClass(self): self.dr = PySelenium() self.dr.openUrl('https://lbs.amap.com/console/show/picker') log.info('网约房爬虫数据坐标验证,以高德地图api查询结果为标准') @classmethod def tearDownClass(self): self.writer_table.save() #保存测试结果 self.dr.quit() #关闭浏览器 log.info('测试结束,关闭浏览器') def setUp(self): print('case_id: ', self.id(), '开始执行<br />') #固定格式,用于报表生成 self.dr.F5() def tearDown(self): '''测试报错或者用例不通过则截图''' if not func.testPass(self): print('截图: ', self.dr.getScreenshot(self.id()), '<br />') #固定格式,用于报表生成 print('结束执行<br />') #固定格式,用于报表生成 @ddt.data(*caseData_excel.next()) def test_case(self, data_): #接收测试数据 cur_row = data_['curRow'] lon = str(data_['lon']) lat = str(data_['lat']) address = str(data_['address']) #页面元素封装 txtSearch = 'id=>txtSearch' btnSearch = 'class=>btn-search' #divCoordinate='id=>divCoordinate' picker_copy = 'class=>picker-copy' #模拟查询操作 self.dr.inputText(txtSearch, address) #self.dr.clear(id_Coordinate) self.dr.click(btnSearch) self.dr.waitSleep(2) self.dr.click(picker_copy) coordinate = str(func.get_clipBoard_text()) func.set_clipBoard_text("b'0,0'") #coordinate=self.dr.getText(divCoordinate) gd_lon = coordinate[coordinate.find("'") + 1:coordinate.find(",")] gd_lat = coordinate[coordinate.find(",") + 1:len(coordinate) - 1] #print(lat, lon, gd_lat, gd_lon) distance = func.get_distance_hav(float(lat), float(lon), float(gd_lat), float(gd_lon)) * 1000 #断言,写入数据到execl文件 self.writer_table.modify_cell(cur_row, self.col_Num, gd_lon) self.writer_table.modify_cell(cur_row, self.col_Num + 1, gd_lat) self.writer_table.modify_cell(cur_row, self.col_Num + 2, distance)
def setUpClass(self): self.dr = PySelenium() self.page=pageElements(self.dr) self.page.open_browser() log.info('测试系统登录功能')
def setUpClass(self): self.dr = PySelenium() self.page=leftPage(self.dr) log.info('测试主页菜单链接功能')
class test_index(unittest.TestCase): '''首页左边菜单功能验证''' @classmethod def setUpClass(self): self.dr = PySelenium() self.page=leftPage(self.dr) log.info('测试主页菜单链接功能') @classmethod def tearDownClass(self): self.dr.quit() log.info('主页菜单链接功能测试完成') def setUp(self): print('case_id: ',self.id(),'开始执行<br />') #固定格式,用于报表生成 def tearDown(self): '''测试报错或者用例不通过则截图''' if not testPass(self): print('截图: ',self.dr.getScreenshot( self.id()),'<br />')#固定格式,用于报表生成 print('结束执行<br />')#固定格式,用于报表生成 def test_01_login(self): '''登录系统''' loginGo(self.dr).click_login() self.assertEqual('行业信息概览' ,self.page.get_page_title(),'登录失败') @unittest.Myskip def test_998_option_link(self): '''测试修改密码链接功能''' self.page.go_modify_password() self.assertEqual('修改密码' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_999_option_link(self): '''测试退出系统功能''' self.page.go_login_out() self.assertIn('登录' ,self.page.get_page_title(),'退出系统失败') @unittest.Myskip def test_02_option_link(self): '''测试行业查询链接功能''' self.page.go_HYCX() self.assertEqual('行业查询' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_03_option_link(self): '''测试紧急情况保安调动链接功能''' self.page.go_JJQKBADD() self.dr.waitSleep(2) self.assertEqual('紧急情况保安调动' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_04_option_link(self): '''测试警保联动历史记录链接功能''' self.page.go_JBLDLSJL() self.assertEqual('警保联动历史记录' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_05_option_link(self): '''测试保安行业统计链接功能''' self.page.go_BAHYTJ() self.assertEqual('保安行业统计' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_06_option_link(self): '''测试单位新增链接功能''' self.page.go_DWXZ() self.assertEqual('新增单位备案' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_07_option_link(self): '''测试单位修改链接功能''' self.page.go_DWXG() self.assertEqual('单位备案变更' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_08_option_link(self): '''测试单位注销链接功能''' self.page.go_DWZX() self.assertEqual('单位备案注销' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_09_option_link(self): '''测试人员查询链接功能''' self.page.go_RYCX() self.assertEqual('人员查询' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_10_option_link(self): '''测试人员新增链接功能''' self.page.go_RYXZ() self.assertEqual('人员新增' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_11_option_link(self): '''测试人员修改链接功能''' self.page.go_RYXG() self.assertEqual('人员修改' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_12_option_link(self): '''测试人员注销链接功能''' self.page.go_RYZX() self.assertEqual('人员注销' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_13_option_link(self): '''测试单位检查链接功能''' self.page.go_DWJC() self.assertEqual('单位检查' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_14_option_link(self): '''测试单位检查统计链接功能''' self.page.go_JCTJ() self.assertEqual('单位检查统计' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_15_option_link(self): '''测试全警情报检索链接功能''' self.page.go_QJQBJS() self.assertEqual('全警情报检索' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_16_option_link(self): '''测试报警查询链接功能''' self.page.go_BJCX() self.assertEqual('报警查询' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_17_option_link(self): '''测试场所视频监控链接功能''' self.page.go_CSSPJK() self.assertEqual('场所视频监控' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_18_option_link(self): '''测试场所视频回放链接功能''' self.page.go_CSSPHF() self.assertEqual('场所视频回放' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_19_option_link(self): '''测试消息发布链接功能''' self.page.go_XXFB() self.assertEqual('消息发布' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_20_option_link(self): '''测试发布历史查询链接功能''' self.page.go_FBLSCX() self.assertEqual('信息发布历史查询' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_21_option_link(self): '''测试机构管理链接功能''' self.page.go_JGGL() self.assertEqual('机构管理' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_22_option_link(self): '''测试用户管理链接功能''' self.page.go_YHGL() self.assertEqual('用户管理' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_23_option_link(self): '''测试用户组管理链接功能''' self.page.go_YHZGL() self.assertEqual('用户组管理' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_24_option_link(self): '''测试用户分组管理链接功能''' self.page.go_YHFZGL() self.assertEqual('用户分组管理' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_25_option_link(self): '''测试打分表设置链接功能''' self.page.go_DFBSZ() self.assertEqual('打分表管理' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_26_option_link(self): '''测试数据字典链接功能''' self.page.go_SJZD() self.assertEqual('数据字典' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_27_option_link(self): '''测试参数设置链接功能''' self.page.go_CSSZ() self.assertEqual('参数设置' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_28_option_link(self): '''测试扩展数据字段链接功能''' self.page.go_KZSJZD() self.assertEqual('扩展数据字段' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_29_option_link(self): '''测试工作日志链接功能''' self.page.go_workLog() self.assertEqual('工作日志' ,self.page.get_page_title(),'页面标题不一致') @unittest.Myskip def test_30_option_link(self): '''测试操作日志链接功能''' self.page.go_operationLog() self.assertEqual('操作日志' ,self.page.get_page_title(),'页面标题不一致')
class place_filing(unittest.TestCase): '''人员备案''' #装载测试数据 execlName = os.path.join(getcwd.get_cwd(), "data\\person_filing_data.xls") caseData_excel = ExcelUtil(execlName, 'Sheet1') writer_table = ExcelAdd(execlName, sheet='Sheet1') log.info('装载测试数据成功') @classmethod def setUpClass(self): self.dr = PySelenium() loginGo(self.dr).click_login() #登录系统 self.menu_page = leftPage(self.dr) #左边菜单元素 globals()['login_name'] = self.menu_page.get_login_name() #登录用户名 globals()['node_name'] = self.menu_page.get_node_name() #登录用户所属机构名 log.info('登录系统成功,开始测试...') @classmethod def tearDownClass(self): self.writer_table.save() #保存测试结果 #self.dr.quit() #关闭浏览器 log.info('测试完成,退出系统,关闭浏览器') def setUp(self): print('case_id: ', self.id(), '开始执行<br />') #固定格式,用于报表生成 self.menu_page.go_add_person() #点击左边菜单的 新增企业备案 self.dr.switchFrame(MAIN_IFRAME) #指向iframe页,中间数据展示位置 def tearDown(self): '''测试报错或者用例不通过则截图''' if not testPass(self): print('截图: ', self.dr.getScreenshot(self.id()), '<br />') #固定格式,用于报表生成 print('结束执行<br />') #固定格式,用于报表生成 self.dr.switchFrameOut() #指向iframe上一级,左边菜单位置 @ddt.data(*caseData_excel.next()) def test_index(self, test_data): '''读取从业人员信息''' place_dict = { 'cur_row': test_data['curRow'], #当前execl数据表数据行 'place_name': test_data['place_name'].strip(), #企业名称 'industry_name': test_data['industry_name'].strip(), #所属行业 'person_name': test_data['person_name'].strip(), #姓名 'person_phone': test_data['person_phone'].strip(), #电话号码 } print('备案信息:', place_dict) '''选择行业''' self.page = personIndex(self.dr) #企业备案引导首页 元素 self.assertEqual('新增从业人员备案', self.page.get_page_title(), '页面标题不一致') self.page.select_industry(place_dict['industry_name']) '''输入人员基本信息''' self.page = personInfo(self.dr) self.dr.waitSleep(1) self.dr.mouseScroll(1000) #滚动鼠标到顶部 place_position = self.page.select_place_position() #所属场所 self.page.select_person_position() #职位/工种 self.page.select_person_country() #国家/地区 self.page.select_person_card() #证件类型 self.page.input_person_id_number(rdData.getIdNumber(1)[0]) #证件号码 self.page.input_person_name(place_dict['person_name']) #姓名 self.page.input_person_birth_date(rdData.getDate(-10000, -9000)) #出生日期 self.page.select_person_ethnicity() #民族 self.page.input_person_address(rdData.getGBK2312(20)) #户籍地址 self.page.input_person_issuing_authority(rdData.getGBK2312(10)) #签发机关 self.page.input_person_validity_date_from(rdData.getDate(0, 30)) ##有效期-开始 self.page.input_person_validity_date_to(rdData.getDate(1000, 3000)) #有效期-结束 self.page.input_person_phone_number(place_dict['person_phone']) #手机号码 #phone_number = self.page.input_person_phone_number('1355034796+')#手机号码 self.page.input_person_current_address(rdData.getGBK2312(30)) #现住详址 self.dr.mouseScroll(-1000) #滚动鼠标到底部 #self.page.click_person_save_button()#点击保存人员按钮 if self.page.person_success_name_is_enabled(): self.assertTrue(1 == 1, '人员备案成功') self.writer_table.modify_cell(place_dict['cur_row'], 5, globals()['node_name']) self.writer_table.modify_cell(place_dict['cur_row'], 6, '备案成功') log.info("人员备案成功:%s,%s,%s,%s,%s" % (place_position, place_dict['person_name'], place_dict['person_phone'], globals()['node_name'], globals()['login_name'])) else: self.assertTrue(1 == 2, '人员备案失败')
class place_filing(unittest.TestCase): '''企业备案''' #装载测试数据 execlName = os.path.join(getcwd.get_cwd(), "data\\place_filing_data.xls") caseData_excel = ExcelUtil(execlName, 'Sheet1') writer_table = ExcelAdd(execlName, sheet='Sheet1') log.info('装载测试数据成功') @classmethod def setUpClass(self): self.dr = PySelenium() loginGo(self.dr).click_login() #登录系统 self.menu_page = leftPage(self.dr) #左边菜单元素 globals()['login_name'] = self.menu_page.get_login_name() #登录用户名 globals()['node_name'] = self.menu_page.get_node_name() #登录用户所属机构名 log.info('登录系统成功,开始测试...') @classmethod def tearDownClass(self): self.writer_table.save() #保存测试结果 #self.dr.quit() #关闭浏览器 log.info('测试完成,退出系统,关闭浏览器') def setUp(self): print('case_id: ', self.id(), '开始执行<br />') #固定格式,用于报表生成 self.menu_page.go_add_place() #点击左边菜单的 新增企业备案 self.dr.switchFrame(MAIN_IFRAME) #指向iframe页,中间数据展示位置 def tearDown(self): '''测试报错或者用例不通过则截图''' if not testPass(self): print('截图: ', self.dr.getScreenshot(self.id()), '<br />') #固定格式,用于报表生成 print('结束执行<br />') #固定格式,用于报表生成 self.dr.switchFrameOut() #指向iframe上一级,左边菜单位置 @ddt.data(*caseData_excel.next()) def test_index(self, test_data): place_dict = { 'cur_row': test_data['curRow'], #当前execl数据表数据行 'place_name': test_data['place_name'].strip(), #企业名称 'industry_name': test_data['industry_name'].strip(), #所属行业 'person_name': test_data['person_name'].strip(), #法人姓名 'person_phone': test_data['person_phone'].strip(), #法人电话号码 } print('备案信息:', place_dict) '''第一页 选择行业''' self.page = placeIndex(self.dr) #企业备案引导首页 元素 self.assertEqual('新增企业备案', self.page.get_page_title(), '页面标题不一致') self.page.select_industry(place_dict['industry_name']) '''第二页 输入基本信息''' self.page = placeBasicInfo(self.dr) #单位基本信息 self.dr.waitSleep(1) self.dr.mouseScroll(1000) #滚动鼠标,消除鼠标右键菜单 self.page.input_place_name(place_dict['place_name']) #输入单位名称 self.page.input_business_address('成都市人民北路' + str(rdData.getInt(2)) + '号') #定位单位经营地址 self.page.select_has_certificate('有') #有无证照 self.page.input_opening_date(rdData.getDate()) #开业日期 self.page.input_fax(rdData.getInt(6)) #单位传真 self.page.input_web_address(rdData.getGBK2312(15)) #单位网址 self.page.input_phone_number(rdData.getPhone()) #单位电话 self.page.select_operating_state('营业') #经营状态 #营业执照信息 self.dr.waitSleep(1) self.page.input_uniform_social_credit_code( rdData.getInt(10)) #统一社会信用代码/注册号 self.page.input_organization_code(rdData.getInt(6)) #组织机构代码 self.page.input_company_name(rdData.getGBK2312(6)) #营业执照企业名称 self.page.input_company_english_name(rdData.getStrings()) #单位英文名称 self.page.select_company_type() #单位性质 self.page.input_registered_address(rdData.getGBK2312(3)) #单位注册地址 self.page.input_issue_date(rdData.getDate()) #发照日期 self.page.input_registered_capital(str(rdData.getInt(3)) + '万') ##注册资本 self.page.input_establishment_date(rdData.getDate()) ##成立日期 self.page.input_business_from(rdData.getDate()) ##经营期限-开始 self.page.input_business_to(rdData.getDate(2000, 3000)) #经营期限-结束 self.page.input_business_scope(rdData.getGBK2312(4)) #经营范围 #弹框页面,输入人员信息 self.dr.waitSleep(1) self.page.click_add_practitioner() #点击添加人员按钮 self.page.select_person_position() #职位/工种 self.page.select_person_country() #国家/地区 self.page.select_person_card() #证件类型 self.page.input_person_id_number(rdData.getIdNumber(1)[0]) #证件号码 self.page.input_person_name(place_dict['person_name']) #姓名 self.page.input_person_birth_date(rdData.getDate(-10000, -9000)) #出生日期 self.page.select_person_ethnicity() #民族 self.page.input_person_address(rdData.getGBK2312(20)) #户籍地址 self.page.input_person_issuing_authority(rdData.getGBK2312(10)) #签发机关 self.page.input_person_validity_date_from(rdData.getDate(0, 30)) ##有效期-开始 self.page.input_person_validity_date_to(rdData.getDate(1000, 3000)) #有效期-结束 self.page.input_person_phone_number(place_dict['person_phone']) #手机号码 self.page.input_person_current_address(rdData.getGBK2312(30)) #现住详址 self.page.click_person_save_button() #点击保存人员按钮 #管辖信息 self.dr.mouseScroll(-1000) #滚动鼠标,到页面底部 self.dr.waitSleep(1) self.page.select_region(globals()['node_name']) #管辖机构 self.page.input_region_police(globals()['login_name']) #责任民警,从管辖机构中带出 self.page.input_region_phone(rdData.getPhone()) #机构办公电话 self.page.click_second_step() #点击下一步按钮 '''第三页 输入附加信息''' self.page = placeExtras(self.dr) self.dr.mouseScroll(1000) #滚动鼠标,到页面顶部 #self.dr.js('window.scrollTo(0,document.body.scrollHeight)') self.dr.waitSleep(1) if place_dict['industry_name'] == '保安服务业': self.page.input_special_number() self.page.input_special_issuing_authority() self.page.input_special_issuing_date() self.page.click_special_licence_always_valid() if place_dict['industry_name'] == '危化业': self.page.select_chemistry_place_type() #单位类型 self.page.select_chemistry_involve_type() #涉及环节 self.page.select_danger_level() #存放危险等级 self.page.input_weihua_office_phone_number( rdData.getPhone()) #值班室电话 self.page.input_weihua_monitor_phone_number( rdData.getPhone()) #监控室电话 #self.page.input_product_name()#危化产品 #self.page.click_product_add_btn()#点击添加危化品按钮 self.dr.mouseScroll(-1000) #滚动鼠标,到页面底部 self.page.input_warehouse_name(rdData.getGBK2312(6)) #仓库名称 self.page.input_warehouse_address( '成都市人民北路' + str(rdData.getInt(2)) + '号') #仓库地址 #self.page.upload_warehouse_img('D:\Python\eclipse-workspace\picasso\img\jslogo.png')#上传仓库平面图 self.page.input_warehouse_IMEI('0869976033706103') #仓库IMEI #self.page.click_warehouse_add_btn() #点击添加仓库 if place_dict['industry_name'] == '娱乐业': self.page.input_fire_safety_responsibility_number() self.page.input_hygienic_license_number() self.page.input_housing_safety_approval_number() self.page.input_environmental_department_document() self.page.input_yule_business_area() self.page.input_yule_balcony_count() self.page.input_safety_equipment() self.page.input_fire_fighting_device() if place_dict['industry_name'] == '旅馆业': self.page.input_hotel_building_area() #建筑总面积 self.page.input_hotel_business_area() #营业面积 self.page.input_hotel_balcony_area() #包厢面积 self.page.input_hotel_building_count() #楼栋数 self.page.input_hotel_floor_count() #楼层数 self.page.input_hotel_room_count() #房间总数 self.page.input_hotel_bed_count() #核定内容 self.page.input_hotel_gateway_count() #出入口 self.page.input_hotel_selling_area() #营业厅 self.page.input_hotel_passageway_count() #通道 self.page.input_hotel_storehouse_count() #保管库房 self.page.input_hotel_parking_lot() #停车场 self.page.input_hotel_other_part() #其他部位 self.page.click_third_step() #点击下一步按钮 '''第四页 输入设备信息''' self.page = placeDevices(self.dr) self.dr.waitSleep(1) self.page.input_device_name(rdData.getGBK2312(10)) #设备名称 self.page.input_device_count(rdData.getInt(1)) #设备数量 #self.page.click_save_button() #点击保存功能按钮 if self.page.place_success_name_is_enabled(): self.assertTrue(1 == 1, '企业备案成功') self.writer_table.modify_cell(place_dict['cur_row'], 5, globals()['node_name']) self.writer_table.modify_cell(place_dict['cur_row'], 6, '备案成功') log.info("企业备案成功:%s,%s,%s,%s" % (globals()['node_name'], globals()['login_name'], place_dict['industry_name'], place_dict['place_name'])) else: self.assertTrue(1 == 2, '企业备案失败')