安装PARAMETERIZE
C:\Users\Administrator>pip install parameterized
Collecting parameterized
Downloading https://files.pythonhosted.org/packages/a3/bf/6ef8239028beae8298e0806b4f79c2466b1b16ca5b85dc13d631c5ea92c4/parameterized-0.7.1-py2.py3-none-any.whl
Installing collected packages: parameterized
Successfully installed parameterized-0.7.1
测试代码
import unittest
from selenium import webdriver
import time
from parameterized import parameterized
from selenium.common.exceptions import NoSuchElementException
class LoginTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.url = "http://mail.163.com"
self.driver.implicitly_wait(10)
def user_login_163(self, username, password):
driver = self.driver
driver.get(self.url)
frame = self.driver.find_element_by_xpath("//*[@id='loginDiv']/iframe")
time.sleep(1)
try:
self.driver.switch_to.frame(frame)
self.driver.find_element_by_name("email").send_keys(username)
self.driver.find_element_by_name("password").send_keys(password)
self.driver.find_element_by_id("dologin").click()
except NoSuchElementException as e:
raise e
except Exception as e:
raise e
@parameterized.expand([
('', "davieyang", "请输入帐号"),
("davieyang", '', "请输入密码"),
("error", "error", "帐号或密码错误"),
])
def test_login(self, username, password, assert_text):
self.user_login_163(username, password)
message = self.driver.find_element_by_id("nerror").text
self.assertEqual(message, assert_text)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main(verbosity=2)