Beispiel #1
0
    def test_demo_001(self):
        """新用户注册"""
        logger.info('*===============用例{}\{}开始执行===============*'.format(
            __name__,
            sys._getframe().f_code.co_name))

        sql = "delete from user_info where phone='18637607203';"
        sql1 = "delete from category_tree where media_name = 'gaozuxin'"
        flag = mysql.update(sql)
        flag2 = mysql.update(sql1)
        self.assertEqual(1, flag, msg="用户删除失败")
        self.assertEqual(1, flag2, msg="用户删除失败")
        one_browser_window()
        self.loginpage.open_regist()
        self.loginpage.regist('gaozuxin', 'gzx123456', '18637607203', '9274',
                              'A1b8S')
        self.loginpage.take_screenshot()
        islogin = self.indexpage.get_loginuser()
        try:
            self.assertEqual('gaozuxin', islogin, msg="注册并登录失败")
        except:
            data = {"subject": '[自动创建]新用户注册并登录异常', "description": ''}
            link_redmine(self.redmine_user, self.redmine_pwd, data)
            self.assertEqual('gaozuxin', islogin, msg="注册并登录失败")
        self.indexpage.click_exit_userbtn()
        logger.info('*===============用例{}\{}执行结束===============*'.format(
            __name__,
            sys._getframe().f_code.co_name))
Beispiel #2
0
 def test_regist_001(self):
     """新用户注册"""
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '开始执行======================*')
     one_browser_window()
     sql = "delete from user_info where phone='18637607203';"
     flag = mysql.update(sql)
     if flag:
         logger.info("用户删除成功")
     else:
         logger.error("用户删除失败")
     self.loginpage.open_regist()
     self.loginpage.regist('gaozuxin', 'gzx123456', '18637607203', '9274',
                           'A1b8S')
     self.loginpage.take_screenshot()
     islogin = self.indexpage.get_loginuser()
     if islogin == 'gaozuxin':
         logger.info('注册并登录成功')
     else:
         logger.error('注册并登录失败')
         time.sleep(2)
     self.indexpage.click_exit_userbtn()
     time.sleep(3)
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '执行结束======================*')
Beispiel #3
0
 def test_login_004(self):
     """图片验证码注册校验"""
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '开始执行======================*')
     one_browser_window()
     self.loginpage.open_login()
     vrfcode_data = [
         {
             'code': '',
             'show_info': '此处不能为空'
         },
         {
             'code': 'ab12',
             'show_info': ''
         },
     ]
     for index in range(len(vrfcode_data)):
         self.loginpage.input_verifycode(vrfcode_data[index]['code'])
         self.loginpage.switch_verifyimg()
         time.sleep(1)
         show_info_l = self.loginpage.showinfo_verifycode()
         logger.info("[{}]'图片验证码':{};期望:{};实际:{}".format(
             os.path.basename(__file__), vrfcode_data[index]['code'],
             vrfcode_data[index]['show_info'], show_info_l))
         self.assertIn(vrfcode_data[index]['show_info'],
                       show_info_l,
                       msg="登录用户,图片验证码提示信息有误")
         time.sleep(1)
     time.sleep(3)
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '执行结束======================*')
Beispiel #4
0
    def test005_task(self):
        """微博采集_微博号采集"""
        logger.info('*======================用例' +
                    sys._getframe().f_code.co_name +
                    '开始执行======================*')
        one_browser_window()
        sql1 = "delete from task_info where uid = 163 and task_name = '微博采集_微博号_大数据';"
        flag1 = mysql.update(sql1)
        if flag1 == 1:
            logger.info('微博采集微博号任务删除成功')
        else:
            logger.error('微博采集微博号任务删除失败')
        self.loginpage.open_login()
        self.loginpage.login('18201112814', 'gzx123456', 'A1b8S')
        self.loginpage.take_screenshot()
        self.loginpage.find_element(Taskherf_loc).click()
        self.taskpage.add_task()
        time.sleep(2)
        handles = driver.window_handles
        driver.switch_to.window(handles[-1])

        taskname = '微博采集_微博号_大数据'
        taskcategory = 'category2'
        tasktype = '调度任务'
        cron = '*/1 * * * *'
        timebreak_loc = '30'
        isagent = '否'
        self.addtask.collect_init(taskname, taskcategory, tasktype, cron,
                                  timebreak_loc, isagent)
        wbkeyword = '大数据'
        self.addtask.new_weibo_collection(wbkeyword)
        time.sleep(2)
        self.addtask.click_savecnfbtn1()
        self.addtask.click_confirmbtn()
        self.addrule.take_screenshot()
        time.sleep(5)
        self.addtask.click_effectivenowbtn1()
        self.loginpage.take_screenshot()
        driver.switch_to.window(handles[0])
        sql3 = "select task_id from task_info where uid = 163 and  task_name = '微博采集_微博号_大数据';"
        task_id1 = mysql.select_one(sql3)
        time.sleep(120)
        self.loginpage.find_element(Dataherf_loc).click()
        task_id2 = self.datapage.get_first_taskid()
        self.loginpage.take_screenshot()
        if str(task_id1[0]) == str(task_id2):
            self.datapage.click_see_details()
            tasks = self.datapage.get_first_tasks()
            logger.info("任务抓取条数{}".format(tasks))
            if str(tasks) != '0':
                logger.info("任务数据抓取正常")
            else:
                logger.error("任务数据抓取异常")
        else:
            logger.error("任务id获取异常")
        logger.info('*======================用例' +
                    sys._getframe().f_code.co_name +
                    '执行结束======================*')
