使用selenium和编写登录的自动化框架
时间: 2024-05-06 20:22:14 浏览: 6
1. 安装selenium模块:在命令行中输入 pip install selenium,安装完成后即可导入selenium模块。
2. 编写登录脚本:使用selenium模拟用户登录,可以使用以下代码:
```python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 创建浏览器对象
driver = webdriver.Chrome()
# 打开登录页面
driver.get("http://example.com/login")
# 输入用户名和密码
username_input = driver.find_element_by_name("username")
password_input = driver.find_element_by_name("password")
username_input.send_keys("your_username")
password_input.send_keys("your_password")
# 提交登录表单
password_input.send_keys(Keys.ENTER)
# 等待页面加载完成
driver.implicitly_wait(10)
# 验证是否登录成功
assert "Logged in" in driver.page_source
# 关闭浏览器
driver.quit()
```
3. 封装登录方法:将登录操作封装成一个方法,方便在其他脚本中调用。
```python
def login(driver, url, username, password):
# 打开登录页面
driver.get(url)
# 输入用户名和密码
username_input = driver.find_element_by_name("username")
password_input = driver.find_element_by_name("password")
username_input.send_keys(username)
password_input.send_keys(password)
# 提交登录表单
password_input.send_keys(Keys.ENTER)
# 等待页面加载完成
driver.implicitly_wait(10)
# 验证是否登录成功
assert "Logged in" in driver.page_source
```
4. 编写测试用例:使用unittest模块编写测试用例,验证登录是否成功。
```python
import unittest
from selenium import webdriver
from login import login
class LoginTestCase(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
def test_login(self):
login(self.driver, "http://example.com/login", "your_username", "your_password")
assert "Logged in" in self.driver.page_source
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
unittest.main()
```
5. 运行测试用例:在命令行中输入 python test_login.py,运行测试用例并验证登录是否成功。