使用python和selenium编写一个Ui自动化测试框架
时间: 2024-06-09 18:00:40 浏览: 212
好的,下面是一个简单的基于 Python 和 Selenium 的 UI 自动化测试框架。
首先,我们需要安装 Selenium:
```bash
pip install selenium
```
接下来,我们需要下载对应浏览器的驱动程序,例如 Chrome 浏览器的驱动程序可以在以下链接中下载:
[https://sites.google.com/a/chromium.org/chromedriver/downloads](https://sites.google.com/a/chromium.org/chromedriver/downloads)
下载后将驱动程序放在一个合适的目录中,并将该目录添加到系统环境变量中。
然后,我们可以编写一个基本的测试类:
```python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class TestFramework:
def __init__(self):
self.driver = webdriver.Chrome()
self.wait = WebDriverWait(self.driver, 10)
def test_google_search(self):
self.driver.get("https://www.google.com/")
search_input = self.driver.find_element_by_name("q")
search_input.send_keys("Selenium")
search_input.send_keys(Keys.RETURN)
results = self.wait.until(EC.presence_of_all_elements_located((By.CLASS_NAME, "g")))
for result in results:
print(result.text)
def cleanup(self):
self.driver.quit()
```
在上面的代码中,我们首先初始化了一个 Chrome 浏览器的 WebDriver 对象,并创建了一个 WebDriverWait 对象,用于等待页面元素加载完成。然后我们定义了一个测试方法 test_google_search,该方法打开 Google 搜索首页,输入“Selenium”,并打印搜索结果。最后我们定义了一个 cleanup 方法,在测试结束后关闭浏览器。
我们可以使用 unittest 模块来运行这个测试类:
```python
import unittest
class TestGoogleSearch(unittest.TestCase):
def setUp(self):
self.framework = TestFramework()
def test_search(self):
self.framework.test_google_search()
def tearDown(self):
self.framework.cleanup()
if __name__ == '__main__':
unittest.main()
```
在上面的代码中,我们使用 unittest 模块来运行测试类 TestGoogleSearch,在 setUp 和 tearDown 方法中创建和销毁 TestFramework 对象,实现了测试的自动化运行。
这只是一个简单的框架示例,实际应用中还需要考虑测试数据管理、测试报告生成、异常处理等。
阅读全文