Beispiel #5
0
 def test_regist_003(self):
     """密码注册验证"""
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '开始执行======================*')
     one_browser_window()
     self.loginpage.open_regist()
     pwd_data = [{
         'pwd': '',
         'show_info': '此处不能为空'
     }, {
         'pwd': 'a2345q',
         'show_info': ''
     }, {
         'pwd': 'qwerty',
         'show_info': '密码中必须包含6-16位字母、数字组合'
     }, {
         'pwd': '12345q',
         'show_info': ''
     }, {
         'pwd': '1234q',
         'show_info': '密码中必须包含6-16位字母、数字组合'
     }, {
         'pwd': 'qwert1',
         'show_info': ''
     }, {
         'pwd': '1234567890123456',
         'show_info': '密码中必须包含6-16位字母、数字组合'
     }, {
         'pwd': '123456789012345q',
         'show_info': ''
     }, {
         'pwd': '123456789012345qq',
         'show_info': '密码中必须包含6-16位字母、数字组合'
     }, {
         'pwd': '123456ab9012345q',
         'show_info': ''
     }, {
         'pwd': '__11__',
         'show_info': '密码中必须包含6-16位字母、数字组合'
     }]
     for index in range(len(pwd_data)):
         self.loginpage.input_regist_password(pwd_data[index]['pwd'])
         self.loginpage.switch_regist_img()
         time.sleep(1)
         show_info_l = self.loginpage.showinfo_registpwd()
         logger.info("[{}]密码:{};期望:{};实际:{}".format(
             os.path.basename(__file__), pwd_data[index]['pwd'],
             pwd_data[index]['show_info'], show_info_l))
         self.assertIn(pwd_data[index]['show_info'],
                       show_info_l,
                       msg="注册用户,密码提示信息有误")
         time.sleep(3)
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '执行结束======================*')
Beispiel #6
0
 def test_demo_004(self):
     """任务界面【测试/修改/删除】按钮有效性验证"""
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '开始执行======================*')
     sql1 = "delete from task_info where uid = 163 and (task_name = '脚本使用任务_常规采集' or task_name = '脚本使用任务_常规采集_copy');"
     sql2 = "INSERT INTO `task_info` (`uid`, `task_name`, `task_config`, `category`, `lang`, `period_cron`, `dt`, `taskstatus`, `notifycls`, `time_break`, `cookie`, `is_agent`, `agent_type`, `agent_value`, `spider_type`, `url`, `spider_status`, `create_uid`, `update_uid`, `trigger_condition`, `warn_grade`, `warn_status`, `mid`, `modelkeywords`, `task_type`) VALUES ('163', '脚本使用任务_常规采集', '{\"max_step\":2,\"spider_type\":1,\"keywords\":[],\"recursion_count\":1,\"recursion_field\":\"\",\"config\":[{\"step_id\":\"data1\",\"step_name\":\"data1\",\"data_name\":\"data1\",\"url\":\"http://in.nen.com.cn/ssjj/index.shtml\",\"rule_id\":\"920\",\"rule_mark\":\"\",\"time_out\":\"5000\",\"rule_type\":1,\"detail_rule_type\":2,\"delete\":false,\"wait\":0,\"filter\":\"url\",\"filter_con\":1,\"filter_type\":false,\"step_col\":\"url\",\"page_num\":0,\"check\":true,\"rend\":true,\"rendrule\":false},{\"step_id\":\"data2\",\"step_name\":\"data2\",\"data_name\":\"data2\",\"url\":\"url\",\"rule_id\":\"919\",\"rule_mark\":\"\",\"time_out\":\"5000\",\"rule_type\":2,\"detail_rule_type\":2,\"delete\":false,\"wait\":0,\"step_col\":\"\",\"page_num\":0,\"filter\":\"\",\"filter_con\":1,\"filter_type\":false,\"check\":true,\"sample_url\":\"http://in.nen.com.cn/system/2018/03/23/020430991.shtml\",\"rend\":true,\"rendrule\":false,\"moving\":false}],\"loginform\":{\"formtype\":\"FORM\",\"submittype\":\"POST\",\"url\":\"http://\",\"body\":true,\"header\":true,\"bodys\":[],\"headers\":[]},\"notify\":{\"notify\":false,\"notify_url\":\"\",\"cls_type\":\"\",\"cls_field\":\"\",\"tag_type\":\"0\",\"tag\":\"\",\"data_map\":[{\"data1._SEED_URL\":\"_SEED_URL\"},{\"data1.title\":\"title\"},{\"data1.url\":\"url\"},{\"data2._SEED_URL\":\"_SEED_URL\"},{\"data2.title\":\"title\"},{\"data2.dt\":\"dt\"},{\"data2.content\":\"content\"}],\"data_map_constant\":[],\"cls_map\":[]}}', '1315', 'zh-CN', '*/1 * * * *', '2019-01-25 16:27:13', 'OFF', '', '30', '', '0', '2', '', '1', 'http://in.nen.com.cn/ssjj/index.shtml', NULL, '163', '163', NULL, NULL, NULL, NULL, NULL, '1');"
     flag1 = mysql.update(sql1)  # 先删除历史任务
     self.assertEqual(1, flag1, msg="删除历史任务失败")
     time.sleep(2)
     flag2 = mysql.update(sql2)  # 插入新任务
     self.assertEqual(1, flag2, msg="插入新任务失败")
     one_browser_window()
     self.loginpage.open_login()
     self.loginpage.login('18201112814', 'gzx123456', 'A1b8S')
     self.loginpage.take_screenshot()
     # self.loginpage.find_element(Taskherf_loc).click()
     self.taskpage.open()
     task_name1 = self.taskpage.get_first_taskname()
     self.assertEqual("脚本使用任务_常规采集", str(task_name1), msg="任务名称获取有误")
     self.taskpage.click_first_testbtn()
     time.sleep(20)
     result_text = self.taskpage.get_firstresult()
     logger.info("测试任务抓取条数:{}".format(result_text))
     self.taskpage.take_screenshot()
     self.assertEqual("共30条数据", str(result_text), msg="测试按钮抓取数据异常")
     self.taskpage.click_first_close()
     time.sleep(1)
     self.taskpage.click_first_modifybtn()
     time.sleep(2)
     handles = driver.window_handles
     driver.switch_to.window(handles[-1])
     self.addtask.input_cron('59 23 31 12 *')
     time.sleep(1)
     self.addtask.click_savecnfbtn()
     time.sleep(1)
     self.addtask.click_confirmbtn()
     time.sleep(2)
     self.addtask.click_backlistbtn()
     time.sleep(1)
     schedul = self.taskpage.get_first_schedul()
     logger.info("获取任务的调度文本:{}".format(schedul))
     self.assertEqual("每年12月31日23时59分", str(schedul), msg="修改按钮校验失败")
     self.taskpage.click_first_deletebtn()
     time.sleep(1)
     self.taskpage.click_confirmbtn()
     time.sleep(2)
     sql3 = "select * from task_info where uid = 163 and task_name = '脚本使用任务_常规采集_copy' and taskstatus != 'DELETE' ;"
     task_name = mysql.select_all(sql3)  # 查询任务是否删除
     self.assertEqual('()', str(task_name), msg="删除按钮校验失败")
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '执行结束======================*')
Beispiel #7
0
    def test_regist_002(self):
        """用户名注册验证"""
        logger.info('*======================用例' +
                    sys._getframe().f_code.co_name +
                    '开始执行======================*')
        one_browser_window()
        self.loginpage.open_regist()
        usr_data = [{
            'usr': '',
            'show_info': '此处不能为空'
        }, {
            'usr': '******',
            'show_info': ''
        }, {
            'usr': '******',
            'show_info': '用户名只能包含2位以上20位以下数字、英文、中文、下划线'
        }, {
            'usr': '******',
            'show_info': ''
        }, {
            'usr': '******',
            'show_info': '用户名只能包含2位以上20位以下数字、英文、中文、下划线'
        }, {
            'usr': '******',
            'show_info': ''
        }, {
            'usr': '******',
            'show_info': '用户名只能包含2位以上20位以下数字、英文、中文、下划线'
        }, {
            'usr': '******',
            'show_info': ''
        }]
        for index in range(len(usr_data)):
            self.loginpage.input_regist_username(usr_data[index]['usr'])
            self.loginpage.switch_regist_img()
            time.sleep(1)
            show_info_l = self.loginpage.showinfo_registuser()
            logger.info("[{}]用户名:{};期望:{};实际:{}".format(
                os.path.basename(__file__), usr_data[index]['usr'],
                usr_data[index]['show_info'], show_info_l))
            self.assertIn(usr_data[index]['show_info'],
                          show_info_l,
                          msg="注册用户,用户名提示信息有误")
            time.sleep(1)

        self.loginpage.regist('gaozuxin', 'gzx123456', '13683066505', '9274',
                              'A1b8S')
        # show_info_r = self.loginpage.showinfo_regist()
        # self.assertEqual('用户名已存在,请更换', show_info_r, msg="注册用户,用户名错误提示信息有误")
        time.sleep(3)
        logger.info('*======================用例' +
                    sys._getframe().f_code.co_name +
                    '执行结束======================*')
