def class_home(): global driver print("============整个测试类只执行一次的前置======================") # 打开浏览器 if GUI == True: driver = webdriver.Chrome() # 设置全屏 # driver.fullscreen_window() # 最大化 driver.maximize_window() else: #谷歌无头模式,driver.maximize_window()不起作用,需要使用add方法添加窗口大小属性 options = webdriver.ChromeOptions() options.add_argument('--headless') options.add_argument('--disable-gpu')#谷歌文档提到需要加上这个属性来规避bug options.add_argument('--no-sandbox') options.add_argument('--window-size=1920,1080')#设置窗口大小 driver = webdriver.Chrome(chrome_options=options) #火狐无头模式 # options = webdriver.FirefoxOptions() # options.add_argument('-headless') # driver = webdriver.Firefox(options=options) lp = LoginPage(driver) # 打开目标网页-登录-处理alert driver.get(CD.login_url) lp.login(ld.sucess_data["user"],ld.sucess_data["pwd"]) lp.switch_alert() yield [driver,lp] # 关键字隔开前置、后置 后面空格[返回值] driver.quit() print("============整个测试类只执行一次的后置======================")
def init_login(init_driver):# 登录全局配置 lg = LoginPage(init_driver) lg.login(GD.username, GD.password) yield init_driver init_driver.quit()
def test_login_0_errorDatas(self, data, prepare_nev): #1.步骤:登录页面功能 lp = LoginPage(prepare_nev) lp.login(data["user"], data["password"]) #2.断言 assert data["check"], lp.get_errorMsg_from_loginArea( ) #assertEqual通过实际给出的提示,与get_errorMsg_from_loginArea方法定位的提示是否一致,一致用例通过
def test_login_noPassword(self): #输入用户名密码,点击登录 lp = LoginPage(self.driver) lp.login(noPassword["username"], noPassword["password"]) #验证提示信息 self.assertEqual(lp.get_errorMsn_formLoginArea(), noPassword["check"])
class Test_Login: @pytest.fixture def init_driver(self): self.driver = webdriver.Chrome() self.lp = LoginPage(self.driver) yield self.driver.quit() #用例一 :登陆成功 @pytest.mark.smoke def test_1_login_success(self, init_driver): logging.info("========开始执行测试用例:登陆成功用例=========") #步骤 self.lp.login(web_url, login_success_datas["username"], login_success_datas["passwd"]) # 结果比对 time.sleep(3) ip = IndexPage(self.driver) assert ip.get_url() == login_success_datas["check_url"] assert ip.get_nickname() == login_success_datas["check_nickname"] #用例二 :没有用户名 def test_2_login_noUsername(self, init_driver): logging.info("========开始执行测试用例:登陆成功用例=========") # 步骤 self.lp.login(web_url, login_noUser_datas["username"], login_noUser_datas["passwd"]) # 结果比对 time.sleep(3) url = self.lp.get_url() wrong_msg = self.lp.get_wrongMsg_from_noUserPaswd() assert url == login_noUser_datas["check_url"] assert wrong_msg == login_noUser_datas["check_msg"]
def login_sucess(driver): lg = LoginPage(driver) code = lg.code_image_to_text() lg.login(LD.sucess_data['username'], LD.sucess_data['password'], code) if lg.get_title() != '日常事务管理平台': lg.clear_username_input() lg.clear_password_input() lg.clear_code_input() login_sucess(driver)
class TestLogin(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.get(ld.web_login_url) self.driver.maximize_window() self.lg = LoginPage(self.driver) def test_login(self): self.lg.login(ld.username, ld.password) self.assertTrue(HomePage(self.driver).isexist_logout_ele()) def tearDown(self): self.driver.quit()
def login(): url = Common_Datas.login_url info = login_datas.sucess_data driver = webdriver.Firefox() driver.get(url) lp = LoginPage(driver) lp.login(info["user"], info["pwd"]) alert = lp.switch_alert(driver) if alert: msg = alert.text print(msg) alert.accept() else: print("alert未弹出!") return driver
class TestLogin(unittest.TestCase): #整个类执行一次 @classmethod def setUpClass(cls): print("整个测试类只执行一次的前置") pass @classmethod def tearDownClass(cls): print("整个测试类只执行一次的后置") pass #每个测试用例执行一次 def setUp(self): print("测试类中每个测试用例都执行一次的前置") #打开浏览器,访问 课堂派登录页面 self.driver = webdriver.Chrome() self.driver.get(CD.login_url) self.lp = LoginPage(self.driver) def tearDown(self): self.driver.quit() #正常场景:登录成功 def test_login_success(self): #步骤 测试数据 18610430456 liqi_0827 #登录页面——登录功能——输入用户名密码 self.lp.login(ld.scuess_data["user"], ld.scuess_data["pwd"]) #断言,根据登录成功后页面出现的特征元素,判断 self.assertTrue(IndexPage(self.driver).is_user_link_exists()) #异常场景:用户名为空 @ddt.data(*ld.wrong_data) def test_login_nullUser(self, data): #步骤 测试数据 "" liqi_0827 断言数据:账号不能为空 self.lp.login(data["user"], data["pwd"]) #断言 self.assertEqual(data["check"], self.lp.get_wrongMsg_uesr()) #异常场景:用户名、密码为空 # # def test_login_nullUser_1(self): # #步骤 测试数据 "" liqi_0827 断言数据:账号不能为空 # self.lp.login("", "") # #断言 # self.assertEqual("账号不能为空",self.lp.get_wrongMsg_uesr()) #异常场景:密码为空 def test_login_noPasswd(self): #步骤 测试数据 18610430456 "" LoginPage(self.driver).login("18610430456", "") #断言 self.assertEqual("密码不能为空", self.lp.get_wrongMsg_pwd()) #常场景:用户不存在 def test_login_noUser(self): #步骤 测试数据 self.lp.login(ld.wrong_user_format["user"], ld.wrong_user_format["pwd"]) #断言 self.assertEqual(ld.wrong_user_format["check"], self.lp.get_no_uesr())
class TestLogin(unittest.TestCase): def setUp(self) -> None: #打开浏览器 self.driver = webdriver.Chrome() #窗口最大化 self.driver.maximize_window() #访问登录页面 self.driver.get(CD.login_url) self.lp = LoginPage(self.driver) def tearDown(self) -> None: self.driver.quit() def test_success_login(self): logging.info("登录功能 - 正常场景用例:输入正确的用户名登录成功") #输入用户名登录 self.lp.login(LD.success_data["username"],LD.success_data["passwd"]) time.sleep(2) #url发生改变 self.assertEqual(LD.success_data["check_url"],self.driver.current_url) #登录的用户是否存在 self.assertTrue(HomePage(self.driver).user_is_existed())
class TestLogin(unittest.TestCase): # 前置条件(每条用例运行前执行) def setUp(self) -> None: # 打开谷歌浏览器 self.driver = webdriver.Chrome("D:\Tools\Chrome浏览器\Google\Chrome\Application\chromedriver.exe") #访问项目登录地址 self.driver.get("http://8.129.91.152:8765/Index/login.html") #窗口最大化 self.driver.maximize_window() self.lp = LoginPage(self.driver) # 后置条件(每条用例运行结束后执行) def tearDown(self) -> None: # 关闭当前会话窗口 self.driver.quit() def test_success_login(self): do_log.info("登录功能-正常场景用例-输入正确的用户名和密码登录") self.lp.login(CD.username,CD.password) # 登录后页面发生跳转建议这里等待一下 time.sleep(1) # url发生改变 self.assertEqual("http://8.129.91.152:8765/Index/index",self.driver.current_url) # 我的用户是否存在 self.assertTrue(HomePage(self.driver).user_is_exited()) # 输入未注册的用户进行登录 def test_not_exited_user_login(self): do_log.info("登录功能-异常场景用例-输入未注册用户名和密码登录") self.lp.login(LD.no_exit_datas["username"],LD.no_exit_datas["passwd"]) self.assertEqual(self.lp.get_not_user_or_error_passwd(),LD.no_exit_datas["check"]) #输入错误的密码登录 def test_error_passwd_login(self): do_log.info("登录功能-异常场景用例-输入用户名和错误的密码登录") self.lp.login(LD.passwd_error["username"],LD.passwd_error["passwd"]) self.assertEqual(self.lp.get_not_user_or_error_passwd(),LD.passwd_error["check"]) @ddt.data(*LD.wrong_datas) def test_not_input_user_or_passwd_login(self,data): do_log.info("登录功能-异常场景用例-不输入用户名或者密码以及错误的用户名登录") self.lp.login(data["username"],data["passwd"]) self.assertEqual(self.lp.error_user_msg(),data["check"])
@IDE : PyCharm @Motto : Never Stop Learning ------------------------------------------- """ import time from selenium import webdriver from PageObjects.login_page import LoginPage from PageObjects.index_page import IndexPage from TestDatas import common_datas as cd driver = webdriver.Chrome() driver.maximize_window() driver.get(cd.login_url) lp = LoginPage(driver) lp.login(*cd.student_user) l = IndexPage(driver) time.sleep(8) top = l.stu_top_courses() other = l.stu_other_courses() for i in top: x = i.get_attribute("data-id") print(x) print(len(top)) for i in other: y = i.get_attribute("data-id") print(y) print(len(other)) time.sleep(1) driver.quit()
def test_login_success(self, driver, data): lp = LoginPage(driver) lp.login(data['phone'], data['password']) ip = IndexPage(driver) assert ip.is_exist_username()
def test_login_fail(self, driver, data): lp = LoginPage(driver) lp.login(data['phone'], data['password']) assert lp.get_error_info() == data['msg']
def test_login_1_errorDatas(self, data): lp = LoginPage(self.driver) lp.login(data['user'], data['pwd']) self.assertEqual(data['check'], lp.get_errorMsg_pageCenter())
def test_login_0_wrongDatas(self, data): # 步骤 lp = LoginPage(self.driver) lp.login(data["user"], data["pwd"]) # 断言 self.assertEqual(data["check"], lp.get_errorMsg_from_loginArea())
@Motto : Never Stop Learning ------------------------------------------- """ import time from selenium import webdriver from PageObjects.login_page import LoginPage from PageObjects.index_page import IndexPage from TestDatas import common_datas as cd from API import api_course_operate driver = webdriver.Chrome() driver.maximize_window() driver.get(cd.login_url) lp = LoginPage(driver) lp.login(*cd.teacher_user) l = IndexPage(driver) time.sleep(8) top = l.stu_top_courses() other = l.stu_other_courses() count1 = 0 # login = api_course_operate.CourseOperate(*cd.teacher_user) for i in top: x = i.get_attribute("data-id") print(x) # count1 += 1 # if count1 <= 10: # print(count1) # login.delete_couse(x, cd.teacher_user[-1]) print(len(top)) count2 = 0
def login(): global driver lp = LoginPage(driver) lp.login(login_data.login_success_data[0]['phone'], login_data.login_success_data[0]['password'])
def test_login_fail(self,data,class_env): #登录功能 lp = LoginPage(class_env) lp.login(data['username'], data['passward']) # 错误提示是否正确 assert data['check'] == lp.get_error_msg()