使用python模块selenium+ddt(或者文件)+unittest模块单 元测试,写出163邮箱的UI自动化测试脚本。 地址:https://mail.163.com/ 测试邮箱用户名和密码: 用户名:testlogin20220501 密码:Logintest2022
时间: 2023-06-10 17:06:47 浏览: 93
以下是一个使用Python模块selenium ddt和unittest模块编写的UI自动化测试脚本,用于测试163邮箱的登录功能:
```python
import unittest
import ddt
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
@ddt.ddt
class Test163MailLogin(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(10)
self.driver.get("https://mail.163.com/")
def tearDown(self):
self.driver.quit()
@ddt.file_data("163mail_login_data.json")
def test_login(self, username, password):
# 定位并点击“密码登录”按钮
password_login_button = self.driver.find_element(By.ID, "lbNormal")
password_login_button.click()
# 输入用户名和密码
username_input = self.driver.find_element(By.NAME, "email")
username_input.clear()
username_input.send_keys(username)
password_input = self.driver.find_element(By.NAME, "password")
password_input.clear()
password_input.send_keys(password)
# 点击登录按钮
login_button = self.driver.find_element(By.ID, "dologin")
login_button.click()
# 验证登录成功
try:
element = WebDriverWait(self.driver, 10).until(
EC.presence_of_element_located((By.ID, "spnUid"))
)
self.assertEqual(element.text, username)
except Exception as e:
self.fail("登录失败:" + str(e))
if __name__ == "__main__":
unittest.main(verbosity=2)
```
测试数据文件 `163mail_login_data.json` 内容如下:
```json
[
["testlogin20220501", "Logintest2022"],
["testlogin20220502", "Logintest2022"],
["testlogin20220503", "Logintest2022"]
]
```
运行该脚本后,将会使用 `163mail_login_data.json` 文件中的数据进行测试,分别测试三个不同的用户名和密码组合是否可以成功登录163邮箱。