Exemplo n.º 1
0
class FirstCase(unittest.TestCase):

    # def setUpClass(cls):
    # 	cls.driver = webdriver.Chrome()
    # 	cls.driver.get('https://sso.ifanr.com/register/')
    # 	cls.driver.maximize_window()
    # 	cls.login = RegisterBusiness(cls.driver)

    def setUp(self):

        self.driver = webdriver.Chrome()
        self.driver.get('https://sso.ifanr.com/register/')
        self.driver.maximize_window()
        self.login = RegisterBusiness(self.driver)

    def tearDown(self):  # 在这个过程中解决截图操作
        time.sleep(2)
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_name = os.path.join(os.getcwd() + '/image/' + case_name +
                                         '.png')
                self.driver.save_screenshot(file_name)
        # print(self._outcome)
        # file_name = r'D:\PycharmProjects\ImoockSelenium\Image' + 'case_name' + '.png'
        # self.driver.save_screenshot(file_name)
        # self.driver.close()

    # def tearDownClass(cls):
    # 	cls.driver.close()

    def test_register_email_error(self):  #一目了然的命名 测试登录时  邮箱错误
        email_error = self.login.register_email_error('youxiangerror', '34',
                                                      '111aaa', '111aaa')
        self.assertIs(email_error, '注册成功,第一条case结果为失败,输入的邮箱为正确格式的邮箱')
        # self.assertFalse(email_error,'第一条case结果为通过,输入邮箱格式为错误,邮箱校验通过。')
        # if email_error == True:  #获取不到错误信息  就是邮箱格式为正确的
        # 	print('注册成功,第一条case结果为失败,输入的邮箱为正确格式的邮箱')
        # else:
        # 	print('注册失败。第一条case结果为通过,输入邮箱格式为错误,邮箱校验通过。')

    def test_register_password_error(self):
        password_error = self.login.register_password_error(
            '*****@*****.**', 'password', '111aaa', '111')
        self.assertFalse(password_error, 'case执行了')
        # if password_error == True:#获取不到密码错误元素。2次密码相同
        # 	print('注册成功,第二条case失败,2次输入密码相同')
        # else:
        # 	print('注册失败,第二条case结果为通过,输入的2次密码不一致')
    def test_register_repeat_error(self):
        repeat_error = self.login.register_repeat_error(
            '*****@*****.**', 'mima', '111aaa', '111aaa')
        self.assertFalse(repeat_error, 'case执行了')
Exemplo n.º 2
0
class FirstCase(unittest.TestCase):
    """
    case层
    """

    @classmethod
    def setUpClass(cls) -> None:
        cls.log = UserLog()
        cls.logger = cls.log.get_log()

    def setUp(self):
        self.register_b = RegisterBusiness()
        self.logger.info("this is textt")
        # self.file_name = selenium_driver.get_picture('re')
        # self.code_text = selenium_driver.code_base64(self.file_name)

    def tearDown(self):
        time.sleep(2)
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                error_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
                case_error_path = os.path.join(error_path + "/report/" + case_name + '.png')
                selenium_driver.img_png(case_error_path)
        selenium_driver.close_driver()

    @classmethod
    def tearDownClass(cls) -> None:
        cls.log.close_log()

    # 邮箱、用户名、密码、验证码、错误信息元素、错误提示信息
    def test_register_email_error(self):
        email_error = self.register_b.register_email_error('qweqwe', '程柔位', '123456', 'code1')
        self.assertFalse(email_error)  # 断言是否为false

    def test_register_username_error(self):
        name_error = self.register_b.register_name_error('*****@*****.**', '1', '123456', 'code1')
        self.assertFalse(name_error)

    def test_register_password_error(self):
        password_error = self.register_b.register_password_error('*****@*****.**', 'chengtouwei', '1234', 'code1')
        self.assertFalse(password_error)

    def test_register_code_error(self):
        code_error = self.register_b.register_code_error('*****@*****.**', 'chengtouwei', '123456', 'code1')
        self.assertFalse(code_error)

    def test_register_success(self):
        success = self.register_b.register_succes('*****@*****.**', 'chengtouwei', '123456', 'code1')
        self.assertTrue(success)
class FirstCase(unittest.TestCase):
    def setUp(self):
        log = UserLog()  # 实例化日志
        logger = log.get_log()  # 获得logger对象
        warnings.simplefilter('ignore', ResourceWarning)
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.5itest.cn/register')
        self.driver.maximize_window()
        logger.info('this is chrome')  # 打印debug级别的日志
        log.close_handle()  # 移除handle
        self.register = RegisterBusiness(self.driver)
        self.file_name = 'D:/Imooc_project/yztp/yzm.png'

    def tearDown(self):
        time.sleep(2)
        for method_name, error in self._outcome.errors:  # self._outcome.errors用于获取案例中的失败
            if error:
                case_name = self._testMethodName  # _testMrthodName用于获取用例名
                file_path = os.path.join(
                    os.path.dirname(os.path.dirname(
                        os.path.realpath(__file__))) + r'\tp' + '\\' +
                    case_name + '.png')  # 报告放的位置
                self.driver.save_screenshot(file_path)
        self.driver.quit()

    def test_login_email_error(self):
        email_error = self.register.register_email_error(
            '*****@*****.**', 'test111', '123123', self.file_name)
        self.assertFalse(email_error)

    def test_login_username_error(self):
        name_error = self.register.register_name_error('*****@*****.**', 't',
                                                       '123123',
                                                       self.file_name)
        self.assertFalse(name_error)

    def test_login_code_error(self):
        code_error = self.register.register_code_error('*****@*****.**',
                                                       'test111', '123123',
                                                       self.file_name)
        self.assertFalse(code_error)

    def test_login_password_error(self):
        password_error = self.register.register_password_error(
            '*****@*****.**', 'test111', '12', self.file_name)
        self.assertFalse(password_error)
