• 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)






  • 相关阅读:
    Android 获取Bitmap方式
    o.a.catalina.core.AprLifecycleListener : An incompatible version [1.2.7] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
    idea 全部报错找不到包
    idea Plugin "Maven Integration Extension" was not loaded: required plugin "Maven Integration" is disabled
    okhttp 通过网关请求服务端返回数据
    mongo 过滤查询条件后分组、排序
    OKhttp3
    linux安装consul集群
    spring cloud 订单调用用户
    WebSphere概要文件管理工具
  • 原文地址:https://www.cnblogs.com/georgelei/p/9142fa693dd86d89a8a03c67d188cd17.html
Copyright © 2020-2023  润新知