Python封装selenium测试框架
时间: 2023-06-14 12:08:26 浏览: 119
Python中使用selenium进行Web自动化测试时,可以进行封装来简化测试流程和提高代码的可复用性。以下是一个简单的封装selenium测试框架的示例:
1. 创建一个名为“base.py”的基类,用于初始化webdriver和提供一些基本的方法:
```python
from selenium import webdriver
class BasePage():
def __init__(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(10)
def open_url(self, url):
self.driver.get(url)
def find_element(self, locator):
return self.driver.find_element(*locator)
def click(self, locator):
self.find_element(locator).click()
def input(self, locator, text):
self.find_element(locator).send_keys(text)
def close_browser(self):
self.driver.quit()
```
2. 创建一个继承基类的页面类,用于定义页面内的元素和操作方法:
```python
from selenium.webdriver.common.by import By
from base import BasePage
class LoginPage(BasePage):
url = "http://www.example.com/login"
# 定义页面元素的locator
username_loc = (By.ID, "username")
password_loc = (By.ID, "password")
login_button_loc = (By.ID, "login-button")
# 定义页面操作方法
def input_username(self, username):
self.input(self.username_loc, username)
def input_password(self, password):
self.input(self.password_loc, password)
def click_login_button(self):
self.click(self.login_button_loc)
```
3. 编写测试用例,使用页面类的方法进行操作:
```python
from page import LoginPage
def test_login():
login_page = LoginPage()
login_page.open_url(LoginPage.url)
login_page.input_username("username")
login_page.input_password("password")
login_page.click_login_button()
login_page.close_browser()
```
通过以上三个步骤,我们就可以快速创建一个封装selenium测试框架的Python项目,使得测试代码更加简洁、易读和可维护。
阅读全文