溫馨提示×

怎么使用Selenium進行測試用例參數(shù)化和數(shù)據(jù)驅(qū)動

小億
85
2024-05-14 13:32:38
欄目: 編程語言

在Selenium中,可以使用unittest或pytest等測試框架來實現(xiàn)測試用例參數(shù)化和數(shù)據(jù)驅(qū)動。

以下是一個示例代碼使用unittest框架來實現(xiàn)測試用例參數(shù)化和數(shù)據(jù)驅(qū)動:

```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`方法接收一個參數(shù)`search_keyword`,并使用該參數(shù)進行搜索。`test_search_multiple_keywords`方法遍歷多個關鍵字進行搜索。

通過運行測試用例可以看到不同關鍵字的搜索結(jié)果。

你也可以使用pytest框架來實現(xiàn)測試用例參數(shù)化和數(shù)據(jù)驅(qū)動,示例代碼如下:

```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`裝飾器來指定參數(shù)化的參數(shù),并在測試函數(shù)中使用該參數(shù)進行搜索。

無論是使用unittest還是pytest,都可以實現(xiàn)測試用例參數(shù)化和數(shù)據(jù)驅(qū)動,具體選擇哪種框架取決于你的個人偏好和項目需求。

0