zoukankan      html  css  js  c++  java
  • python自动化之函数封装

    函数最重要的目的是方便我们重复使用相同的一段程序。

    将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句。

    前面一些记录了selenium的各种API,包括它的安装,以及unittest框架中的testcase,testsuite等的操作,还有元素定位的知识点。

    (学会元素定位,特别是xpath与css的定位方法,然后准备一份API文档,方便自己查阅。)

    掌握了这些知识后,基本上的线性自动化测试模型可以操作了。对于一个系统也可以做冒烟测试了。

    剩下的就是模块化与数据化了。(模块化与数据参数化有利于开发与维护自动化脚本,线性重复,维护成本高。)

    所谓模块化就是把相同步骤的封装成一个模块。例如,登录就可以封装成一个模块了。因为它只是用户名与密码不一样,但是操作步骤是一样的。

    而且如果以后登录模块发生变化了,我们只要更改登录那个模块就可以了,其它调用登录模块的地方都不需要去修改了。

    在学习这一块的时候,就会涉及到开发语言的函数这一块知识了。

    总之,树立一个思想,模块化就是把重复使用的操作步骤的定义成一个函数,然后后续其它部分需要使用的话,就调用这个函数名。

    具体涉及的一些函数的语法,规范,参数等知识,如何调用等,自己去深入学习。

    我自己对编程语言的掌握也不够扎实,正在努力中。

    望诸君共勉。

    写一个例子吧:

    定义一个LOGIN1函数:

     from selenium import webdriver

    def login1(driver,username,password):
        driver.find_element_by_css_selector("input.userInput").send_keys(username)
    driver.find_element_by_css_selector("ul.submitContent.mglr30.regMain>li:nth-child(2)>input").send_keys(password)
    driver.find_element_by_css_selector("a.mainColorBtn.submitBtnBig.ClickShade").click()
    link=driver.find_element_by_css_selector("a._personalInfo>i").is_displayed()
    print (link)
    print (u"登陆成功")

    调用这个LOGIN1函数:
     from selenium import webdriver
    # from login3 import login1 #此处说明一下,PACKAGE的名称是LOGIN3
    # driver=webdriver.Chrome()
    # driver.maximize_window()
    # driver.implicitly_wait(10)
    # driver.get("http://**************")
    #
    # username="ccc44400" ####此处我们可以设置不同的用户名与密码,来分别测试登录的功能。
    # password="ccc444"
    #
    # login1(driver,username,password) ####此处直接调用LOGIN1函数,
    # driver.quit()

  • 相关阅读:
    MVC模式和三层架构的区别
    浅谈MVC3自定义分页
    Jquery进度条插件 Progress Bar
    浅谈 MVC3 WebMail 发送邮件
    LINQ orderby 排序妙用
    mvc3 razor视图下 显示字符串形式的html
    Asp.Net MVC3 让你疯狂的5个理由
    4月8日作业 代码审核复查
    几个js处理时间函数
    看看下面JavaScript代码输出什么?
  • 原文地址:https://www.cnblogs.com/star12111/p/9812645.html
Copyright © 2011-2022 走看看