Beispiel #8
0
    def test007_rule(self):
        """"""
        logger.info('*======================用例' +
                    sys._getframe().f_code.co_name +
                    '开始执行======================*')
        one_browser_window()
        self.loginpage.open_login()
        self.loginpage.login('18201112814', 'gzx123456', 'A1b8S')
        self.loginpage.find_element(Taskherf_loc).click()

        logger.info('*======================用例' +
                    sys._getframe().f_code.co_name +
                    '执行结束======================*')
Beispiel #9
0
    def test_login_001(self):
        """用户登录"""
        logger.info('*======================用例' +
                    sys._getframe().f_code.co_name +
                    '开始执行======================*')
        one_browser_window()
        self.loginpage.open_login()

        login_data = [
            {
                "usr": "******",
                "pwd": "gzx123456",
                "code": "A1b8S",
                "show_info": "用户名/手机号或密码错误!"
            },
            {
                "usr": "******",
                "pwd": "gzx123456",
                "code": "A1b8S",
                "show_info": "登录成功"
            },
            {
                "usr": "******",
                "pwd": "gzx12345",
                "code": "A1b8S",
                "show_info": "用户名/手机号或密码错误!"
            },
            {
                "usr": "******",
                "pwd": "gzx123456",
                "code": "A1b8S",
                "show_info": "登录成功"
            },
        ]
        for index in range(len(login_data)):
            self.loginpage.login(login_data[index]['usr'],
                                 login_data[index]['pwd'],
                                 login_data[index]['code'])
            time.sleep(2)
            show_info_l = self.loginpage.showinfo_login()
            logger.info("[{}]期望:{};实际:{}".format(
                os.path.basename(__file__), login_data[index]['show_info'],
                show_info_l))
            driver.delete_all_cookies()
            self.assertEqual(login_data[index]['show_info'],
                             show_info_l,
                             msg="用户登录,登录提示信息有误")
            time.sleep(3)
        logger.info('*======================用例' +
                    sys._getframe().f_code.co_name +
                    '执行结束======================*')
