Python Selenium PageOjbect实现登录

跟大家分享Python使用PageObject实现登录,话不多说,直接上代码:

1.BasePage:

#coding:utf-8
# @Time : 2019/5/19 21:16
# @Author : Jake Yu
# @File : BasePage

from time import sleep

class BasePage(object):
#初始化
def __init__(self, driver):
self.driver = driver
self.driver.maximize_window()
self.base_url = '替换成自己的测试URL地址'
self.timeout = 10

#打开不通的子页面
def _open(self,url):
url_ = self.base_url + url
print("The url is %s" % url_)
self.driver.get(url_)
sleep(2)
# assert self.driver.current_url == url_, 'Did not load on %s' % url_

def open(self):
self._open(self.url)

# 元素定位方法封装
def find_element(self, *loc):
return self.driver.find_element(*loc)
2.LoginPage

# -*- coding: gbk -*-
# Name: LoginPage
# Description:
# Author: admin
# Date: 2019/8/15


from page.BasePage import *
from selenium.webdriver.common.by import By

class LoginPage(BasePage):
url = '/'

# 定位器
username_loc = (By.ID, 'loginname')
password_loc = (By.ID, 'password')
submit_loc = (By.ID, 'to-recover')

# 用户名输入框元素
def type_username(self, username):
self.find_element(*self.username_loc).clear()
self.find_element(*self.username_loc).send_keys(username)

# 密码输入框元素
def type_password(self, password):
self.find_element(*self.password_loc).clear()
self.find_element(*self.password_loc).send_keys(password)

# 登录按钮元素
def type_submit(self):
self.find_element(*self.submit_loc).click()
sleep(10)

# 登录功能模块封装
#def test_user_login(driver, searchValue, password):
# '''测试用户名密码是否可用'''
# login_page = LoginPage(driver)
# login_page.open()

# login_page.type_username(searchValue)
# login_page.type_password(password)
# login_page.type_submit()

#登录操作
def user_login(driver, searchValue, password):
login_page = LoginPage(driver)
login_page.open()
login_page.type_username(searchValue)
login_page.type_password(password)
login_page.type_submit()
3.test_login测试用例

# -*- coding: gbk -*-
# Name: test_login
# Description:
# Author: admin
# Date: 2019/8/15

from page.LoginPage import *
from selenium import webdriver
import unittest
from page.MainPage import *

class Login02(unittest.TestCase):
def testlogin(self):
# driver = webdriver.Firefox()
driver = webdriver.Chrome()
searchValue = 'admin'
password = 'admin1'

LoginPage.user_login(driver, searchValue,password)
sleep(3)
# driver.quit()

若对自动化测试感兴趣,可以私下加我微信:xlyu2006 进行互相学习,互相进步!

posted @ 2019-10-28 15:05  JakeYu  阅读(185)  评论(0)    收藏  举报