6.一个python-selenium的实战

1.注意事项:
    如果要打印执行用例的log,方法如下:
    cmd下输入srcpyproject>python test_login.py >> log.txt 2>&1
    此时会继续执行一次代码,然后打印出log


代码实例:
login公共方法:
  1. # -*- coding: utf-8 -*-
  2. '''
  3. 用例路径:projectpubliclogin.py
  4. '''
  5. #登录
  6. def login(self,username,password):
  7. self.dr = self.driver
  8. self.dr.find_element_by_id("idInput").clear()
  9. self.dr.find_element_by_id("idInput").send_keys(username)
  10. self.dr.find_element_by_id("pwdInput").clear()
  11. self.dr.find_element_by_id("pwdInput").send_keys(password)
  12. self.dr.find_element_by_id("loginBtn").click()
  13. #退出
  14. def logout(self):
  15. self.driver.find_element_by_link_text(u"退出").click()
测试用例:
  1. # -*- coding: utf-8 -*-
  2. '''
  3. 用例名称:test_login.py 用例路径:project xml路径:project estdata
  4. '''
  5. from selenium import webdriver
  6. import unittest, time
  7. from public import login
  8. import xml.dom.minidom
  9. #打开xml文档
  10. dom=xml.dom.minidom.parse('testdata\login.xml')
  11. #得到文档对象
  12. xmlroot=dom.documentElement
  13. class TestLogin(unittest.TestCase):
  14. def setUp(self):
  15. self.driver = webdriver.Firefox()
  16. self.driver.implicitly_wait(30)
  17. urltags=xmlroot.getElementsByTagName('url')
  18. self.base_url =urltags[0].firstChild.data
  19. self.verificationErrors = []
  20. #用户名密码都为空用例
  21. def test_allnull(self):
  22. driver = self.driver
  23. driver.get(self.base_url)
  24. #获得登录xml配置值
  25. allNullTag=xmlroot.getElementsByTagName('allnull')
  26. username=allNullTag[0].getAttribute('username') #xml中allnull的username
  27. pw=allNullTag[0].getAttribute("password") #xml中allnull的password
  28. verify_text=allNullTag[0].firstChild.data #xml中allnull的内容获得预期值
  29. #调用登录
  30. login.login(self,username,pw)
  31. #获取登录错误验证信息
  32. errortext=driver.find_element_by_class_name("error-tt").text
  33. self.assertEqual(errortext, verify_text, "帐号密码为空登录验证失败")
  34. #密码为空用例
  35. def test_pwnull(self):
  36. driver = self.driver
  37. driver.get(self.base_url)
  38. #获得登录xml配置值
  39. allNullTag=xmlroot.getElementsByTagName('pwnull')
  40. username=allNullTag[0].getAttribute('username') #xml中pwnull的username
  41. pw=allNullTag[0].getAttribute("password") #xml中pwnull的password
  42. verify_text=allNullTag[0].firstChild.data #xml中pwnull的内容获得预期值
  43. #调用登录
  44. login.login(self,username,pw)
  45. #获取登录错误验证信息
  46. errortext=driver.find_element_by_class_name("error-tt").text
  47. self.assertEqual(errortext, verify_text, "密码为空登录验证失败")
  48. #用户名为空用例
  49. def test_usernull(self):
  50. driver = self.driver
  51. driver.get(self.base_url)
  52. #获得登录xml配置值
  53. allNullTag=xmlroot.getElementsByTagName('usernull')
  54. username=allNullTag[0].getAttribute('username') #xml中usernull的username
  55. pw=allNullTag[0].getAttribute("password") #xml中usernull的password
  56. verify_text=allNullTag[0].firstChild.data #xml中usernull的内容获得预期值
  57. #调用登录
  58. login.login(self,username,pw)
  59. #获取登录错误验证信息
  60. errortext=driver.find_element_by_class_name("error-tt").text
  61. self.assertEqual(errortext, verify_text, "密码为空登录验证失败")
  62. #帐号密码输入错误的用例
  63. def test_error(self):
  64. driver = self.driver
  65. driver.get(self.base_url)
  66. #获得登录xml配置值
  67. allNullTag=xmlroot.getElementsByTagName('error')
  68. username=allNullTag[0].getAttribute('username') #xml中usernull的username
  69. pw=allNullTag[0].getAttribute("password") #xml中usernull的password
  70. verify_text=allNullTag[0].firstChild.data #xml中usernull的内容获得预期值
  71. #调用登录
  72. login.login(self,username,pw)
  73. #获取登录错误验证信息
  74. errortext=driver.find_element_by_class_name("error-tt").text
  75. self.assertEqual(errortext, verify_text, "错误的帐号密码,登录验证失败")

  76. #输入正确帐号密码,登录
  77. def test_login(self):
  78. driver = self.driver
  79. driver.get(self.base_url)
  80. #获得登录xml配置值
  81. allNullTag=xmlroot.getElementsByTagName('loginok')
  82. username=allNullTag[0].getAttribute('username') #xml中usernull的username
  83. pw=allNullTag[0].getAttribute("password") #xml中usernull的password
  84. verify_text=allNullTag[0].firstChild.data #xml中usernull的内容获得预期值
  85. #调用登录
  86. login.login(self,username,pw)
  87. #获取登录错误验证信息
  88. errortext=driver.find_element_by_id("spnUid").text
  89. self.assertEqual(errortext, verify_text, "正确的帐号密码,登录验证失败")
  90.        login.logout()

  91. def tearDown(self):
  92. self.driver.quit()
  93. self.assertEqual([], self.verificationErrors, "检查有报错信息")
  94. if __name__ == "__main__":
  95. unittest.main(verbosity=2)






原文地址:https://www.cnblogs.com/georgelei/p/9142fa693dd86d89a8a03c67d188cd17.html