Beispiel #10
0
 def test006_rule(self):
     """规则模板验证"""
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '开始执行======================*')
     one_browser_window()
     self.indexpage.click_exit_userbtn()
     self.loginpage.open_login()
     self.loginpage.login('admin', 'caiyun123', 'A1b8S')
     self.loginpage.find_element(Ruleherf_loc).click()
     self.rulepage.get_result(count_num=72)  # 规则条数
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '执行结束======================*')
Beispiel #11
0
    def test_regist_005(self):
        """短信注册码注册验证"""
        logger.info('*======================用例' +
                    sys._getframe().f_code.co_name +
                    '开始执行======================*')
        one_browser_window()
        self.loginpage.open_regist()
        code_data = [{
            'code': '',
            'show_info': '此处不能为空'
        }, {
            'code': '1234',
            'show_info': ''
        }, {
            'code': '1234a',
            'show_info': '请填写数字'
        }, {
            'code': '1234',
            'show_info': ''
        }, {
            'code': '</>',
            'show_info': '请填写数字'
        }, {
            'code': '12345',
            'show_info': ''
        }, {
            'code': '\\t',
            'show_info': '请填写数字'
        }]
        for index in range(len(code_data)):
            self.loginpage.input_regist_code(code_data[index]['code'])
            self.loginpage.switch_regist_img()
            time.sleep(1)
            show_info_l = self.loginpage.showinfo_registcode()
            logger.info("[{}]短信注册码:{};期望:{};实际:{}".format(
                os.path.basename(__file__), code_data[index]['code'],
                code_data[index]['show_info'], show_info_l))
            self.assertIn(code_data[index]['show_info'],
                          show_info_l,
                          msg="注册用户,短信注册码提示信息有误")

        self.loginpage.regist('gaoxin', 'gzx123456', '13683066505', '92745',
                              'A1b8S')
        # show_info_r = self.loginpage.showinfo_regist()
        # self.assertEqual('手机注册码错误', show_info_r, msg="注册用户,短信注册码错误提示信息有误")
        time.sleep(3)
        logger.info('*======================用例' +
                    sys._getframe().f_code.co_name +
                    '执行结束======================*')
Beispiel #12
0
 def test_demo_001(self):
     """用户登陆验证"""
     logger.info('*===============用例{}\{}开始执行===============*'.format(
         __name__,
         sys._getframe().f_code.co_name))
     one_browser_window()
     self.loginpage.open_regist()
     self.loginpage.regist('gaogao', 'gzx123456', '18201112814', '9274',
                           'A1b8S')
     show_info_r = self.loginpage.find_element_xpath(
         '//*[@id="search-form"]/div[2]/input').text
     self.assertEqual('用户名已存在,请更换', show_info_r, msg="注册用户,用户名错误提示信息有误")
     time.sleep(3)
     logger.info('*===============用例{}\{}执行结束===============*'.format(
         __name__,
         sys._getframe().f_code.co_name))
