def test_invest_sucess(self, init_env): #步骤 #实例化首页对象,首页点击第一个标名 index_p = IndexPage(init_env) invest_loanName = index_p.get_firstLoanName() index_p.click_firstLoan() #进入标的详情页面后,获取当前用户余额,实例化标详情页面对象 loan_p = LoanInfo_Page(init_env) userMoney_beforeInvest = loan_p.get_userLeftMoney() #输入金额,并提交投标操作 loan_p.invest(invest_success_datas["money"]) #投标成功弹出框出现,获取其提示信息 success_msg = loan_p.get_investSuccess_msg() #点击激活并查看按钮 ,进入个人页面 loan_p.click_popup_activeButton() #校验 - 实例化个人页面对象 user_p = UserInfo_Page(init_env) #获取用户当前余额 userMoney_afterInvest = user_p.get_userLeftMoney() #查看用户投资记录的第一条,获取标名。 user_p.click_investRecord_tab() investRecord_loanName = user_p.get_firstLoanName_byInvestRecord() #比对余额差,投资记录的标名是否正确。 assert success_msg.find( invest_success_datas["check_success_msg"]) != -1 assert invest_success_datas["check_less_money"] == int( float(userMoney_beforeInvest)) - int(float(userMoney_afterInvest)) assert invest_loanName == investRecord_loanName
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 access_web(): global driver # 前置 访问登录页面 driver = webdriver.Chrome() driver.get(CD.web_login_url) driver.maximize_window() lg = LoginPage(driver) IndexPage(driver).isExist_indexLogin_ele() IndexPage(driver).click_indexLogin() # 后置条件 yield (driver, lg) driver.quit()
def test_login_success(self, init_driver): # 步骤 # 登陆页面 - 输入用户名 - [email protected] # 登陆页面 - 输入密码 - nmb_python # 登陆页面 - 点击登陆按钮 # 断言 # 首页 - 获取用户元素,确认是否存在 init_driver[1].login(ld.correct_data_teacher["username"], ld.correct_data_teacher["password"]) ip = IndexPage(init_driver[0]) assert ip.if_user_is_exist() assert cd.index_url == ip.get_current_url()
def test_invest_failed_by_No100(self, login_web): logging.info("*********投资用例:异常场景:投资金额为非100的整数倍*********") # 首页 - 选一个标来投资 - 直接选第一个标 - --- / 随机选一个 IndexPage(login_web).click_first_investButton() # 标页面 - 获取投资前的个人余额 bid_page = BidPage(login_web) userMoney_beforeInvest = bid_page.get_user_leftMoney() # 标页面 - 输入投资金额 ,点击投标按钮 bid_page.invest(ID.no100_data["money"]) # 获取提示信息 errorMsg = bid_page.get_errorMsg_from_popup() # 刷新 login_web.refresh() # 获取用户余额 userMoney_afterInvest = bid_page.get_user_leftMoney() # 断言 assert errorMsg == ID.no100_data["check"] assert userMoney_afterInvest == userMoney_beforeInvest # # def test_invest_fail_no10(self): # pass #异常场景 - 用户余额不够 - 手功用例 #异常场景 - 投资》标的可投余额 - 手功用例
def init(init_driver_fun): logging.info("实例化PO页面对象") LoginPage(init_driver_fun).login(*cd.invest_user) ip = InverstPage(init_driver_fun) udp = UserDetailsPage(init_driver_fun) ixp = IndexPage(init_driver_fun) yield init_driver_fun, ip, udp, ixp
def test_login_2_success(self, access_web): #步骤 输入用户名 密码 点击登录 access_web[1].login(LD.success_data["user"], LD.success_data["password"]) #断言 assert IndexPage(access_web[0]).isExist_login_ele()
def test_login_3_success(self): ''' 登录成功的case ''' self.lp.login(testlogin_datas.login_success[0]['user_name'], testlogin_datas.login_success[0]['user_pwd']) # try: # self.assertTrue(IndexPage(self.driver).user_info_visiable()) # print("Pass") # self.lp.getlog.get_logging('INFO','Test Pass!') # except Exception as e: # self.lp.getlog.get_logging('INFO','Test Fail!') # raise e #切换窗口 # self.lp.switch_new_window('new') try: self.assertEqual( IndexPage(self.driver, model=self.lp.model).get_user_info_text(), testlogin_datas.login_success[0]['msg']) print(self.lp.model) self.lp.getlog.get_logging('INFO', 'Test Pass!') except Exception as e: self.lp.getlog.get_logging('INFO', 'Test Fail!,msg:{0}'.format(e)) raise e
def test_login_2_success(self): logging.info("***登录用例:正常场景:使用正确的用户名和密码登录*****") #步骤 输入用户名:XXX、密码XXX、点击登录 self.lg.login(LD.success_data["username"], LD.success_data["password"]) #断言 首页当中--能否找到 首页 元素 time.sleep(2) self.assertTrue(IndexPage(self.driver).isExist_homepage_ele())
def test_loogin_1_success(self, prepare_nev): # 调用登录类内的方法,并传参 # 对象调用类方法 LoginPage(prepare_nev).login(TD.succ_data["user"], TD.succ_data["password"]) # 断言,通过首页元素断言登录是否成功 assert IndexPage(prepare_nev).isExist_quitEle()
def test_login_success(self,init_app): #切换到我的柠檬 IndexPage(init_app).click_nav_by_name("我") #点击头像#登陆操作 lp = LoginPage(init_app) lp.click_login_avatar().login_action("18684720553","720553") # 获取登陆状态 assert lp.get_login_status() is True
def course_grid(init_course): driver = webdriver.Chrome() driver.maximize_window() driver.get(cd.login_url) LoginPage(driver).login(*cd.student_user) ip = IndexPage(driver) yield driver, ip, init_course driver.quit()
def setUpClass(cls): logging.info("=====用例类前置:初始化浏览器会话=======") cls.driver = webdriver.Chrome() cls.driver.maximize_window() cls.driver.get(CD.web_login_url) LoginPage(cls.driver).login(CD.user, CD.password) IndexPage(cls.driver).click_first_bid() cls.bid_page = BidPage(cls.driver)
def test_login_2_success(self, access_web): #fixture的函数名称作为用例参数,用来接收fixture返回值 logging.info("***登录用例:正常场景:使用正确的用户名和密码登录*****") #步骤 输入用户名:XXX、密码XXX、点击登录 access_web[1].login(LD.success_data["username"], LD.success_data["password"]) #断言 首页当中--能否找到 退出 元素 assert IndexPage(access_web[0]).isExist_logout_ele()
def setUpClass(cls): cls.driver = webdriver.Chrome() cls.driver.maximize_window() cls.driver.get(login_url) cls.lg = LoginPage(cls.driver) cls.lg.login(noraml_login['phone'], noraml_login['pwd']) cls.indexpage = IndexPage(cls.driver) cls.indexpage.click_bid_random() cls.bit = BidPage(cls.driver)
def setUpClass(cls): # 初始化浏览器会话 logging.info("===用例类前置:初始化浏览器会话,登陆前程贷系统=======") cls.driver = webdriver.Chrome() cls.driver.maximize_window() cls.driver.get(CD.web_login_url) LoginPage(cls.driver).login(CD.user, CD.passwd) # 首页 - 选一个标来投资 - 直接选第一个标 -- / 随机选一个 IndexPage(cls.driver).click_first_bid() cls.bid_page = BidPage(cls.driver)
def test_invest_0_failed_no100(self): IndexPage(self.driver).click_firstBid() bp = BidPage(self.driver) bp.invest(150) time.sleep(1) expected = '投标金额必须为100的倍数' # actual = BasePage(self.driver).get_element_attribute(BidPageLocator.invest_failed_popup1, "text-center", "投资_非100倍数") BasePage(self.driver).wait_eleVisible(BidPageLocator.invest_failed_popup) actual = self.driver.find_element_by_xpath('//div[@class="text-center"]').text self.assertEqual(expected, actual)
def init_indexEnv(): #前置 driver = webdriver.Chrome(chrom_path) driver.maximize_window() driver.get(web_url) indexp = IndexPage(driver) yield [driver, indexp] #返回数据 列表类型 #打开浏览器访问网址 #后置 driver.quit()
def setUpClass(cls): # 初始化浏览器会话 # 通过excel读取本功能当中需要的所有测试数 cls.driver = webdriver.Chrome() cls.driver.maximize_window() cls.driver.get(CD.web_login_url) LoginPage(cls.driver).login(LD.success_data["user"], LD.success_data["password"]) # 1. 在首页投资 ---不根据标名,根据抢投标。默认第一个表 IndexPage(cls.driver).click_first_bid() cls.bid_page = BidPage(cls.driver)
def test_invest_failed_no100(self,prepare_nev): # LoginPage(prepare_nev).login(CD.user,CD.passwd) #首页-抢投标按钮-进入投标页面 IndexPage(prepare_nev).click_firstBid() #投标输入框,输入 time.sleep(3) BidPage(prepare_nev).invest(110) #点击投标按钮 a = BidPage(prepare_nev).get_errorMsg_from_pageCenter() #断言文本定位://div[@class="text-center"] assert a,'投标金额必须为100的倍数'
def test_applyjob_success(self, init_indexEnv): # 1.首页-个人登录 IndexPage(init_indexEnv[0]).click_personlogin() # 2.登录页面-输入账号密码-登录成功 PersonLoginPage(init_indexEnv[0]).person_login( person_login_succs["username"], person_login_succs["passwd"]) # 3.个人中心页面-点击菜单-岗位搜索 PersonCenterPage(init_indexEnv[0]).click_jobsearch() # 4.岗位搜索页面-点击申请职位 JobSearchPage(init_indexEnv[0]).click_aplly_job() assert JobSearchPage(init_indexEnv[0]).get_noticecontent() == "申请成功"
def test_personregist_sucess(self, init_indexEnv): # 1.首页-个人注册 IndexPage(init_indexEnv[0]).click_personregist() # 2.个人注册页面-填写信息-注册 # 手机号随机获取 phone = RamdonFun().create_phone() PersonRegistPage(init_indexEnv[0]).click_person_regist( phone, personregist_sucess["phonecode"], personregist_sucess["pwd"], personregist_sucess["pwd2"]) # 3.注册成功-跳转至个人中心页面 assert PersonCenterPage(init_indexEnv[0]).get_phone() == phone
def test_login_success(self, init_loginEnv): # # 输入正确的账户和密码登录 # self.loginp.login(login_succ['username'], login_succ['passwd']) # # 断言 # self.assertEqual( # IndexPage( # self.driver).get_nickName(), # login_succ['check']) init_loginEnv[1].login(login_succ["username"], login_succ["passwd"]) # 断言 assert IndexPage( init_loginEnv[0].get_nickName()) == login_succ['check']
def test_login_success(self, init_loginEnv): logging.info("*********登陆用例:正常场景:使用正确的用户名和密码登陆*********") #步骤 - 登陆:用户名:18684720553 密码:python 比对数据:我的帐户[小小蜂96027] init_loginEnv[1].login(LD.login_succs["username"], LD.login_succs["passwd"]) #断言 try: assert IndexPage( init_loginEnv[0]).get_nickName() == LD.login_succs["check"] except AssertionError: logging.exception("断言失败") raise
def test_delworkexprience(self, init_indexEnv): #1.首页-个人登录 IndexPage(init_indexEnv[0]).click_personlogin() # 2.登录页面-输入账户密码-登录成功 PersonLoginPage(init_indexEnv[0]).person_login( person_login_succs["username"], person_login_succs["passwd"]) # 3.个人中心页面-点击菜单-简历管理 PersonCenterPage(init_indexEnv[0]).click_resumemanage() # 4.简历管理页面-添加求职意向("自动企业{0}".format(num),("自动岗位{0}".format(num) ResumeManagePage(init_indexEnv[0]).del_work_exprience() # 断言 assert ResumeManagePage( init_indexEnv[0]).get_save_prompt() == "删除后不可恢复,确认删除吗!"
def test_deljobintention(self, init_indexEnv): # 1.首页-个人登录 IndexPage(init_indexEnv[0]).click_personlogin() # 2.登录页面-输入账户密码-登录成功 PersonLoginPage(init_indexEnv[0]).person_login( person_login_succs["username"], person_login_succs["passwd"]) # 3.个人中心页面-点击菜单-简历管理 PersonCenterPage(init_indexEnv[0]).click_resumemanage() # 4.简历管理页面-删除求职意向 ResumeManagePage(init_indexEnv[0]).del_job_initention() # 断言 assert ResumeManagePage( init_indexEnv[0]).get_save_prompt() == "删除后不可恢复,确认删除吗!"
def test_collectjob_succes(self, init_indexEnv): # 1.首页-个人登录 IndexPage(init_indexEnv[0]).click_personlogin() # 2.登录页面-输入账号密码-登录成功 PersonLoginPage(init_indexEnv[0]).person_login( person_login_succs["username"], person_login_succs["passwd"]) # 3.个人中心页面-点击菜单-岗位推荐 PersonCenterPage(init_indexEnv[0]).click_jobrecommen() # 4.岗位推荐页面-点击岗位 JobRecommenPage(init_indexEnv[0]).click_jobname() # 5.岗位详情页面-点击收藏,收藏成功 JobDetailPage(init_indexEnv[0]).collect_job() assert JobDetailPage(init_indexEnv[0]).get_noticecontent() == "收藏成功"
def setUpClass(cls): cls.driver = webdriver.Chrome() cls.driver.get('http://120.78.128.25:8765/Index/login.html') cls.driver.maximize_window() cls.ip = IndexPage(cls.driver) cls.bp = BidPage(cls.driver) cls.lp = LoginPage(cls.driver) cls.up = UserPage(cls.driver) # 登陆账号 cls.lp.login(LD.sucess_data['phone'], LD.sucess_data['password']) # 选择投标 cls.ip.select_invest()
def test_jobintention_success(self, init_indexEnv): #1.首页-个人登录 IndexPage(init_indexEnv[0]).click_personlogin() # 2.登录页面-输入账户密码-登录成功 PersonLoginPage(init_indexEnv[0]).person_login( person_login_succs["username"], person_login_succs["passwd"]) # 3.个人中心页面-点击菜单-简历管理 PersonCenterPage(init_indexEnv[0]).click_resumemanage() # 4.简历管理页面-添加求职意向 jobname = RamdonFun().ramdom_num(3) ResumeManagePage(init_indexEnv[0]).add_job_intention( "自动岗位{0}".format(jobname)) #断言 assert ResumeManagePage(init_indexEnv[0]).get_save_prompt() == "添加成功!"
def test_enter_tiku_suites(self,start_app): #切换到题库 IndexPage(start_app).click_nav_by_name("题库") tk = TikuPage(start_app) # 获取所有的题库类型 tk.get_all_tiku_type_names() #随机题库类型 index = random.randint(0,len(tk.tiku_types_list)-1) # 选择题库类型 tk.select_tiku_type_by_name(tk.tiku_types_list[index]) #选择题库难易程序 tk.select_topic_level("初级") #选择套题 tk.select_topic_suite_by_random()