Selenium PO模式怎么实现封装定位元素
时间: 2023-05-25 22:06:07 浏览: 339
在Selenium PO模式中,封装定位元素可以通过以下步骤实现:
1.创建一个基类,其中包含了常见的元素定位方法,如find_element_by_xpath、find_element_by_id等。
2.在页面类中,定义一个定位元素的方法,该方法使用基类中的元素定位方法,以及特定元素的定位表达式,返回定位到的元素对象。
3.在页面类中,定义其他相关操作的方法,这些方法利用之前定位到的元素对象,执行所需的操作,如点击、输入等。
4.在测试用例中,引入页面类,通过调用页面类中的方法执行操作。
下面是一个示例代码:
# 基类
class BasePage:
def __init__(self, driver):
self.driver = driver
def find_element_by_xpath(self, xpath):
return self.driver.find_element_by_xpath(xpath)
def find_element_by_id(self, id_):
return self.driver.find_element_by_id(id_)
# 页面类
class LoginPage(BasePage):
def __init__(self, driver):
super().__init__(driver)
self.username_input_locator = "//input[@name='username']"
self.password_input_locator = "//input[@name='password']"
self.login_button_locator = "//button[contains(text(),'登 录')]"
def input_username(self, username):
self.find_element_by_xpath(self.username_input_locator).send_keys(username)
def input_password(self, password):
self.find_element_by_xpath(self.password_input_locator).send_keys(password)
def click_login_button(self):
self.find_element_by_xpath(self.login_button_locator).click()
# 测试用例
driver = webdriver.Chrome()
login_page = LoginPage(driver)
login_page.input_username("testuser")
login_page.input_password("testpassword")
login_page.click_login_button()
阅读全文