Beispiel #13
0
 def test_login_002(self):
     """用户名登录验证"""
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '开始执行======================*')
     one_browser_window()
     self.loginpage.open_login()
     usr_data = [{
         'usr': '',
         'show_info': '此处不能为空'
     }, {
         'usr': '******',
         'show_info': ''
     }, {
         'usr': '******',
         'show_info': '用户名只能包含2位以上20位以下数字、英文、中文、下划线'
     }, {
         'usr': '******',
         'show_info': ''
     }, {
         'usr': '******',
         'show_info': '用户名只能包含2位以上20位以下数字、英文、中文、下划线'
     }, {
         'usr': '******',
         'show_info': ''
     }, {
         'usr': '******',
         'show_info': '用户名只能包含2位以上20位以下数字、英文、中文、下划线'
     }, {
         'usr': '******',
         'show_info': ''
     }]
     for index in range(len(usr_data)):
         self.loginpage.input_username(usr_data[index]['usr'])
         self.loginpage.switch_verifyimg()
         time.sleep(1)
         show_info_l = self.loginpage.showinfo_username()
         logger.info("[{}]用户名:{};期望:{};实际:{}".format(
             os.path.basename(__file__), usr_data[index]['usr'],
             usr_data[index]['show_info'], show_info_l))
         self.assertIn(usr_data[index]['show_info'],
                       show_info_l,
                       msg="用户登录,用户名提示信息有误")
     time.sleep(3)
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '执行结束======================*')
Beispiel #14
0
    def test_regist_006(self):
        """图片验证码注册校验"""
        logger.info('*======================用例' +
                    sys._getframe().f_code.co_name +
                    '开始执行======================*')
        one_browser_window()
        self.loginpage.open_regist()
        vrfcode_data = [
            {
                'code': '',
                'show_info': '此处不能为空'
            },
            {
                'code': 'ab12',
                'show_info': ''
            },
        ]
        for index in range(len(vrfcode_data)):
            self.loginpage.input_regist_verifycode(vrfcode_data[index]['code'])
            self.loginpage.switch_regist_img()
            time.sleep(1)
            show_info_l = self.loginpage.showinfo_registvrfcode()
            logger.info("[{}]'图片验证码':{};期望:{};实际:{}".format(
                os.path.basename(__file__), vrfcode_data[index]['code'],
                vrfcode_data[index]['show_info'], show_info_l))
            self.assertIn(vrfcode_data[index]['show_info'],
                          show_info_l,
                          msg="注册用户,图片验证码提示信息有误")

        self.loginpage.regist('gaoxin', 'gzx123456', '13683066505', '9274',
                              'A1b8SS')
        # show_info_r = self.loginpage.showinfo_regist()
        # self.assertEqual('验证码错误', show_info_r, msg="注册用户,图片验证码提示信息有误")
        time.sleep(3)
        logger.info('*======================用例' +
                    sys._getframe().f_code.co_name +
                    '执行结束======================*')
