1.注意事项:
如果要打印执行用例的log,方法如下:
cmd下输入srcpyproject>python test_login.py >> log.txt 2>&1
此时会继续执行一次代码,然后打印出log
代码实例:
login公共方法:
# -*- coding: utf-8 -*-
- '''
- 用例路径:projectpubliclogin.py
- '''
#登录
def login(self,username,password):
self.dr = self.driver
self.dr.find_element_by_id("idInput").clear()
self.dr.find_element_by_id("idInput").send_keys(username)
self.dr.find_element_by_id("pwdInput").clear()
self.dr.find_element_by_id("pwdInput").send_keys(password)
self.dr.find_element_by_id("loginBtn").click()
#退出
def logout(self):
self.driver.find_element_by_link_text(u"退出").click()
测试用例:
# -*- coding: utf-8 -*-
- '''
- 用例名称:test_login.py 用例路径:project xml路径:project estdata
- '''
from selenium import webdriver
import unittest, time
from public import login
import xml.dom.minidom
#打开xml文档
dom=xml.dom.minidom.parse('testdata\login.xml')
#得到文档对象
xmlroot=dom.documentElement
class TestLogin(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
urltags=xmlroot.getElementsByTagName('url')
self.base_url =urltags[0].firstChild.data
self.verificationErrors = []
#用户名密码都为空用例
def test_allnull(self):
driver = self.driver
driver.get(self.base_url)
#获得登录xml配置值
allNullTag=xmlroot.getElementsByTagName('allnull')
username=allNullTag[0].getAttribute('username') #xml中allnull的username
pw=allNullTag[0].getAttribute("password") #xml中allnull的password
verify_text=allNullTag[0].firstChild.data #xml中allnull的内容获得预期值
#调用登录
login.login(self,username,pw)
#获取登录错误验证信息
errortext=driver.find_element_by_class_name("error-tt").text
self.assertEqual(errortext, verify_text, "帐号密码为空登录验证失败")
#密码为空用例
def test_pwnull(self):
driver = self.driver
driver.get(self.base_url)
#获得登录xml配置值
allNullTag=xmlroot.getElementsByTagName('pwnull')
username=allNullTag[0].getAttribute('username') #xml中pwnull的username
pw=allNullTag[0].getAttribute("password") #xml中pwnull的password
verify_text=allNullTag[0].firstChild.data #xml中pwnull的内容获得预期值
#调用登录
login.login(self,username,pw)
#获取登录错误验证信息
errortext=driver.find_element_by_class_name("error-tt").text
self.assertEqual(errortext, verify_text, "密码为空登录验证失败")
#用户名为空用例
def test_usernull(self):
driver = self.driver
driver.get(self.base_url)
#获得登录xml配置值
allNullTag=xmlroot.getElementsByTagName('usernull')
username=allNullTag[0].getAttribute('username') #xml中usernull的username
pw=allNullTag[0].getAttribute("password") #xml中usernull的password
verify_text=allNullTag[0].firstChild.data #xml中usernull的内容获得预期值
#调用登录
login.login(self,username,pw)
#获取登录错误验证信息
errortext=driver.find_element_by_class_name("error-tt").text
self.assertEqual(errortext, verify_text, "密码为空登录验证失败")
#帐号密码输入错误的用例
def test_error(self):
driver = self.driver
driver.get(self.base_url)
#获得登录xml配置值
allNullTag=xmlroot.getElementsByTagName('error')
username=allNullTag[0].getAttribute('username') #xml中usernull的username
pw=allNullTag[0].getAttribute("password") #xml中usernull的password
verify_text=allNullTag[0].firstChild.data #xml中usernull的内容获得预期值
#调用登录
login.login(self,username,pw)
#获取登录错误验证信息
errortext=driver.find_element_by_class_name("error-tt").text
self.assertEqual(errortext, verify_text, "错误的帐号密码,登录验证失败")
- #输入正确帐号密码,登录
def test_login(self):
driver = self.driver
driver.get(self.base_url)
#获得登录xml配置值
allNullTag=xmlroot.getElementsByTagName('loginok')
username=allNullTag[0].getAttribute('username') #xml中usernull的username
pw=allNullTag[0].getAttribute("password") #xml中usernull的password
verify_text=allNullTag[0].firstChild.data #xml中usernull的内容获得预期值
#调用登录
login.login(self,username,pw)
#获取登录错误验证信息
errortext=driver.find_element_by_id("spnUid").text
self.assertEqual(errortext, verify_text, "正确的帐号密码,登录验证失败")
- login.logout()
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors, "检查有报错信息")
if __name__ == "__main__":
unittest.main(verbosity=2)