zoukankan      html  css  js  c++  java
  • 用robotframework+Python+appium做自动化测试

    RT,用用robotframework+Python+appium这一套基本都是在做app的UI自动化测试。记录一下用这个框架在做移动端自动化测试时自己的一些体会。

    1.设置测试套件,图一

    如图一,设置测试套件的意思是把一些公共的操作,全局的变量和对公共方法的初始化的操作放在测试套件里面。这样的好处就是不用每次都去获取appium的driver和关闭appium的driver。如果不关闭,直接运行下个测试套件时appium会报错,提示新回话没法创建。

    创建全局变量在test suite点击右键,可以选择创建列表或者字典形式的变量。此处建立的是列表形式的,用的时候直接用@{add_params}[index],(index是列表的下标),此处设置的变量会在整个test suit中都生效。

    2.包名参数化

    因为编写的测试的用例可能会在不同的包上复用,比如开发阶段的包名和正式环境的包名不一样,或者同样的功能的apk会有多个发布渠道,每个渠道的包名不同。而定位元素的时候都是packageName:id@xxx的格式,所以如果不把包名参数化的话自动化用例完全没法复用。包名参数化就要先写个方法来获取包名,这个比较简单,可以通过读取配置文件,也可以用aapt d badging /../../xxx.apk来获取.获取后写成一个公共方法,在每个测试套件的第一条用例就获取包名并赋予一个全局的变量,实现包名的参数化。  

    3.多熟悉RF自带的关键字和变量

    在编写用例时,可以多通过F5在弹出的关键字查询页面查看有哪些系统的关键字,并了解他们的用法。

    系统自带的关键字还是比较多的,其中关于断言的一些方法基本能够满足常用用例的判断。比如should be true  ,should be equal as strings ...

    如果系统关键字不够用时,自己编写的关键字也要尽量易于使用,在方法的描述中写清楚需要的参数和返回值,方便调用的时候快速查看。

    4.每条用例写完后最好的返回到主界面,方便下一条用例执行的时候好正确的开始。这个可以在test suit中的test setup和test teardown中设置,也可以自己写一个返回主界面的方法,每次调用。

    5.在用例的编写中用log写明步奏,方便结果的查看。比如

    ,这样在调试或者出错的时候能够方便看异常信息。

  • 相关阅读:
    洛谷P2146 [NOI2015]软件包管理器
    洛谷P3038 [USACO11DEC]牧草种植Grass Planting
    洛谷P2831 愤怒的小鸟
    洛谷P1084 疫情控制
    洛谷P3258 [JLOI]2014松鼠的新家
    洛谷P1084 运输计划
    洛谷P2051 [AHOI2009]中国象棋
    洛谷P1438 无聊的数列
    洛谷P1312 Mayan游戏
    luogu P1038 神经网络
  • 原文地址:https://www.cnblogs.com/noodles1/p/5777253.html
Copyright © 2011-2022 走看看