Beispiel #15
0
 def test_demo_003(self):
     """用户登录、配置规则、添加任务"""
     logger.info('*===============用例{}\{}开始执行===============*'.format(
         __name__,
         sys._getframe().f_code.co_name))
     one_browser_window()
     sql1 = "delete from task_rule where uid = 163 and rule_name like '新建规则_%页';"
     sql2 = "delete from task_info where uid = 163 and task_name like '新建任务_非异步';"
     flag1 = mysql.update(sql1)
     flag2 = mysql.update(sql2)
     self.assertEqual(1, flag1, msg="规则删除失败")
     self.assertEqual(1, flag2, msg="任务删除失败")
     self.loginpage.open_login()
     self.loginpage.login('18201112814', 'gzx123456', 'A1b8S')
     self.loginpage.take_screenshot()
     # self.loginpage.find_element(Ruleherf_loc).click()
     self.rulepage.open()
     self.rulepage.add_rule()
     time.sleep(1)
     handles = driver.window_handles  # 获取所有打开窗口的句柄
     driver.switch_to.window(handles[1])
     rulename1 = '新建规则_列表页'
     select_category1 = 'category1'
     rule_type1 = 'type1'
     pageurl1 = 'http://in.nen.com.cn/ssjj/index.shtml'
     url_pattern1 = 'http://in.nen.com.cn*'
     rulemark1 = 'test_list'
     extract_method1 = 'method1'
     self.addrule.click_enter_piontconf(rulename1, select_category1,
                                        rule_type1, pageurl1, url_pattern1,
                                        rulemark1, extract_method1)
     time.sleep(1)
     self.loginpage.find_element(
         '//*[@id="layui-layer4"]/div[3]/a[1]').click()
     time.sleep(1)
     handles = driver.window_handles
     driver.switch_to.window(handles[-1])
     self.extensionpage.add_dongbeinews_listrule()
     self.addrule.click_savecnewrulebtn()
     self.addrule.take_screenshot()
     time.sleep(5)
     rulename2 = '新建规则_正文页'
     select_category2 = 'category1'
     rule_type2 = 'type2'
     pageurl2 = 'http://in.nen.com.cn/system/2018/03/23/020430991.shtml'
     url_pattern2 = 'http://in.nen.com.cn*'
     rulemark2 = 'test_text'
     extract_method2 = 'method1'
     self.addrule.click_enter_piontconf(rulename2, select_category2,
                                        rule_type2, pageurl2, url_pattern2,
                                        rulemark2, extract_method2)
     time.sleep(1)
     self.loginpage.find_element(
         '//*[@id="layui-layer4"]/div[3]/a[1]').click()
     time.sleep(2)
     handles = driver.window_handles
     driver.switch_to.window(handles[-1])
     self.extensionpage.add_dongbeinews_textrule()
     self.addrule.click_saverulebtn()
     self.addrule.take_screenshot()
     driver.switch_to.window(handles[0])
     # self.loginpage.find_element(Taskherf_loc).click(
     self.taskpage.open()
     self.taskpage.add_task()
     time.sleep(2)
     handles = driver.window_handles
     driver.switch_to.window(handles[-1])
     taskname = '新建任务_非异步'
     taskcategory = 'category1'
     tasktype = '调度任务'
     cron = '*/1 * * * *'
     timebreak_loc = '30'
     isagent = '否'
     self.addtask.collect_init(taskname, taskcategory, tasktype, cron,
                               timebreak_loc, isagent)
     urllist_lis = 'http://in.nen.com.cn/ssjj/index.shtml'
     select_extractrule_list = "新建规则_列表页"
     check1_list = 'url'
     check2_list = '当选中字段已经存在时跳过'
     turnpagec_list = '0'
     opentimeout_list = '5秒'
     waittime_list = '不等待'
     sampleurl_text = 'http://in.nen.com.cn/system/2018/03/23/020430991.shtml'
     selcet_extractrule_text = "新建规则_正文页"
     turnpagec_text = '0'
     opentimeout_text = '5秒'
     waittime_text = '不等待'
     self.addtask.new_regular_collection(
         urllist_lis, select_extractrule_list, check1_list, check2_list,
         turnpagec_list, opentimeout_list, waittime_list, sampleurl_text,
         selcet_extractrule_text, turnpagec_text, opentimeout_text,
         waittime_text)
     self.addtask.click_savecnfbtn()
     self.addtask.click_confirmbtn()
     self.addrule.take_screenshot()
     time.sleep(2)
     self.addtask.click_effectivenowbtn()
     self.loginpage.take_screenshot()
     driver.switch_to.window(handles[0])
     sql3 = "select task_id from task_info where uid = 163 and  task_name = '新建任务_非异步';"
     task_id1 = mysql.select_one(sql3)
     time.sleep(100)
     # self.loginpage.find_element(Dataherf_loc).click()
     self.datapage.open()
     task_id2 = self.datapage.get_first_taskid()
     self.loginpage.take_screenshot()
     try:
         self.assertEqual(str(task_id1[0]), str(task_id2), msg="任务id获取异常")
     except:
         data = {"subject": '[自动创建]新建非异步常规任务id获取异常', "description": ''}
         link_redmine(self.redmine_user, self.redmine_pwd, data)
         self.assertEqual(str(task_id1[0]), str(task_id2), msg="任务id获取异常")
     self.datapage.click_see_details()
     tasks = self.datapage.get_first_tasks()
     logger.info("任务抓取条数{}".format(tasks))
     try:
         self.assertEqual('30', str(tasks), msg="任务数据抓取异常")
     except:
         data = {"subject": '[自动创建]非异步常规任务数据抓取异常', "description": ''}
         link_redmine(self.redmine_user, self.redmine_pwd, data)
         self.assertEqual('30', str(tasks), msg="任务数据抓取异常")
     logger.info('*===============用例{}\{}执行结束===============*'.format(
         __name__,
         sys._getframe().f_code.co_name))
