51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2522|回复: 1
打印 上一主题 下一主题

使用Robot Framework+Appium进行自动化

[复制链接]
  • TA的每日心情
    郁闷
    2022-8-29 14:43
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2018-4-18 14:27:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    最近项目需要做移动端自动化,找到Appium,在网上搜了一大堆教程,很多都写的很乱,自己摸索了一阵
    给弄出来了,所以想写个教程记录一下。

    本人是使用mac做的,使用win的朋友可以参考一下,大体差不多。
    先说一下需要准备的东西,因为是基于Robot Framework框架的,所以robot需要的东西都要装上
    JDK
    SDK
    Python(mac自带2.7)
    Robot framework
    wxPython
    Robot framework-ride
    Robot framework-selenium2library
    Appium-Python-Client
    robotframework-appiumlibrary
    Appium
    模拟器
    声明

    这里只说到如何通过Appium实现UI自动化的一个demo,进阶内容下一期再说,需要安装的内容这里默认已
    经安装好,安装教程百度,这些比较容易查到

    环境检查准备

    打开命令行窗口,输入adb,如果提示'command not found',需要设置adb环境变量
    找到adb路径
    cd到user文件夹下,运行

    touch .bash_profile
    open -e .bash_profile
    在打开的窗口中加入

    export PATH=$PATH:/xxx/sdk/platform-tools
    关闭窗口,运行命令

    source .bash_profile
    这时候再运行adb -version就可以看到adb版本了

    查看版本
    这时候运行adb devices查看链接的移动设备,如果是使用模拟器会发现列表中没有模拟器的设备信息,以本

    人使用的夜神模拟器为例,运行如下命令即可
    1.先到模拟器中打开开发者模式( 夜神模拟器:设置->关于平板电脑->点击5次版本号 进入开发者模式 )
    2.右键点击夜神模拟器的app,选择显示包内容,进入到MacOS文件夹中

    进入到MacOS文件夹
    命令行cd到MacOS文件夹下,运行命令

    adb connect 127.0.0.1:62001
    现在再运行adb devices命令就能看到设备信息了,显示如下:

    查看设备信息
    接下来看看Appium
    打开我们下载的Appium,点开设置按钮

    设置Appium
    Server Address设置为本地ip,端口号不变
    Override Existing Sessions勾选上

    设置设备信息
    点开安卓小人,App Path设置为你需要测试的app在本机的地址
    安卓版本选择模拟器对应的安卓版本

    点击Launch,出现下图我们就可以进行下一步了:

    检查运行状态
    另外点击上面听诊器按钮可以进行自检,缺少组件会提示

    Demo示例

    在命令行运行ride.py打开RIDE,像创建web测试项目一样,我们创建一个android测试项目

    新建一个测试项目
    注意在测试套件里面导入AppiumLibrary包

    导入AppiumLibrary
    如果导入没有问题AppiumLibrary显示为黑色

    接下来写第一条测试用例

    第一条测试用例
    伪代码为:

    Open Application    http://127.0.0.1:4723/wd/hub    platformName=Android    platformVersion=4.4.2    devic
    eName=127.0.0.1:62001    app=/Users/moooke/Desktop/bosch-debug.apk
    其中几个参数说明一下
    Open Application : 关键字
    http://127.0.0.1:4723/wd/hub :/wd/hub为固定格式,前面我是指向本机地址
    platformName : 平台名称
    platformVersion : 平台版本
    deviceName : 设备名称
    app : 指向待测试app的路径
    之后还有两个参数:包名、Activity名字,可以省略

    接下来我们先把apk安装到模拟器中,让Appium跑起来,然后跑我们刚才写的这个用例
    用例运行结果
    可以看到模拟器已经把我安装的apk启动起来了。

    这个时候可能会遇到问题,ride提示应用没有启动成功,Appium中报错:

    注意报错信息
    这是因为环境变量没有设置完成,找到我们之前的 .bash_profile文件夹

    open -e .bash_profile
    在打开的文件中写入

    export PATH=$PATH:/xxx/sdk/tools
    export ANDROID_HOME=/xxx/sdk/
    这时候再通过ride运行我们的测试用例就可以成功打开应用了。

    两点补充

    第一次运行robot framework进行web-ui自动化的时候可能会提示浏览器打开错误,如果大家用的是chrome,
    一般来说是因为对应的驱动有问题,大家可以先查看自己的chrome版本,然后去网上搜对应的chrome的驱
    动,下载好之后,同样在刚才的 .bash_profile 文件中添加上

    export PATH=$PATH:/xxx/chromedriver #指向自己下载的chormedriver
    就可以正常启动chrome了
    在sdk-tools文件夹下可以找到uiautomatorviewer文件


    双击打开,点击设备按钮


    我们就可以看到如图所示的界面,通过右边的标签我们就可以很轻松定位到我们所需要的元素信息了



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-18 02:41 , Processed in 0.063376 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表