Exemplo n.º 4
0
class FirstCase:
    def __init__(self,url="http://www.5itest.cn/register"):
        driver = webdriver.Chrome()
        driver.maximize_window()
        driver.get(url)
        self.regsiter_b = RegisterBusiness(driver)

    def test_register_email_error(self):
        email_error = self.regsiter_b.register_email_error("123","user123","111111","test1")
        if email_error:
            print("pass")
        else:
            print("fail")

    def test_register_name_error(self):
        name_error = self.regsiter_b.register_name_error("*****@*****.**","u","111111","test1")
        if name_error:
            print("pass")
        else:
            print("fail")


    def test_register_password_error(self):
        passwd_error = self.regsiter_b.register_password_error("*****@*****.**","user123","1","test1")
        if passwd_error:
            print("pass")
        else:
            print("fail")

    def test_register_code_error(self):
        code_error = self.regsiter_b.register_code_error("*****@*****.**","user123","111111","test1")
        if code_error:
            print("pass")
        else:
            print("fail")

    def test_register_success(self):
        success = self.regsiter_b.register_success("user123","user123","111111","test1")
        if success:
            print("pass")
        else:
            print("fail")
Exemplo n.º 5
0
class FirstCase(unittest.TestCase):

    #所有case的前置条件
    @classmethod
    def setUpClass(cls):
        #保存验证码截图的路径(最好用相对路径,绝对路径当换一个环境就不一定正确了)
        image_file_path = os.path.join(
            os.path.dirname(os.getcwd()) + "/bg-image/register_code.png")
        #因为下面几乎每个函数都要用到,所以写在前置函数里方便使用
        #前置函数就类似于构造函数
        cls.file_name = image_file_path
        print("所有case的前置")

    #所有case的后置条件
    @classmethod
    def tearDownClass(cls):
        print("所有case的后置")

    #每个case的前置条件
    #前置放driver,就不需要构造方法了
    #每执行一次case都需要重启浏览器
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.5itest.cn/register')
        self.registerb = RegisterBusiness(self.driver)
        print("执行了当前case的前置条件")

    #每个case的后置条件
    #后置,每执行一次case都需关闭浏览器
    def tearDown(self):
        time.sleep(5)
        #拿到报错信息(有则显示报错信息,无则为None,._outcome.errors返回的是个列表
        for method, error in self._outcome.errors:
            #如果有报错信息
            if error:
                #先拿到报错时的用例名称
                case_name = self._testMethodName
                #文件路径,以case函数名称命名(一定要注意/是否有遗漏)
                file_path = os.path.join(os.getcwd() + "/report/" + case_name +
                                         ".png")
                #截图报错时的页面,并保存
                self.driver.save_screenshot(file_path)
            else:
                return None
        self.driver.close()
        print("执行了当前case的后置条件")

    #错误邮箱用例
    def test_login_email_error(self):
        email_error = self.registerb.register_email_error(
            '*****@*****.**', 'abc123', '111111', self.file_name)
        time.sleep(5)
        #assert函数的使用,相当于用if语句进行判断
        self.assertFalse(email_error, 'case01-出错了')
        #下面和上面作用相似,但用assert更简洁
        '''
        if email_error == True:
            print("case01-错误邮箱执行失败")
        else:
            print("case01-错误邮箱执行成功")
        '''

    #错误用户名用例
    def test_login_username_error(self):
        username_error = self.registerb.register_username_error(
            '@111', '11', '111111', self.file_name)
        time.sleep(5)
        self.assertFalse(username_error, 'case02-出错了')

    #错误密码用例
    def test_password_error(self):
        password_error = self.registerb.register_password_error(
            '@111', 'abc123', '1', self.file_name)
        time.sleep(5)
        self.assertFalse(password_error, 'case03-出错了')

    #错误验证码用例
    def test_login_code_error(self):
        code_error = self.registerb.register_code_error(
            '@111', 'abc123', '111111', self.file_name)
        time.sleep(5)
        self.assertFalse(code_error, 'case04-出错了')

    #字段均正确,注册成功用例
    def test_login_success(self):
        success = self.registerb.register_success('*****@*****.**', 'abcffffff23',
                                                  '111111', self.file_name)
        time.sleep(5)
        self.assertTrue(success, 'case05-出错了')