测试总结-robotframework之UI自动化

作者: 留沪小厮 | 来源:发表于2018-08-20 11:53 被阅读49次

    今天给大家分享一下,UI自动化测试用例的规范,规范是一个同事写的,觉得很不错,就copy一下,希望他不要告我侵权,哈哈。。。

    再总结了一下他文中提到的tag的使用,还有template数据驱动模板的使用,一部分摘自网络,一部分是自己实践的内容,望大家不要见笑

    努力学习,大家一块成长,加油

    RIDE项目编写规范:

    1.项目结构和命名

    (1) 一个项目对应一个rf项目

    (2) 每个项目下建立前台和后台子目录

    (3) 一个模块对应一个测试套件(Test suite),每个套件需编写Documentation,提高可读性

    (4) 每个测试套件下用例的命名以套件名开始,下划线拼接,简洁描述用例的测试点

    2.标签(tag)的定义(便于执行需要执行的case)

    (1) 每个子目录需添加force tag,表明目录下所有套件归属模块

    (2) 每个套件需添加force tag,表明该套件的用途,可以套件名参考命名

    (3) 每个case需添加default tag,可添加多个,表明用例等级,如level1,代表最高等级

    3. 用例编写规范

    (1)关于模块(template)的使用

    ① 为了使用例简洁,对于同一个场景,有较多种入参的情况,尽量考虑使用template模板化

    ②在每个模版用例的第一行应做好注释每一列的参数名称,提高可阅读性

    (2)关于注释

    在每个用例中应做好关键步骤的注释,最好使用序号排好序

    (3) 关于变量

    用例中所有的变量应全部抽离出来,使用Arguments传参或者使用全局变量,提高用例的可维护性和可移植性

    (4)关于断言

    一条用例的关键在于断言,每条用例需将断言清楚,尤其是高级别用例的关键步骤

    4. 自定义关键字(user keyword),变量(scalar)

    (1)对于使用频率较高的场景或者功能,考虑封装成关键字

    (2) 关键字,变量可以存储在一个独立文件夹

    (3) 关键字可分为公共关键字和业务关键字,对于公共关键字,必须附上Documentation便于理解和后期维护

    5.其余规范

    (1)尽量减少同一个套件中用例的耦合,提高用例的独立性

    (2) 用例中尽量少使用sleep(若页面加载超时,做好断言以便跟踪case fail原因),影响用例的执行效率

    (3) 如果Robotframework自带的库满足不了需求,或者关键字写起来比较麻烦,可尝试编写python脚本导入

    6. 基于Robotframework框架的接口自动化

    关于接口的自动化,可以使用python直接编写脚本,如果觉得学习成本较高或者使用教困难,也可以使用rf编写,后面会考虑把封装过的接口请求的python脚本移至到rf,方便大家编写用例的时候使用。

    标签tag的使用

    首先,为什么要打tag

    1、tag的标示可以展示在测试报告、日志中,便于查看用例。

    2、可以根据tag统计用例。

    3、有了tag,可以执行包含这些tag的用例,或者执行不包含这些tag的用例。

    4、根据tag,可以区分出哪些用例是关键用例。

    其次,如何打tag

    打tag的方式有三种

    1、在文件夹下打tag,这样文件夹下的所有用例都已经自动打上该tag。

    文件夹下打tag

    2、在suit下打tag,这样suit下的测试用例都加上了tag号

    suit下打tag

    suit下打tag

    suit下打tag分为两种:一种是Force Tags,一种是Default Tags。

    Force Tags:suit下面所有的测试用例都被打上这个tag

    Default Tags:suit下面的测试用例如果没有打tag,就会用这个默认tag,如果打了tag,就用自己打的tag。

    3、在测试用例上打tag。

    测试用例打tag

    最后,怎么打tag看起来会更便捷

    可以在各个文件夹下打文件夹名字的tag,这样就可以根据tag单独的跑该文件夹下的用例,查看测试报告也更好看些。

    在一些重要的用例上打上tag,可以单独跑关键用例。

    某些用例如果不想执行,可以打上tag,设置不执行。

    作者:小叮当爱学习

    链接:https://www.jianshu.com/p/f819bf56ad52

    來源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。


    数据驱动之Template模板

    在这里我们介绍RobotFramework一个很有用的功能——测试模板。测试用例中的关键字,例如:

    执行时,只会执行一次。可有时候我们需要连续执行这个关键字。如果我们连续写这个关键字,用例会显得很臃肿。

    RobotFramework提供了一个解决方案,在关键字前面加上一个[Template],表示这个用例是一个“测试模板”。

    例如:

    执行以上用例:

    这个用例里,“log”关键字被连续执行了三次。与普通的关键字写法不同,带有[Template]的关键字的参数不能和关键字同行。每带有一行参数,关键字就需要执行一次。熟悉QTP的朋友是不是觉得似曾相识啊?

    需要特别注意的是,一个用例中只能使用一个[Template],不能多次使用。也不能带[Template]的关键字和普通的关键字混合使用。 利用“[Template]”,robotFramework可以轻松的实现数据驱动。

    测试模板,关键字驱动 => 数据驱动

    关键字驱动, 用例主体由若干关键字+参数构成

    vs.

    数据驱动, 用例主体只由Template关键字的参数构成

    用途举例:

    对每个测试用例,或者一个测试文件中的所有用例,重复执行同一个关键字多次(使用不同数据)

    也可以只针对测试用例,或者每个测试文件只执行一次

    模板关键字可以接受普通的位置参数,命名参数

    关键字名中可以使用参数

    不可以使用变量定义模板关键字

    登录用例:

    1、Template模板的使用,前台登录关键字的多次重复使用

    2、前台登录关键字的内容

    3、多个账户的数据模板

    4、执行结果

    相关文章

      网友评论

      本文标题:测试总结-robotframework之UI自动化

      本文链接:https://www.haomeiwen.com/subject/uxikiftx.html