Esempio n. 1
0
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(),'行业信息概览') 
Esempio n. 2
0
class person_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_person()   #点击左边菜单的 人员审核
        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_person(self):
        '''选择待审核人员列表中的第一个人员进行审核'''
        self.page=personHome(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))<1:
            self.assertTrue(1==2,'人员审核未执行,没有发现待审核人员')
        for i in range(len(table_data)):
            if int(len(table_data[i])>1 ):
                person_name=table_data[i][0]
                phone_number=table_data[i][3]
                person_place=table_data[i][4]
                approve_type=table_data[i][8]
                self.page.select_approve_button(i)
                break                
        
        '''填写审核信息'''    
        self.dr.waitSleep(1)    
        self.pageAp=personApprove(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,%s,%s" %(globals()['node_name'],globals()['login_name'],person_name,phone_number,person_place,approve_type))
        else:
            self.assertTrue(1==2,"人员审核失败:%s"%self.pageAp.get_fail_text())
Esempio n. 3
0
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)
Esempio n. 4
0
class Industry_Search(unittest.TestCase):
    '''企业注销'''
    #装载测试数据
    execlName = os.path.join(getcwd.get_cwd(), "data\\place_logout_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.page.set_iframe_out()    #指向iframe上一级,左边菜单位置
        #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_logout()  #点击菜单到 企业注销 功能链接
        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][7].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 table_data[i][2].lower().find(
                        search_dict['person_name'].lower()) != -1 and len(
                            search_dict['person_name']
                        ) > 0:  #验证输入了企业法人时,查询结果包含输入的企业法人信息
                    okFlag = 1
                if search_dict['place_type'] == table_data[i][
                        3] and search_dict[
                            'place_type'] != '所有':  #验证输入了企业类型时,查询结果等于输入的企业类型信息
                    okFlag = 1
                if search_dict['operating_state'] == table_data[i][
                        3] and search_dict[
                            'operating_state'] != '所有':  #验证输入了经营状态时,查询结果等于输入的经营状态信息
                    okFlag = 1
                if table_data[i][7].lower().find(
                        search_dict['region_name'].lower()
                ) != -1 and search_dict[
                        'region_name'] != '':  #验证输入了管辖机构时,查询结果包含输入的管辖机构信息,不包含该管辖机构的下属机构
                    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_logout_button(i)  #选择点击注销按钮
                self.page.input_contents(
                    'Auto logout by automated tester')  #选择点击注销按钮
                self.page.select_logout_type()  #注销类型
                #self.page.click_confirm_button()#点击注销确认按钮
                if self.page.logout_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
Esempio n. 5
0
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(),'页面标题不一致')
Esempio n. 6
0
class Industry_Search(unittest.TestCase):
    '''从业人员查询'''
    #装载测试数据
    execlName = os.path.join(getcwd.get_cwd(), "data\\person_query_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.page.set_iframe_out()    #指向iframe上一级,左边菜单位置
        #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_query()  #点击菜单到 从业人员查询 功能链接
        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(),  #从业人员证件号码
            'position_name':
            test_data['position_name'].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_position_name(search_dict['position_name'])  #职位/工种
        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['position_name']=='' \
         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['place_name'].lower()) != -1 and len(
                            search_dict['place_name']
                        ) > 0:  #验证输入了企业名称时,查询结果包含输入的企业名称信息
                    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 table_data[i][2].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][3].lower(
                ) and len(search_dict['person_sex']
                          ) > 0:  #验证输入了从业人员性别时,查询结果等于输入的从业人员性别
                    okFlag = 1
                if search_dict['person_id_card'].lower(
                ) == table_data[i][4].lower() and len(
                        search_dict['person_id_card']
                ) > 0:  #验证输入了从业人员证件号码时,查询结果等于输入的从业人员证件号码
                    okFlag = 1
                if table_data[i][5].lower().find(
                        search_dict['position_name'].lower()) != -1 and len(
                            search_dict['position_name']
                        ) > 0:  #验证输入了职位/工种时,查询结果包含输入的职位/工种信息
                    okFlag = 1
                if table_data[i][7].lower(
                ) >= search_dict['apply_date_from'].lower() and len(
                        search_dict['apply_date_from']
                ) > 0:  #验证输入了备案开始时间时,查询结果》=备案开始时间
                    okFlag = 1
                if table_data[i][7].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, '查询结果为空,不做验证!')
        else:
            self.assertTrue(1 == 1, '首页查询结果验证正确!')