class FirstCase(object): def __init__(self): driver = webdriver.Firefox() driver.get('http://www.5itest.cn/register') self.login = RegisterBusiness(driver) def test_login_email_error(self): email_error = self.login.login_email_error('11', 'user111', '111111', 'qwe1') if email_error == True: print('注册成功了,此条case执行失败') #通过assert判断是否为error def test_login_username_error(self): username_error = self.login.login_name_error('*****@*****.**', 'dd', '2222222', 'wed3') if username_error == True: print('注册成功了,此条case执行失败') def test_login_password_error(self): password_error = self.login.login_name_error('*****@*****.**', 'd444d', '2222222', 'wed3') if password_error == True: print('注册成功了,此条case执行失败') def test_login_code_error(self): code_error = self.login.login_name_error('*****@*****.**', 'dd', '2222222', 'wed3') if code_error == True: print('注册成功了,此条case执行失败') def test_login_success(self): self.login.user_base('*****@*****.**', 'dd', '2222222', 'wed3') if self.login.register_success() == True: print('注册成功了')
class FirstCase(unittest.TestCase): def setUp(self) -> None: self.driver = webdriver.Chrome() self.driver.maximize_window() self.driver.get("http://www.5itest.cn/register") self.register_business = RegisterBusiness(self.driver) def tearDown(self) -> None: self.driver.quit() def test_login_email_error(self): email_error = self.register_business.login_email_error('34', 'U1212', '12Test12', 'der56') self.assertFalse(email_error) # if email_error == True: # print("注册成功了,此条 case 执行失败") # login('223', '1111') # 通过 assert 判断是否为 error def test_login_username_error(self): username = self.register_business.login_username_error("*****@*****.**", "2", "Test@123", 'sdsds') self.assertFalse(username) def test_login_password_error(self): password = self.register_business.login_password_error("*****@*****.**", "2gw", "2", 'sdsds') self.assertFalse(password) def test_login_code_error(self): code = self.register_business.login_code_error("*****@*****.**", "2gw", "Test@123", 's') self.assertFalse(code) def test_login_success(self): success = self.register_business.register_success() self.assertFalse(success)
class FirstCase(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.get("http://www.5itest.cn/register") self.login = RegisterBusiness(self.driver) def tearDown(self): self.driver.close() def test_login_email_error(self): email_error = self.login.login_email_error('35','123','123456','2365') if email_error == True: print('注册成功了,此条case执行失败') def test_login_name_error(self): code_error = self.login.login_code_error('*****@*****.**','asxder','1234567','888') if code_error == True: print('注册成功了,此条case执行失败') def test_login_password_error(self): password_error = self.login.login_password_error('*****@*****.**','asxder','1234567','888') if password_error == True: print('注册成功了,此条case执行失败') def test_login_code_error(self): code_error = self.login.login_code_error('*****@*****.**','asxder','1234567','888') if code_error == True: print('注册成功了,此条case执行失败') def test_login_success(self): self.login.user_base('*****@*****.**','asxder','1234567','888') if self.login.register_success() == True: print("注册成功!")
class firstCase(unittest.TestCase): @classmethod def setUpClass(self): self.log = UserLog() self.logger = self.log.get_log() print("所有case执行之前的前置") @classmethod def tearDownClass(self): print("所有case执行之后的后置置") self.log.close() def setUp(self): self.driver = webdriver.Chrome() self.driver.get("http://www.5itest.cn/register?goto=/") self.logger.info("this is chrome") self.login = RegisterBusiness(self.driver) def tearDown(self): time.sleep(2) for method_name, error in self._outcome.errors: if error: casename = self._testMethodName file_path = os.path.join(os.getcwd() + "\\report\\" + casename + ".png") self.driver.save_screenshot(file_path) self.driver.close() def test_login_email_error(self): email_error = self.login.login_email_error("22", "user11", "1111", "2222") if email_error == True: print("邮箱验证成功,此条case成功") else: print("注册成功,此条case失败") self.assertTrue(email_error, "case执行成功") def test_login_username_error(self): username_error = self.login.login_name_error("22", "user11", "1111", "2222") '''if username_error == True: print("用户名验证成功,此条case成功") else: print("注册成功,此条case失败")''' self.assertTrue(username_error, "case执行成功") def test_login_code_error(self): pass def test_login_success(self): success = self.login.user_base("1111", "222", "22", "333") '''if self.login.register_success() == True: print("注册成功")''' self.assertTrue(self.login.register_success())
class FirstCase(unittest.TestCase): @classmethod def setUpClass(cls): cls.log = UserLog() cls.logger = cls.log.get_log() def setUp(self): warnings.simplefilter("ignore", ResourceWarning) self.driver = webdriver.Chrome() self.driver.get('http://www.5itest.cn/register') self.driver.maximize_window() self.logger.info("this is chrome") self.login = RegisterBusiness(self.driver) self.file_name = "E:/SELENIUMPYTHON/Image/test001.png" def tearDown(self): time.sleep(2) for method_name, error in self._outcome.errors: if error: case_name = self._testMethodName file_path = os.path.join(os.getcwd() + "/report/" + case_name + ".png") self.driver.save_screenshot(file_path) self.driver.close() print("执行完一条case") @classmethod def tearDownClass(cls): cls.log.close_handle() def test_login_email_error(self): email_error = self.login.login_email_error('34', 'user1111', '111111', self.file_name) self.assertFalse(email_error) #通过assert判断是否为error def test_login_username_error(self): username_error = self.login.login_name_error('*****@*****.**', 's1s', '33434', self.file_name) self.assertFalse(username_error) def test_login_password_error(self): password_error = self.login.login_password_error( '*****@*****.**', 'ss', '3343', self.file_name) self.assertFalse(password_error) def test_login_code_error(self): code_error = self.login.login_code_error('*****@*****.**', 'ss', '33434', self.file_name) self.assertFalse(code_error) def test_login_success(self): success = self.login.register_success('*****@*****.**', 'test16', '33434', self.file_name) #self.assertFalse(success) self.assertEqual(True, success)
class FirstCase(unittest.TestCase): @classmethod def setUpClass(cls) -> None: cls.log = UserLog() cls.logger = cls.log.get_log() def setUp(self) -> None: self.driver = webdriver.Chrome() self.driver.get('http://www.5itest.cn/register') self.logger.info("this is chrome") self.login = RegisterBusiness(self.driver) self.file_name = os.path.join(BATH_PATH, 'image', 'test001.png') def tearDown(self) -> None: time.sleep(2) # 捕获程序是否有异常,有则截图保存 for method_name, error in self._outcome.errors: if error: case_name = self._testMethodName file_path = os.path.join(BATH_PATH, 'report', case_name + '.png') self.driver.save_screenshot(file_path) self.driver.close() @classmethod def tearDownClass(cls) -> None: cls.log.close_handle() def test_login_email_error(self): email_error = self.login.login_email_error('34', 'user111', '11111', self.file_name) return self.assertFalse(email_error, "测试失败") def test_login_username_error(self): username_error = self.login.login_name_error('*****@*****.**', 't1', '111111', self.file_name) self.assertTrue(username_error) def test_login_code_error(self): code_error = self.login.login_code_error('*****@*****.**', 'ss22212', '111111', self.file_name) self.assertFalse(code_error) def test_login_password_error(self): password_error = self.login.login_password_error( '*****@*****.**', 'ss23222', '111111', self.file_name) self.assertFalse(password_error) def test_login_success(self): # success = self.login.register_success('*****@*****.**', '23213', '111111', self.file_name) # 成功 success = self.login.register_success('12221', '2321', '111111', self.file_name) # 失败 # print(success) self.assertTrue(success)
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")
class FirstCase(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.get('http://www.5itest.cn/register') self.login = RegisterBusiness(self.driver) def tearDown(self): self.driver.close() def test_login_email_error(self): email_error = self.login.login_email_error("34", "user1111", "1111111", "test1") if email_error == True: print("注册成功,此条case执行失败") def test_login_username_error(self): username_error = self.login.login_name_error("*****@*****.**", 'ss', '1111111', 'text1') if username_error == True: print("注册成功,此条case执行失败") def test_login_code_error(self): code_error = self.login.login_code_error("*****@*****.**", 'ssssss', '1111111', 'text1') if code_error == True: print("注册成功,此条case执行失败") def test_login_password_error(self): password_error = self.login.login_password_error( "*****@*****.**", 'sssss', '111', 'text1') if password_error == True: print("注册成功,此条case执行失败") def test_login_success(self): success = self.login.user_base("*****@*****.**", 'ssssss', '1111111', 'text1') if self.login.register_success() == True: print("注册成功")
class FirstCase(unittest.TestCase): def setUp(self) -> None: self.driver = webdriver.Chrome() self.driver.get('http://www.5itest.cn/register') self.driver.maximize_window() self.register_business = RegisterBusiness(self.driver) def tearDown(self) -> None: self.driver.close() def test_login_email_error(self): user_email_error = self.register_business.login_email_error('34', 'user111', '122333', '1233') self.assertTrue(user_email_error, "注册失败,此条case执行成功") # 通过assert判断是否为error def test_login_username_error(self): user_name_error = self.register_business.login_username_error('*****@*****.**', 'qw', '12333', '1231') # if user_name_error is True: # print("注册失败,此条case执行成功") self.assertTrue(user_name_error, "注册失败,此条case执行成功") # def test_login_password_error(self): # password_error = self.register_business.login_password_error('*****@*****.**', 'joseph2111', '123456', # '1234') # if password_error is True: # print("注册失败,此条case执行成功") # def test_login_code_error(self): # code_text_error = self.register_business.login_code_error('*****@*****.**', 'joseph_beer2', '123345', '1234') # if code_text_error is True: # print("注册失败,此条case执行成功") def test_login_success(self): success = self.register_business.user_base('*****@*****.**', 'joseph_beer', '111111', '1234') if self.register_business.register_success() is True: print("注册成功")
class FirstCase(unittest.TestCase): # 某一条case的前置条件, 装饰漆 @classmethod def setUpClass(cls): cls.code_file = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/code.png" print("所有case执行之前的前置") @classmethod def tearDownClass(cls): print("所有case执行之后的后置") def setUp(self): print("每条case执行之前") self.file_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_code_%s.png" % (time.time()) self.driver = webdriver.Chrome() self.driver.get("http://www.5itest.cn/register") self.driver.maximize_window() self.register = RegisterBusiness(self.driver) # self.register_function = RegisterFunction(self.driver, self.file_path) self.register_code = GetCode(self.driver, self.file_path) def tearDown(self): print("每条case执行之后") # py2看case有没有异常 # if sys.exc_info()[0]: # self.driver.save_screenshot() # py3中使用_outcome.errors, self._outcome.errors结果是一个list print(self._outcome.errors) for method_name, error in self._outcome.errors: if error: case_name = self._testMethodName error_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_%s_%s.png" % ( case_name, time.time()) self.driver.save_screenshot(error_path) self.driver.close() # def __init__(self, driver): # self.file_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_code_%s.png" % (time.time()) # self.driver = driver # self.register = RegisterBusiness(driver) # self.register_function = RegisterFunction(driver, self.file_path) # case名称尽量见名知意 def test_login_email_error(self): # 此方法应该封装在handle中 # if not self.register.login_email_error('email', 'user11188', '111111', 'test1'): # error_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_email_error_%s.png" % (time.time()) # self.driver.save_screenshot(error_path) # AssertionError 通过assert判断是否为error email_error = self.register.login_email_error('email', 'user11188', '111111', FirstCase.code_file) self.assertTrue(email_error, "邮箱用例") # @unittest.skip("不执行username用例") def test_login_username_error(self): name_error = self.register.login_name_error('*****@*****.**', '11', '111111', FirstCase.code_file) self.assertTrue(name_error, "名字用例") def test_login_code_error(self): code_error = self.register.login_password_error('*****@*****.**', 'user111d88', '1', FirstCase.code_file) # error_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_password_error_%s.png" % (time.time()) # # self.driver.save_screenshot(error_path) self.assertTrue(code_error, "验证码错误") def test_login_success(self): login_success = self.register.register_success('*****@*****.**', '388uu7', '123456', FirstCase.code_file) # error_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_error_%s.png" % (time.time()) # self.driver.save_screenshot(error_path) # else: # print("校验成功") self.assertTrue(login_success, "登录成功")
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-出错了')
class FirstCase(unittest.TestCase): @classmethod def setUpClass(cls): cls.log = UserLog() cls.logger = cls.log.get_log() def setUp(self): self.file_name = "E:/unittest/image/test01.png" self.driver = webdriver.Chrome() self.driver.get("http://www.5itest.cn/register?goto=/course/explore") self.driver.maximize_window() self.logger.info("this is chrome") self.login = RegisterBusiness(self.driver) def tearDown(self): time.sleep(2) #if sys.exc_info()[0]: for method_name, error in self._outcome.errors: if error: case_name = self._testMethodName file_path = os.path.join(os.getcwd() + "/report/" + case_name + ".png") self.driver.save_screenshot(file_path) self.driver.close() # @classmethod # def tearDownClass(cls): # cls.driver.close() #print("这个是后置条件") @classmethod def tearDownClass(cls): cls.log.close_handle() def test_login_email_error(self): email_error = self.login.login_email_error('*****@*****.**', '111', '111111', self.file_name) return self.assertFalse(email_error, "测试失败") # if email_error == True: # print("注册成功了,此条case执行失败") #通过assert判断是否为error def test_login_username_error(self): user_name_error = self.login.login_name_error('*****@*****.**', 'ss', '111111', self.file_name) self.assertFalse(user_name_error) # if user_name_error == True: # print("注册成功了,此条case执行失败") def test_login_password_error(self): password_error = self.login.login_password_error( '*****@*****.**', 'ss', '111', self.file_name) self.assertFalse(password_error) # if password_error == True: # print("注册成功了,此条case执行失败") def test_login_code_error(self): code_error = self.login.login_code_error('*****@*****.**', 'ss', '111111', self.file_name) self.assertFalse(code_error) # if code_error == True: # print("注册成功了,此条case执行失败") def test_login_success(self): success = self.login.register_success('*****@*****.**', 'ss', '111111', self.file_name) self.assertTrue(success)
class FirstCase(unittest.TestCase): @classmethod def setUpClass(cls): cls.user_log = UserLog() cls.log = cls.user_log.get_log() @classmethod def tearDownClass(cls): cls.user_log.close_handle() def setUp(self): warnings.simplefilter('ignore', ResourceWarning) self.driver = webdriver.Chrome() self.driver.get('http://www.5itest.cn/register') self.log.info("This is chrome") self.driver.maximize_window() time.sleep(3) self.re_business = RegisterBusiness(self.driver) self.file_code = base_path + '/Image/test001.png' def tearDown(self): time.sleep(3) # 失败截图 for method_name, error in self._outcome.errors: if error: case_name = self._testMethodName image_path = os.path.join(base_path + '/report/' + case_name + '.png') self.driver.save_screenshot(image_path) self.driver.close() # 邮箱,用户名,密码,验证码,错误信息定位元素,错误提示信息 def test_login_email_error(self): email_error = self.re_business.login_email_error( '*****@*****.**', '12', '66', self.file_code) self.assertFalse(email_error, '测试失败') ''' if email_error == True: print("email_error注册成功,此条case执行失败") else: print("email_error测试成功") ''' def test_login_username_error(self): name_error = self.re_business.login_name_error('55', '12222', '66', self.file_code) self.assertFalse(name_error) ''' if name_error == True: print("name_error注册成功,此条case执行失败") else: print("name_error测试成功") ''' def test_login_pwd_error(self): pwd_error = self.re_business.login_pwd_error('55', '12222', '666666', self.file_code) if pwd_error == True: print("pwd_error注册成功,此条case执行失败") else: print("pwd_error测试成功") def test_login_code_error(self): code_error = self.re_business.login_code_error('55', '12222', '66', self.file_code) if code_error == True: print("code_error注册成功,此条case执行失败") else: print("code_error测试成功") def test_login_success(self): self.re_business.user_base('3640', '12222', '66', '99') if self.re_business.register_success() == True: print("注册成功,此条case执行成功") else: print("注册失败")
class FirstCase(unittest.TestCase): @classmethod def setUpClass(cls): cls.file_name = "E:/programs/pycharmprojects/selenium_python/pageobject/image/test01.png" cls.log = UserLog() cls.logger = cls.log.get_log() @classmethod def tearDownClass(self): # self.log.close_log() print('所有case运行后的后置条件') def setUp(self): # self.file_name = "E:/programs/pycharmprojects/selenium_python/pageobject/image/test01.png" self.driver = webdriver.Chrome( 'C:\Program Files (x86)\Google\Chrome\Application\\chromedriver.exe' ) self.driver.maximize_window() time.sleep(2) self.driver.get('http://www.5itest.cn/register') self.logger.info('this is chrome') self.RB = RegisterBusiness(self.driver) def tearDown(self): #通过self._outcome.errors捕捉报错信息,并提取其中的值到method_name,error两个变量中 for method_name, error in self._outcome.errors: #当错误不为空时,执行截图操作,截图文件保存路径为当前工程目录下report文件夹 #并以当前case命名 if error: #获取当前case名称 case_name = self._testMethodName #设置路径为当前工程目录下report文件夹,并以当前运行case命名的文件 file_path = os.path.abspath( os.path.dirname(os.getcwd()) + '/report/' + case_name + '.png') self.driver.save_screenshot(file_path) self.driver.close() def test_login_email_error(self): email = self.RB.login_email('11111', '2222', '3333', self.file_name) return self.assertFalse(email, '邮箱错误case成功') def test_login_uaser_name_error(self): username = self.RB.login_username('*****@*****.**', '111', '123456', self.file_name) return self.assertFalse(username, '用户名错误case成功') def test_login_password_error(self): password = self.RB.login_password('*****@*****.**', '111', '123', self.file_name) return self.assertFalse(password, '密码错误case成功') def test_login_code_error(self): captcha = self.RB.login_captcha('*****@*****.**', '111', '123456', self.file_name) return self.assertFalse(captcha, '验证码错误case成功') def test_login_success(self): success = self.RB.register_success('*****@*****.**', '12345', '12345', self.file_name) self.assertTrue(success, '注册成功的case失败')