python自动化八层框架-page_objects层

#addCart_page
from selenium import webdriver
from selenium.webdriver.common.by import By


class AddCartPage:
    def __init__(self,driver):
        self.driver=driver

    #类变量
    search_locator=(By.ID,'q')
    search_btn_locator=(By.CLASS_NAME,'search_usercenter_btn')
    #
    def search_goods(self,good):
        '''
        搜索商品
        :return:
        '''
        self.driver.find_element(*self.search_locator).send_keys(good)
        self.driver.find_element(*self.search_btn_locator).click()

    good_locator=(By.CSS_SELECTOR,'[class=lazy-list]')
    add_btn_locator=(By.ID,'join_cart')

    def addgood_to_cart(self):
        '''
        加购
        :return:
        '''
        self.driver.find_element(*self.good_locator).click()
        self.driver.find_element(*self.add_btn_locator).click()


    frame_locator=(By.ID,'layui-layer-iframe1')
    msg_locator=(By.XPATH,"//span[text()='添加成功']")
    def get_add_success_msg(self):
        '''
        获取加购成功的提示消息
        :return:
        '''
        frame=self.driver.find_element(*self.frame_locator)#定位frame
        self.driver.switch_to.frame(frame)#切入frame
        result=self.driver.find_element(*self.msg_locator).text
        return result
#login_page
from selenium.webdriver.common.by import By
from selenium import webdriver
from common.basepage import Basepage
from page_locator import login_locator as LL

class LoginPage(Basepage):


    def __init__(self,driver):
        super().__init__(driver)

    def login(self,username,password,code):
        '''
        登录
        :param username:
        :param password:
        :param code:
        :return:
        '''
        self.input_text(LL.username_locator,username,'用户名定位异常')
        self.input_text(LL.password_locator,password,'密码定位异常')
        self.input_text(LL.code_locator,code,'验证码定位异常')
        self.click(LL.btn_locator,'登录按钮异常')
    def get_login_fail_msg(self):
        result = self.driver.find_element_by_xpath("//div[@class='layui-layer-content layui-layer-padding']").text
        return result
#userinfo_page
from time import sleep

from selenium.webdriver.common.by import By


class UserInfoPage:
    def __init__(self,driver):
        self.driver=driver
    #元素定位方式
    grxx_loc = (By.XPATH, '//div/ul[4]/li[2]/a')
    def upload_pic(self,pic):
        '''
        上传个人头像
        :param pic:
        :return:
        '''
        sleep(2)
        self.driver.find_element(*self.grxx_loc).click()
        self.driver.find_element_by_id('preview').click()
        frame = self.driver.find_element_by_tag_name('iframe')
        self.driver.switch_to.frame(frame)
        self.driver.find_element_by_name('file').send_keys(pic)#pic为图片的参数
        sleep(2)
        self.driver.find_element_by_class_name('saveBtn').click()
        # 切出frame
        sleep(2)
        self.driver.switch_to.default_content()  # 切到默认发窗口
        sleep(1)
        self.driver.find_element_by_class_name('save').click()

    def get_login_success_msg(self):
        '''
        获取登录成功提示信息
        :return: 提示信息
        '''
        result = self.driver.find_element_by_css_selector('a[title=退出]').text
        return result

    def get_upload_success_msg(self):
        resultmsg=self.driver.find_element_by_xpath('//div[@class="sd1"]/span').text
        return resultmsg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值