python webui自动化基础操作封装
时间: 2023-10-10 08:13:33 浏览: 167
Python web UI自动化基础操作封装包括以下方面:
1. 浏览器驱动初始化:使用selenium库,启动对应的浏览器驱动。
2. 打开页面:使用selenium库的get方法打开目标网页。
3. 元素定位:使用selenium库的find_element_by_*方法定位网页元素。
4. 元素操作:使用selenium库提供的方法对网页元素进行操作,如click()、send_keys()等。
5. 等待元素出现:使用selenium库提供的WebDriverWait类实现等待元素出现。
6. 切换窗口:使用selenium库提供的switch_to_window()方法切换浏览器窗口。
7. 切换frame:使用selenium库提供的switch_to.frame()方法切换浏览器中的iframe。
8. 获取元素属性:使用selenium库提供的get_attribute()方法获取元素的属性。
9. 获取元素文本:使用selenium库提供的text属性获取元素的文本。
10. 关闭浏览器:使用selenium库提供的close()方法关闭浏览器。
以上是基础操作的封装,可以根据实际需求进行进一步封装。
相关问题
python webui自动化基础操作封装代码样式
以下是一个基础的Web UI自动化操作封装代码样式,使用Python语言和Selenium库:
```python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.expected_conditions import presence_of_element_located
class WebUI:
def __init__(self, driver_path):
self.driver = webdriver.Chrome(executable_path=driver_path)
def open_url(self, url):
self.driver.get(url)
def find_element(self, locator, timeout=10):
return WebDriverWait(self.driver, timeout).until(presence_of_element_located(locator))
def click(self, locator, timeout=10):
element = self.find_element(locator, timeout)
element.click()
def send_keys(self, locator, keys, timeout=10):
element = self.find_element(locator, timeout)
element.send_keys(keys)
def get_text(self, locator, timeout=10):
element = self.find_element(locator, timeout)
return element.text
def close(self):
self.driver.quit()
```
使用示例:
```python
from selenium.webdriver.common.by import By
# 初始化WebUI对象
web = WebUI(driver_path='chromedriver.exe')
# 打开网页
web.open_url('https://www.google.com')
# 输入关键字
search_box_locator = (By.NAME, 'q')
web.send_keys(search_box_locator, 'Python')
# 点击搜索按钮
search_button_locator = (By.NAME, 'btnK')
web.click(search_button_locator)
# 获取搜索结果数量
result_stats_locator = (By.ID, 'result-stats')
result_stats_text = web.get_text(result_stats_locator)
print('搜索结果数量:', result_stats_text)
# 关闭浏览器
web.close()
```
python webui自动化基础操作登录页面封装,用po设计模式
好的,下面是Python web UI自动化基础操作登录页面的PO设计模式封装:
1. 创建一个名为LoginPage的类,并在其中添加以下方法:
```
class LoginPage:
def __init__(self, driver):
self.driver = driver
self.username_input = (By.ID, "username")
self.password_input = (By.ID, "password")
self.login_button = (By.ID, "login-btn")
def enter_username(self, username):
self.driver.find_element(*self.username_input).send_keys(username)
def enter_password(self, password):
self.driver.find_element(*self.password_input).send_keys(password)
def click_login_button(self):
self.driver.find_element(*self.login_button).click()
```
2. 在测试脚本中,实例化LoginPage类,并使用其中的方法操作登录页面,例如:
```
from selenium import webdriver
from LoginPage import LoginPage
driver = webdriver.Chrome()
driver.get("https://example.com/login")
login_page = LoginPage(driver)
login_page.enter_username("username")
login_page.enter_password("password")
login_page.click_login_button()
# 等待登录后的页面加载完成,然后执行其他操作
```
这样,就可以在测试脚本中通过调用LoginPage类中的方法来操作登录页面,而不需要再次编写页面元素定位的代码。同时,这也符合PO设计模式的思想,将页面对象和测试代码分离,提高了代码的维护性和可读性。
阅读全文