コード例 #1
0
ファイル: test_place_modify.py プロジェクト: zhilh/picasso
 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('登录系统成功,开始测试...')
コード例 #2
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(),'行业信息概览') 
コード例 #3
0
 def setUpClass(self):
     self.dr = PySelenium()
     loginGo(self.dr).click_login()  #登录系统
     log.info('登录系统成功,开始测试...')
コード例 #4
0
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())
コード例 #5
0
ファイル: test_place_modify.py プロジェクト: zhilh/picasso
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
コード例 #6
0
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
コード例 #7
0
ファイル: spider_house_test.py プロジェクト: zhilh/picasso
 def setUpClass(self):
     self.dr = PySelenium()
     self.dr.openUrl('https://lbs.amap.com/console/show/picker')
     log.info('网约房爬虫数据坐标验证,以高德地图api查询结果为标准')
コード例 #8
0
ファイル: spider_house_test.py プロジェクト: zhilh/picasso
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)
コード例 #9
0
 def setUpClass(self):
     self.dr = PySelenium()
     self.page=pageElements(self.dr)
     self.page.open_browser()
     log.info('测试系统登录功能')
コード例 #10
0
ファイル: test_homeIndexPage.py プロジェクト: zhilh/picasso
 def setUpClass(self):
     self.dr = PySelenium()
     self.page=leftPage(self.dr)
     log.info('测试主页菜单链接功能')
コード例 #11
0
ファイル: test_homeIndexPage.py プロジェクト: zhilh/picasso
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(),'页面标题不一致')
コード例 #12
0
ファイル: test_person_filing.py プロジェクト: zhilh/picasso
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, '人员备案失败')
コード例 #13
0
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, '企业备案失败')