Beispiel #16
0
 def test_regist_004(self):
     """手机号注册验证"""
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '开始执行======================*')
     one_browser_window()
     self.loginpage.open_regist()
     mob_data = [{
         'mob': '',
         'show_info': '此处不能为空'
     }, {
         'mob': '13001112814',
         'show_info': ''
     }, {
         'mob': '182011128141',
         'show_info': '请填写有效的手机号'
     }, {
         'mob': '18201112814',
         'show_info': ''
     }, {
         'mob': '1730111281',
         'show_info': '请填写有效的手机号'
     }, {
         'mob': '17301112814',
         'show_info': ''
     }, {
         'mob': '11001112814',
         'show_info': '请填写有效的手机号'
     }, {
         'mob': '17601112814',
         'show_info': ''
     }, {
         'mob': '1820111281>',
         'show_info': '请填写有效的手机号'
     }, {
         'mob': '18901112814',
         'show_info': ''
     }, {
         'mob': '1820111281q',
         'show_info': '请填写有效的手机号'
     }]
     for index in range(len(mob_data)):
         self.loginpage.input_regist_mobile(mob_data[index]['mob'])
         self.loginpage.switch_regist_img()
         time.sleep(1)
         show_info_l = self.loginpage.showinfo_registmobile()
         logger.info("[{}]手机号:{};期望:{};实际:{}".format(
             os.path.basename(__file__), mob_data[index]['mob'],
             mob_data[index]['show_info'], show_info_l))
         self.assertIn(mob_data[index]['show_info'],
                       show_info_l,
                       msg="注册用户,手机号提示信息有误")
         time.sleep(1)
     self.loginpage.input_regist_mobile('18637607203')
     self.loginpage.click_get_verifycode()  #获取验证码
     # show_info_r = self.loginpage.showinfo_regist()
     # self.assertEqual('手机号已存在', show_info_r, msg="注册用户,手机号错误提示信息有误")
     time.sleep(3)
     logger.info('*======================用例' +
                 sys._getframe().f_code.co_name +
                 '执行结束======================*')
Beispiel #17
0
    def test002_task(self):
        """用户登录、配置规则、添加任务"""
        logger.info('*===============用例{}\{}开始执行===============*'.format(
            __name__,
            sys._getframe().f_code.co_name))
        one_browser_window()
        sql1 = "delete from task_rule where uid = 163 and rule_name like '新建规则_%页';"
        sql2 = "delete from task_info where uid = 163 and task_name like '新建任务_非异步';"
        flag1 = mysql.update(sql1)
        flag2 = mysql.update(sql2)
        if flag1 == 1 and flag2 == 1:
            logger.info('任务和规则删除成功')
        else:
            logger.error('任务和规则删除失败')

        # driver.set_window_size(900, 600)
        # window_size = driver.get_window_size()
        # logger.info(window_size)
        #
        # time.sleep(2)
        # driver.maximize_window()
        # window_size = driver.get_window_size()
        # logger.info(window_size)
        #
        # time.sleep(2)
        # driver.set_window_size(3000, 1000)
        # window_size = driver.get_window_size()
        # logger.info(window_size)

        # driver.set_window_size(1000, 812)
        # window_size = driver.get_window_size()
        # logger.info(window_size)

        self.loginpage.open_login()

        self.loginpage.login('18201112814', 'gzx123456', 'A1b8S')
        self.loginpage.take_screenshot()
        try:
            self.loginpage.find_element(Ruleherf_loc).click()
        except:
            self.loginpage.take_screenshot()
            exit()
        self.rulepage.add_rule()
        time.sleep(1)
        handles = driver.window_handles  # 获取所有打开窗口的句柄
        driver.switch_to.window(handles[1])
        rulename1 = '新建规则_列表页'
        select_category1 = 'category1'
        rule_type1 = 'type1'
        pageurl1 = 'http://in.nen.com.cn/ssjj/index.shtml'
        url_pattern1 = 'http://in.nen.com.cn*'
        rulemark1 = 'test_list'
        extract_method1 = 'method1'
        self.addrule.click_enter_piontconf(rulename1, select_category1,
                                           rule_type1, pageurl1, url_pattern1,
                                           rulemark1, extract_method1)
        time.sleep(1)
        handles = driver.window_handles
        driver.switch_to.window(handles[-1])

        self.extensionpage.add_dongbeinews_listrule()
        self.addrule.click_savecnewrulebtn()
        self.addrule.take_screenshot()
        time.sleep(5)
        rulename2 = '新建规则_正文页'
        select_category2 = 'category1'
        rule_type2 = 'type2'
        pageurl2 = 'http://in.nen.com.cn/system/2018/03/23/020430991.shtml'
        url_pattern2 = 'http://in.nen.com.cn*'
        rulemark2 = 'test_text'
        extract_method2 = 'method1'
        self.addrule.click_enter_piontconf(rulename2, select_category2,
                                           rule_type2, pageurl2, url_pattern2,
                                           rulemark2, extract_method2)
        time.sleep(2)
        handles = driver.window_handles
        driver.switch_to.window(handles[-1])
        self.extensionpage.add_dongbeinews_textrule()
        self.addrule.click_saverulebtn()
        self.addrule.take_screenshot()
        driver.switch_to.window(handles[0])
        self.loginpage.find_element(Taskherf_loc).click()
        self.taskpage.add_task()
        time.sleep(2)
        handles = driver.window_handles
        driver.switch_to.window(handles[-1])
        taskname = '新建任务_非异步'
        taskcategory = 'category1'
        tasktype = '调度任务'
        cron = '*/1 * * * *'
        timebreak_loc = '30'
        isagent = '否'
        self.addtask.collect_init(taskname, taskcategory, tasktype, cron,
                                  timebreak_loc, isagent)
        urllist_lis = 'http://in.nen.com.cn/ssjj/index.shtml'
        select_extractrule_list = "新建规则_列表页"
        check1_list = 'url'
        check2_list = '当选中字段已经存在时跳过'
        turnpagec_list = '0'
        opentimeout_list = '5秒'
        waittime_list = '不等待'
        sampleurl_text = 'http://in.nen.com.cn/system/2018/03/23/020430991.shtml'
        selcet_extractrule_text = "新建规则_正文页"
        turnpagec_text = '0'
        opentimeout_text = '5秒'
        waittime_text = '不等待'
        self.addtask.new_regular_collection(
            urllist_lis, select_extractrule_list, check1_list, check2_list,
            turnpagec_list, opentimeout_list, waittime_list, sampleurl_text,
            selcet_extractrule_text, turnpagec_text, opentimeout_text,
            waittime_text)
        self.addtask.click_savecnfbtn()
        self.addtask.click_confirmbtn()
        self.addrule.take_screenshot()
        time.sleep(2)
        self.addtask.click_effectivenowbtn()
        self.loginpage.take_screenshot()
        driver.switch_to.window(handles[0])
        sql3 = "select task_id from task_info where uid = 163 and  task_name = '新建任务_非异步';"
        task_id1 = mysql.select_one(sql3)
        time.sleep(220)
        self.loginpage.find_element(Dataherf_loc).click()
        task_id2 = self.datapage.get_first_taskid()
        self.loginpage.take_screenshot()
        if str(task_id1[0]) == str(task_id2):
            self.datapage.click_see_details()
            tasks = self.datapage.get_first_tasks()
            logger.info("任务抓取条数{}".format(tasks))
            if str(tasks) == '30':
                logger.info("任务数据抓取正常")
            else:
                logger.error("任务数据抓取异常")
        else:
            logger.error("任务id获取异常")

        logger.info('*======================用例' +
                    sys._getframe().f_code.co_name +
                    '执行结束======================*')
