def login(self): driver = self.driver # driver.maximize_window() LoginPage(self).username().click() LoginPage(self).username().send_keys("admin") LoginPage(self).password().send_keys("admin") LoginPage(self).button().click()
def __init__(self, driver): self.driver = driver self.login_page = LoginPage(driver) self.public_page = PublicPage(driver) self.first_page = FirstPage(driver) self.center_page = CenterPage(driver) self.shopcar_page = ShopCarPage(driver)
def test_login_success( self, init_driver): # fixture的函数名称,作为参数传给测试用例。函数名称等于fixture执行后的返回值 # 用例 = 登录页的登陆功能 + 首页的检查用户昵称存在的功能 # 操作步骤 LoginPage(init_driver).login(ld.success['username'], ld.success['passwd']) # 断言 -页面是否存在 我的账户 元素 元素定位 + 元素操作 assert IndexPage(init_driver).check_userName_exists() # 测试对象+测试数据 # 断言 assert init_driver.current_url == ld.success['check']
def setUpClass(cls): super(Meta, cls).setUpClass() cls.common = Common(cls.uiHelper) cls.login_page = LoginPage(cls.uiHelper) cls.public_page = PublicPage(cls.uiHelper) cls.first_page = FirstPage(cls.uiHelper) cls.center_page = CenterPage(cls.uiHelper) cls.shopcar_page = ShopCarPage(cls.uiHelper) logger.info('开始查找获取权限的"允许"按钮') time.sleep(2) while cls.uiHelper.element_is_show('//*[@text="允许"]', period=1): logger.info('找到"允许"按钮') cls.uiHelper.click('//*[@text="允许"]') logger.info('点击"允许"按钮') time.sleep(2) logger.info("进入引导页") cls.uiHelper.swipe_up() cls.assertTrue( cls.uiHelper.element_in_time(cls.first_page.sign_in, retry=6), "签到奖励按钮未显示") logger.info("进入到首页") cls.public_page.click_b_center() cls.center_page.click_no_login_btn() cls.common.login()
def test_login_wrongpawwsd(self, data, init_driver): # 操作步骤 LoginPage(init_driver).login(data["username"], data["passwd"]) # 断言 assert data["check"] == LoginPage(init_driver).get_page_content_error()
def test_login_nopasswd(self, data, init_driver): # 操作步骤 LoginPage(init_driver).login(data["username"], data["passwd"]) # 断言 assert data["check"] == LoginPage(init_driver).get_from_error_info()
class Common: """ 测试case中常用方法 """ def __init__(self, driver): self.driver = driver self.login_page = LoginPage(driver) self.public_page = PublicPage(driver) self.first_page = FirstPage(driver) self.center_page = CenterPage(driver) self.shopcar_page = ShopCarPage(driver) def login(self, username='******', pwd='xxxxxx', verify=True): """ 登录 """ self.login_page.send_keys_login_name(username) self.login_page.send_keys_login_pwd(pwd) self.login_page.click_login_btn(verify) def logout(self): """ 退出登录 """ self.center_page.click_setting_btn() self.setting_page.click_logout_btn() def coming_login_page(self): """ 判断当前页面是否在登录页,若不在进入登录页面 """ try: logger.info('判断当前是否在登录页') self.driver.find_element(self.login_page.login_btn, period=3) except NoSuchElementException: try: logger.info('当前不在登录页') logger.info('查看当前页面是否存在返回按钮') while self.driver.find_element(self.public_page.backup_btn, period=2): logger.info('当前页面存在返回按钮') self.public_page.click_backup_btn() self.public_page.click_b_center() self.logout() except NoSuchElementException: logger.info('当前页面不存在返回按钮') self.public_page.click_b_center() self.logout() def shop_car_clear(self, verify=True): """ 清空购物车 """ self.shopCar_page.click_del_goods() while self.driver.element_in_time(self.shopCar_page.clear_shopCar, retry=5): if self.shopCar_page.get_category_num() == 1: self.shopCar_page.click_clear_shopCar() self.shopCar_page.click_ok_btn(verify=verify) else: self.shopCar_page.click_clear_shopCar() self.shopCar_page.click_ok_btn(verify=False)
def __init__(self): op_br = OpenBrowser() self.driver = op_br.get_driver() self.basepage = BasePage() self.Login = LoginPage()
class ProductPage(object): def __init__(self): op_br = OpenBrowser() self.driver = op_br.get_driver() self.basepage = BasePage() self.Login = LoginPage() def login(self): self.Login.login("http://www.yunkezan.com/admin/roomstyle/index") def click_product(self,productcate): logger.info(u"跳转到选择的产品页面") self.driver.get("http://www.yunkezan.com/admin/roomstyle/index") self.basepage.get_windows_img() #self.driver.find_element_by_partial_link_text(u"门票").click() self.driver.find_element_by_partial_link_text(productcate).click() self.basepage.get_windows_img() def create_product(self,hotelvalue,indextype): logger.info(u"点击创建产品") self.driver.find_element_by_partial_link_text(u"创建产品").click() self.basepage.get_windows_img() select = self.driver.find_element_by_id("hotelId") #Select(select).select_by_value("315") Select(select).select_by_value(hotelvalue) self.basepage.get_windows_img() #self.driver.find_element_by_xpath(".//*[@id='roomStyleTypeList']/label[2]/input").click() self.driver.find_element_by_xpath(self.indextype).click() #self.driver.find_element_by_xpath(".//*[@id='createProductModal']/div/div/div[3]/button[1]").click() self.driver.find_element_by_xpath(".//*[@id='createProductModal']/div/div/div[3]/button[1]").click() def insert_menpiao_info(self,label,productname,starttime,endtime,count,productAlias): try: self.driver.find_element_by_id("inputTag") except NoSuchElementException as msg: print "未找到此元素%s" % msg else: logger.info(u"输入标签内容") self.driver.find_element_by_id("inputTag").send_keys(label) self.basepage.get_windows_img() try: self.driver.find_element_by_partial_link_text(u"添加") except NoSuchElementException as msg: print "未找到此元素%s" % msg else: logger.info(u"点击添加按钮") self.driver.find_element_by_partial_link_text(u"添加").click() self.basepage.get_windows_img() logger.info(u"输入产品名称") self.driver.find_element_by_id("goodsName").send_keys(productname) logger.info(u"修改产品状态") status = self.driver.find_element_by_id("statusIs") Select(status).select_by_value("1") logger.info(u"选择开始日期") self.driver.find_element_by_id("presellStartTime").starttime.send_keys(starttime) logger.info(u"选择结束日期") self.driver.find_element_by_id("presellEndTime").endtime.send_keys(endtime) logger.info(u"可使用人数") self.driver.find_element_by_id("maxOccupancy").send_keys(count) logger.info(u"输入产品别名") self.driver.find_element_by_id("goodsAlias").send_keys(productAlias) self.basepage.get_windows_img() def insert_huiyishi_info(self, label, productname,count, starttime, endtime ,price,stock,location,mianji,huiyishi,productAlias): logger.info(u"输入标签内容") self.driver.find_element_by_id("inputTag").send_keys(label) self.basepage.get_windows_img() self.driver.find_element_by_partial_link_text(u"添加") logger.info(u"点击添加按钮") self.driver.find_element_by_partial_link_text(u"添加").click() self.get_windows_img() logger.info(u"输入产品名称") self.driver.find_element_by_id("goodsName").send_keys(productname) logger.info(u"修改产品状态") status = self.driver.find_element_by_id("statusIs") Select(status).select_by_value("1") logger.info(u"可使用人数") self.driver.find_element_by_id("maxOccupancy").send_keys(count) logger.info(u"选择开始日期") starttime = self.driver.find_element_by_id("presellStartTime") starttime.send_keys(self.starttime) logger.info(u"选择结束日期") endtime = self.driver.find_element_by_id("presellEndTime") endtime.send_keys(self.endtime) logger.info(u"输入价格") self.driver.find_element_by_id("price").send_keys(price) logger.info(u"输入库存") self.driver.find_element_by_id("stockNum").send_keys(stock) logger.info(u"输入位置") self.driver.find_element_by_id("location").send_keys(location) logger.info(u"选择面积") self.driver.find_element_by_name("goods[area]").send_keys(mianji) logger.info(u"会议室类型") self.driver.find_element_by_name("goods[meetingRoomType]").send_keys(huiyishi) logger.info(u"输入产品别名") self.driver.find_element_by_id("goodsAlias").send_keys(productAlias) self.basepage.get_windows_img() def insert_play_info(self,label, productname,count, starttime, endtime ,price,stock,location, productAlias): logger.info(u"输入标签内容") self.driver.find_element_by_id("inputTag").send_keys(label) self.basepage.get_windows_img() self.driver.find_element_by_partial_link_text(u"添加") logger.info(u"点击添加按钮") self.driver.find_element_by_partial_link_text(u"添加").click() logger.info(u"输入产品名称") self.driver.find_element_by_id("goodsName").send_keys(productname) logger.info(u"修改产品状态") status = self.driver.find_element_by_id("statusIs") Select(status).select_by_value("1") logger.info(u"可使用人数") self.driver.find_element_by_id("maxOccupancy").send_keys(self.count) logger.info(u"选择开始日期") starttime = self.driver.find_element_by_id("presellStartTime") starttime.send_keys(starttime) logger.info(u"选择结束日期") endtime = self.driver.find_element_by_id("presellEndTime") endtime.send_keys(endtime) logger.info(u"输入价格") self.driver.find_element_by_id("price").send_keys(price) logger.info(u"输入库存") self.driver.find_element_by_id("stockNum").send_keys(stock) logger.info(u"输入位置") self.driver.find_element_by_id("location").send_keys(location) logger.info(u"输入产品别名") self.driver.find_element_by_id("goodsAlias").send_keys(productAlias) self.basepage.get_windows_img() def frame_user(self,userways,usercontent,productnotice): logger.info(u"切换到框架使用方法") try: frame1 = self.driver.find_elements_by_class_name("ke-edit-iframe") except NoSuchFrameException as msg: print u"未找到此框架%s" % msg else: self.driver.switch_to_frame(frame1[0]) self.driver.find_element_by_class_name("ke-content").send_keys(userways) self.driver.switch_to_default_content() self.basepage.get_windows_img() logger.info(u"切换到框架内容使用") self.driver.switch_to_frame(frame1[1]) # self.driver.find_element_by_id("ticketUsed").send_keys(Keys.TAB) # self.driver.find_element_by_id("ticketUsed").click() self.driver.find_element_by_class_name("ke-content").send_keys(usercontent) self.driver.switch_to_default_content() self.basepage.get_windows_img() #logger.info(u"切换到框架套餐说明") self.driver.switch_to_frame(frame1[2]) # self.driver.find_element_by_id("ticketUsed").send_keys(Keys.TAB) # self.driver.find_element_by_id("ticketUsed").click() self.driver.find_element_by_class_name("ke-content").send_keys(productnotice) self.driver.switch_to_default_content() self.basepage.get_windows_img() def update_img(self): logger.info(u"上传产品相册") self.driver.find_element_by_xpath(".//span[@id='j-updateopen']/div[2]/label").click() os.system("C:\Users\qiuyunxia.YCF\Desktop\upfile.exe") # 你自己本地的这个.exe文件绝对路径 logger.info(u"上传海报图") self.driver.find_element_by_id("inputImage").click() # 执行autoit上传文件 os.system("C:\Users\qiuyunxia.YCF\Desktop\upfile.exe") # 你自己本地的这个.exe文件绝对路径 self.basepage.get_windows_img() def save(self): logger.info(u"点击保存按钮") self.driver.find_element_by_id("editsubmit").click() # 执行autoit上传文件 self.basepage.get_windows_img()
def login_web(init_driver): # 将init_driver的前置、后置条件进行调用 LoginPage(init_driver).login(cd.username,cd.passwd) yield init_driver