在Selenium中,可以使用unittest或pytest等測試框架來實現測試用例參數化和數據驅動。
以下是一個示例代碼使用unittest框架來實現測試用例參數化和數據驅動:
```python
import unittest
from selenium import webdriver
class TestGoogleSearch(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
def tearDown(self):
self.driver.quit()
def test_search(self, search_keyword):
self.driver.get("https://www.google.com")
search_box = self.driver.find_element_by_name("q")
search_box.send_keys(search_keyword)
search_box.submit()
assert "No results found." not in self.driver.page_source
def test_search_multiple_keywords(self):
keywords = ["selenium", "python", "automation"]
for keyword in keywords:
self.test_search(keyword)
if __name__ == '__main__':
unittest.main()
```
在上面的示例代碼中,`test_search`方法接收一個參數`search_keyword`,并使用該參數進行搜索。`test_search_multiple_keywords`方法遍歷多個關鍵字進行搜索。
通過運行測試用例可以看到不同關鍵字的搜索結果。
你也可以使用pytest框架來實現測試用例參數化和數據驅動,示例代碼如下:
```python
import pytest
from selenium import webdriver
@pytest.mark.parametrize("search_keyword", ["selenium", "python", "automation"])
def test_search(search_keyword):
driver = webdriver.Chrome()
driver.get("https://www.google.com")
search_box = driver.find_element_by_name("q")
search_box.send_keys(search_keyword)
search_box.submit()
assert "No results found." not in driver.page_source
driver.quit()
```
在上面的示例代碼中,使用`@pytest.mark.parametrize`裝飾器來指定參數化的參數,并在測試函數中使用該參數進行搜索。
無論是使用unittest還是pytest,都可以實現測試用例參數化和數據驅動,具體選擇哪種框架取決于你的個人偏好和項目需求。