Beispiel #18
0
 def test005_task(self):
     """微博采集_微博号采集"""
     logger.info('*===============用例{}\{}开始执行===============*'.format(
         __name__,
         sys._getframe().f_code.co_name))
     one_browser_window()
     sql1 = "delete from task_info where uid = 163 and task_name = '微博采集_微博号_大数据';"
     flag1 = mysql.update(sql1)
     self.assertEqual(1, flag1, msg="微博采集微博号任务删除失败")
     self.loginpage.open_login()
     self.loginpage.login('18201112814', 'gzx123456', 'A1b8S')
     self.loginpage.take_screenshot()
     self.loginpage.find_element(Taskherf_loc).click()
     self.taskpage.add_task()
     time.sleep(2)
     handles = driver.window_handles
     driver.switch_to.window(handles[-1])
     taskname = '微博采集_微博号_大数据'
     taskcategory = 'category2'
     tasktype = '调度任务'
     cron = '*/1 * * * *'
     timebreak_loc = '30'
     isagent = '否'
     self.addtask.collect_init(taskname, taskcategory, tasktype, cron,
                               timebreak_loc, isagent)
     wbkeyword = '大数据'
     self.addtask.new_weibo_collection(wbkeyword)
     time.sleep(2)
     self.addtask.click_savecnfbtn1()
     self.addtask.click_confirmbtn()
     self.addrule.take_screenshot()
     time.sleep(5)
     self.addtask.click_effectivenowbtn1()
     self.loginpage.take_screenshot()
     driver.switch_to.window(handles[0])
     sql3 = "select task_id from task_info where uid = 163 and  task_name = '微博采集_微博号_大数据';"
     task_id1 = mysql.select_one(sql3)
     time.sleep(120)
     self.loginpage.find_element(Dataherf_loc).click()
     task_id2 = self.datapage.get_first_taskid()
     self.loginpage.take_screenshot()
     try:
         self.assertEqual(str(task_id1[0]),
                          str(task_id2),
                          msg="微博采集任务id获取异常")
     except:
         data = {"subject": '[自动创建]新建微博微博号采集任务id获取异常', "description": ''}
         link_redmine(self.redmine_user, self.redmine_pwd, data)
         self.assertEqual(str(task_id1[0]),
                          str(task_id2),
                          msg="微博采集任务id获取异常")
     self.datapage.click_see_details()
     tasks = self.datapage.get_first_tasks()
     logger.info("任务抓取条数{}".format(tasks))
     try:
         self.assertNotEqual('0', str(tasks), msg="微博采集任务数据抓取异常")
     except:
         data = {"subject": '[自动创建]微博微博号采集任务数据抓取异常', "description": ''}
         link_redmine(self.redmine_user, self.redmine_pwd, data)
         self.assertNotEqual('0', str(tasks), msg="微博采集任务数据抓取异常")
     logger.info('*===============用例{}\{}执行结束===============*'.format(
         __name__,
         sys._getframe().f_code.co_name))