6.一个python-selenium的实战
1.注意事项:
如果要打印执行用例的log,方法如下:
cmd下输入src\pyproject>python test_login.py >> log.txt 2>&1
此时会继续执行一次代码,然后打印出log
代码实例:
login公共方法:
# -*- coding: utf-8 -*-- '''
- 用例路径:project\public\login.py
- '''
#登录def login(self,username,password):self.dr = self.driverself.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\testdata\
- '''
from selenium import webdriverimport unittest, timefrom public import loginimport xml.dom.minidom#打开xml文档dom=xml.dom.minidom.parse('testdata\\login.xml')#得到文档对象xmlroot=dom.documentElementclass 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.dataself.verificationErrors = []#用户名密码都为空用例def test_allnull(self):driver = self.driverdriver.get(self.base_url)#获得登录xml配置值allNullTag=xmlroot.getElementsByTagName('allnull')username=allNullTag[0].getAttribute('username') #xml中allnull的usernamepw=allNullTag[0].getAttribute("password") #xml中allnull的passwordverify_text=allNullTag[0].firstChild.data #xml中allnull的内容获得预期值#调用登录login.login(self,username,pw)#获取登录错误验证信息errortext=driver.find_element_by_class_name("error-tt").textself.assertEqual(errortext, verify_text, "帐号密码为空登录验证失败")#密码为空用例def test_pwnull(self):driver = self.driverdriver.get(self.base_url)#获得登录xml配置值allNullTag=xmlroot.getElementsByTagName('pwnull')username=allNullTag[0].getAttribute('username') #xml中pwnull的usernamepw=allNullTag[0].getAttribute("password") #xml中pwnull的passwordverify_text=allNullTag[0].firstChild.data #xml中pwnull的内容获得预期值#调用登录login.login(self,username,pw)#获取登录错误验证信息errortext=driver.find_element_by_class_name("error-tt").textself.assertEqual(errortext, verify_text, "密码为空登录验证失败")#用户名为空用例def test_usernull(self):driver = self.driverdriver.get(self.base_url)#获得登录xml配置值allNullTag=xmlroot.getElementsByTagName('usernull')username=allNullTag[0].getAttribute('username') #xml中usernull的usernamepw=allNullTag[0].getAttribute("password") #xml中usernull的passwordverify_text=allNullTag[0].firstChild.data #xml中usernull的内容获得预期值#调用登录login.login(self,username,pw)#获取登录错误验证信息errortext=driver.find_element_by_class_name("error-tt").textself.assertEqual(errortext, verify_text, "密码为空登录验证失败")#帐号密码输入错误的用例def test_error(self):driver = self.driverdriver.get(self.base_url)#获得登录xml配置值allNullTag=xmlroot.getElementsByTagName('error')username=allNullTag[0].getAttribute('username') #xml中usernull的usernamepw=allNullTag[0].getAttribute("password") #xml中usernull的passwordverify_text=allNullTag[0].firstChild.data #xml中usernull的内容获得预期值#调用登录login.login(self,username,pw)#获取登录错误验证信息errortext=driver.find_element_by_class_name("error-tt").textself.assertEqual(errortext, verify_text, "错误的帐号密码,登录验证失败")- #输入正确帐号密码,登录
def test_login(self):driver = self.driverdriver.get(self.base_url)#获得登录xml配置值allNullTag=xmlroot.getElementsByTagName('loginok')username=allNullTag[0].getAttribute('username') #xml中usernull的usernamepw=allNullTag[0].getAttribute("password") #xml中usernull的passwordverify_text=allNullTag[0].firstChild.data #xml中usernull的内容获得预期值#调用登录login.login(self,username,pw)#获取登录错误验证信息errortext=driver.find_element_by_id("spnUid").textself.assertEqual(errortext, verify_text, "正确的帐号密码,登录验证失败")- login.logout()
def tearDown(self):self.driver.quit()self.assertEqual([], self.verificationErrors, "检查有报错信息")if __name__ == "__main__":unittest.main(verbosity=2)
路选择了就要一直走下去,不要怕跌倒,以后的以后回想起来,对得起自己足以。
posted on 2015-11-10 10:21 georgetest 阅读(553) 评论(0) 收藏 举报
浙公网安备 33010602011771号