zoukankan      html  css  js  c++  java
  • selenium+python(模块化驱动测试)

        模块化驱动测试,就是借鉴编程语言中模块化的思想,把重复的操作独立成功公告模块,懂用例执行过程中需要用到这一模块操作时则被调用,这样可以极大的消除重复从而提高测试用例的可维护性

    下面具体以126邮箱为例:

    首先对每次要都用到的登录登出独立出来,放在公共模块中

    public.py

    # coding=utf-8
    class Login():
    # login 登录
    def login(self,driver):
      
        driver.find_element_by_id("IdInput").clear()
        driver.find_element_by_id("IdInput").send_keys("username")
        driver.find_element_by_id("pwdInput").clear()
        driver.find_element_by_id("pwdInput").send_keys("123456")
        driver.find_element_by_id("loginBtn").click()  # 点击确认登录按钮
    
    # logout 登出
    def logout(self,driver):
        time.sleep(2)
        driver.find_element_by_link_text(u"退出").click()
    

      把函数独立到单独的脚本中,主要是为函数增加浏览器驱动的参数,因为函数的实现操作需要通过浏览器驱动driver,driver需要通过具体调用的用例给定。

    test_case.py,test_case.py通过调用登录、退出函数实现模块化

    #coding=utf-8
    from  selenium import webdriver
    from public import login
    import unittest
    
    class LoginTest(unittest.TestCase):
        def setUp(self):
            self.driver = webdriver.Firefox()
            self.base_url = "http://www.126.com"
            self.driver.implicitly_wait(5)
    
        def test_write_letter_case(self):
            driver = self.driver
            driver.get(self.base_url)
            #调用登录函数
            login().login(driver)
    
            #实现收信、操作
            #.......
    
            #调用退出函数
            login().logout(driver)
    
        def tearDown(self):
            self.driver.quit()
    
    if __name__ == "__main__":
        unittest.main()
    

      首先,需要导入当前目录下的public.py文件中的Login(),在需要的位置调用类中的login()和loginout()函数,这样对于每个用例的编写和维护就会方便很多

  • 相关阅读:
    bcdedit无法打开启动配置数据存储拒绝访问
    linux 实现两个文件指定列的替换
    Err:12 http://security.ubuntu.com/ubuntu focalupdates/main amd64 openjdk11jreheadless amd64 11.0.11+90ubuntu2~20.04 404 Not Found [IP: 91.189.88.152 80]
    SQL的经典语句(太全了)
    反射
    多线程互操作
    C# 2.0 套接字编程实例初探
    sqlserver 导出 insert (转)
    同步方法和异步方法的区别 (转)
    数组转成 位数组 这个很好用。
  • 原文地址:https://www.cnblogs.com/101718qiong/p/7479736.html
Copyright © 2011-2022 走看看