selenium+pytest元素定位
时间: 2023-12-04 15:41:03 浏览: 102
Selenium是一个自动化测试工具,可以模拟用户在浏览器中的操作,如点击、输入、提交等。而pytest是一个Python的单元测试框架,可以方便地编写和执行测试用例。结合使用Selenium和pytest可以实现自动化测试。
以下是一个使用Selenium和pytest进行元素定位的示例:
1.首先需要安装Selenium和pytest库:
```shell
pip install selenium pytest
```
2.编写一个页面对象类,例如search_page.py,其中包含了需要定位的元素和对应的方法:
```python
from selenium.webdriver.common.by import By
class SearchPage:
# 页面元素
search_input = (By.ID, 'kw')
search_button = (By.ID, 'su')
# 打开页面
def open(self, url):
self.driver.get(url)
# 输入关键字
def input_keyword(self, keyword):
self.driver.find_element(*self.search_input).send_keys(keyword)
# 点击搜索按钮
def click_search_button(self):
self.driver.find_element(*self.search_button).click()
```
3.编写一个测试用例,例如test_search.py,其中使用了上面定义的页面对象类:
```python
from selenium import webdriver
from search_page import SearchPage
import pytest
class TestSearch:
def setup_method(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.search_page = SearchPage(self.driver)
def teardown_method(self):
self.driver.quit()
@pytest.mark.parametrize('keyword', ['pytest', 'selenium'])
def test_search(self, keyword):
self.search_page.open('https://www.baidu.com')
self.search_page.input_keyword(keyword)
self.search_page.click_search_button()
assert keyword in self.driver.title
```
4.在命令行中执行pytest命令,即可执行测试用例:
```shell
pytest test_search.py
```
阅读全文