zoukankan      html  css  js  c++  java
  • selenium3+python3——数据驱动parameterized

    一、环境准备

    1.安装parameterized模块,打开cmd输入pip install parameterized在线安装

    >>pip install parameterized

    二、参考案例

     @parameterized.expand()装饰器装饰测试用例test_login(),而其中的每个元组都可以被认为是一条测试用例,name对应“case1”,“case2”,“case3”,username对应一个个账号,passwd对应密码

    参考代码:

    from time import sleep
    from selenium import webdriver
    import unittest
    from parameterized import parameterized


    class MyTest(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
    cls.driver = webdriver.Chrome()
    cls.driver.maximize_window()
    cls.driver.implicitly_wait(5)

    def login(self, username, password):
    self.driver.get("http://mail.163.com")
    # self.driver.find_element_by_link_text("密码登录").click()
    login_frame = self.driver.find_element_by_css_selector('iframe[id^="x-URS-iframe"]')
    self.driver.switch_to.frame(login_frame)
    self.driver.find_element_by_class_name('j-inputtext.dlemail.j-nameforslide').clear()
    self.driver.find_element_by_class_name('j-inputtext.dlemail.j-nameforslide').send_keys(username)
    self.driver.find_element_by_name("password").clear()
    self.driver.find_element_by_name("password").send_keys(password)
    self.driver.find_element_by_id('dologin').click()
    sleep(4)

    def logout(self):
    self.driver.find_element_by_link_text("退出").click()

    @parameterized.expand([
    ("case1", "xyuer1019", "123456"),
    ("case2", "", "123456"),
    ("case3", "xyuer", ""),
    ("case4", "error", "error"),


    ])
    def test_login(self, case, username, password):
    self.login(username, password)
    self.logout()

    @classmethod
    def tearDownClass(cls):
    cls.driver.quit()


    if __name__ == '__main__':
    unittest.main(verbosity=2)

    结果:

    test_login_0_case1 (__main__.MyTest) ... ok
    test_login_1_case2 (__main__.MyTest) ... ERROR
    test_login_2_case3 (__main__.MyTest) ... ERROR
    test_login_3_case4 (__main__.MyTest) ... ERROR

  • 相关阅读:
    【转】final 关键字
    【转】安装Fiddler2+JsonViewer插件
    【转】SAP SD定价技术分析
    【转】SAP PP 顾问面试考试试题及资料
    【转】Hibernate数据过滤
    【转】与计划有关的生产数据
    【转】销售凭证类别
    将MyEclipse中的项目导入到Eclipse中报错的解决放法,将项目打war包部署服务器
    查看Android下生成的.db数据库
    删除快速启动栏的快捷方式 pplive
  • 原文地址:https://www.cnblogs.com/yuer02/p/12881952.html
Copyright © 2011-2022 走看看