zoukankan      html  css  js  c++  java
  • 关于自动化过程中函数的封装

    最近一直在复习selenium自动化测试基于python语言,这次没有使用RF工具,而是利用函数来进行的封装。

    首先对系统分层,分为三个层次。

    第一:函数层,把有重复的步骤都封装成一个函数。例如:登录等。

    这一层都放基础封装的函数。

    第二,业务层,这一次主要是调用函数层中的函数,来实现业务步骤,

    调用多个函数来实现一个业务步骤。基本上这一层属于用例层了。

    第三,利用unittest框架,来组织运行业务层中的多个用例。

    可以定义为流程层了。在这一层中可以利用unittest框架中的断言方法。

    其实每一层都可以利用python语言来实现判断。

    剩下要做的就是把业务层中的数据剥离出来,记录在文档中,以后直接修改文档中的数据来运行自动化用例。

    后面还有报告,发邮件等,还有GIT,JENKINS等相关知识点。

    后续还加强复习一下JS的相关知识,以解决元素定位不到的情况。

    跟以前的RF工具做自动化来比较,感觉UNITTEST更灵活,速度上也有优势,主要因为CSS定位比较快。

    分层与封装思想一样,难点在于函数这一块的学习。(其实好像也没有什么难度,主要是PYTHON语言的掌握程度,影响了代码的灵活性)

    还有代码的分层与管理,随着用例越来越多,很容易混乱,所以一定要管理好,放在不同的PACKAGE下,方便自己寻找,修改。我用的PYCHARM编译器。

    从这一个角度来说,没有RF管理的好,毕竟RF工具一方便全是中文,另一方便,自动帮我们管理我们的用例,很方便。

    在函数封装的过程中,一定要注意参数的个数,灵活使用可变参数,会为自己节约很多时间,减少代码量。

    考虑问题多考虑一下,避免留下漏洞。多考虑几种情况。

  • 相关阅读:
    20151010 C# 第一篇 变量类型
    20151009 C# 第一篇 程序编写规范
    20151009 C# 第一篇 基础知识
    VS 控件命名规范
    Replace Pioneer 续用2
    bcb安装控件方法汇总
    Unresolved external 'LresultFromObject'
    Form居中显示
    C++Builder 中 Enter键或者Tab键无效
    解决Ubuntu鼠标右键无反应
  • 原文地址:https://www.cnblogs.com/star12111/p/9833194.html
Copyright © 2011-2022 走看看