封装selenium基类
时间: 2024-03-09 17:43:16 浏览: 146
C#基类 常用工具类等等。封装的特别好。
封装Selenium基类是一种常见的测试框架设计模式,它可以提供一些通用的方法和属性,以便在测试过程中更方便地使用Selenium库。下面是一个简单的封装Selenium基类的示例:
```python
from selenium import webdriver
class BasePage:
def __init__(self, driver):
self.driver = driver
def open_url(self, url):
self.driver.get(url)
def find_element(self, locator):
return self.driver.find_element(*locator)
def click(self, locator):
element = self.find_element(locator)
element.click()
def input_text(self, locator, text):
element = self.find_element(locator)
element.clear()
element.send_keys(text)
# 其他通用方法...
```
在这个示例中,`BasePage`类接受一个`driver`参数,该参数是一个已经初始化好的Selenium WebDriver对象。`BasePage`类提供了一些常用的方法,如`open_url`用于打开指定的URL,`find_element`用于查找页面元素,`click`用于点击元素,`input_text`用于输入文本等。
通过封装Selenium基类,你可以在具体的测试页面类中继承`BasePage`类,并直接使用其中定义的方法,从而简化测试代码的编写。例如:
```python
class LoginPage(BasePage):
def __init__(self, driver):
super().__init__(driver)
self.username_locator = (By.ID, 'username')
self.password_locator = (By.ID, 'password')
self.login_button_locator = (By.ID, 'login-button')
def login(self, username, password):
self.input_text(self.username_locator, username)
self.input_text(self.password_locator, password)
self.click(self.login_button_locator)
# 其他页面特定方法...
```
在`LoginPage`类中,我们继承了`BasePage`类,并定义了一些页面特定的元素定位器和方法,同时可以直接使用`BasePage`类中定义的通用方法。
阅读全文