zoukankan      html  css  js  c++  java
  • Selenium3+python自动化012-测试用例模块化

    测试用例模块化特点:为po模型做准备。

    1、提取公共方法。

    2、提取数据。

    3、提取逻辑。

    # @Author:lsj
    # @version V1.0
    # -*- coding:UTF-8 -*-
    import unittest
    from selenium import webdriver
    from time import sleep
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    import HTMLTestRunner
    def openBroswer():
        driver = webdriver.Chrome()
        return driver
    
    def openUrl(driver, url):
        driver.get(url)
        driver.maximize_window()
    
    # 元素是否存在
    def ele_is_presence(driver,tuple_arg):
        return WebDriverWait(driver, 10).until(EC.presence_of_element_located(tuple_arg))
    
    #点击操作
    def ele_click(driver,tuple_arg):
        ele_is_presence(driver,tuple_arg).click()
    
    # 发送文本
    def ele_sendKeys(driver,tuple_arg,keyword):
        ele_is_presence(driver,tuple_arg).send_keys(keyword)
    
    # 检查登录结果
    def checkResult(driver, loginfo):
        try:
            ele_is_presence(driver, loginfo)
            print ("登录状态验证通过!")
        except:
            print ("登录失败!")
    
    class Test_Login(unittest.TestCase):
        def testm1(self):
            # 用例模式一
            url = 'http://daxue.qysxy.com.cn/admin/static/front/html/login.html'
            account=['fuguang']
            pwd=['123456']
            c = ['1111']
            username=(By.NAME,"username")  # 用户名输入框
            password=(By.NAME,"password")  # 密码输入框
            code = (By.ID,"code")  # 验证码输入框
            loginbtn = (By.ID, 'loginBtn')  # 登录按钮
            # 实例化driver
            driver = openBroswer()
            # 打开url
            openUrl(driver, url)
            # 输入用户名
            ele_sendKeys(driver,username,account)
            # 输入密码
            ele_sendKeys(driver,password,pwd)
            # 输入验证码
            ele_sendKeys(driver,code,c)
            # 点击登录按钮
            ele_click(driver,loginbtn)
    
            print("模式一执行完成!!")
    
        def testm2(self):
            # 用例模式二
            url = "http://daxue.qysxy.com.cn/admin/static/front/html/login.html"
            username = (By.NAME, 'username')# 用户名输入框
            password = (By.NAME, 'password')# 密码输入框
            code = (By.ID, "code")  # 验证码输入框
            loginbtn = (By.ID, 'loginBtn') # 登录按钮
            driver=openBroswer()
            openUrl(driver,url)
            sleep(3)
            # 输入用户名
            ele_sendKeys(driver,username,'fuguang')
            # 输入密码
            ele_sendKeys(driver,password,'123456')
            # 输入验证码
            ele_sendKeys(driver,code,'1111')
            # 点击登录按钮
            ele_click(driver,loginbtn)
            print("模式二执行完成!!")
    
    
            sleep(3)
            driver.quit()
    
    if __name__ == '__main__':
        # Test_Login()
    
        # 测试报告
        testCase = unittest.TestLoader().loadTestsFromTestCase(Test_Login)
        # 将多个测试类加载到测试集合中
        suite = unittest.TestSuite([testCase])
        # 原始版本
        f = open("report.html", "wb")
        runner = HTMLTestRunner.HTMLTestRunner(stream=f, title="测试报告", description="测试报告描述")
        runner.run(suite)
    测试用例模块化

    出测试报告

  • 相关阅读:
    如何启动SOLR特性: 按层面检索
    solr的范围查询 TO
    jetty
    solr高亮的使用
    SQL日期加一天
    SQL从第二条开始取记录
    写出昨天的日期
    SQL取前后一条数据
    项目组【网站】的项目
    获取input文本框中高亮显示的值
  • 原文地址:https://www.cnblogs.com/liunaixu/p/11122263.html
Copyright © 2011-2022 走看看