zoukankan      html  css  js  c++  java
  • 【原创】Appium集成robotframework环境准备----mac版

    robotframework框架安装

    robotframework框架的安装文档很多可自行百度,最方便的是使用pip安装,会自动下载安装依赖包

    robot framework安装     pip命令  pip install robotframework -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

    wxPython安装(用于支持robotframework的IDE ride)下载地址选择对应版本即可  http://wxpython.org/download.php#stable

    robotframework-ride安装   pip命令: pip install robotframework-ride -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

    Appium-Python-Client安装   pip命令: pip install Appium-Python-Client -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

    robotframework appiumlibrary安装  pip命令: pip install robotframework-appiumlibrary -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

    确认appiumlibrary是否安装成功

    先运行ride,命令行输入ride.py

    然后导入AppiumLibrary若显示导入三方库为黑色则说明安装成功

    Appium相关准备

    mac版appium与安卓studio下载地址 

    http://pan.baidu.com/s/1kUzIgYj

    jdk安装与环境变量配置

    环境变量设置命令,打开.bash_profile文件并添加

    export ANDROID_HOME=/Users/spook/Library/Android/sdk

    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home

    配置成功后查看SDK与JDK的环境变量

     

    Appium自带检测doctor结果

     

     

    提示所有检查成功说明环境已经OK

     

     

    连接设置

    appium设置

    默认端口4723,用于robotframework调用appium,

    安卓设置

    连接appium

     

     

    应用appium自带的inspector定位元素

    出现new session说明连接正常

    元素定位

    通过id与xpath都可以

     

    在线客服进线demo

    *** Settings ***
    Library           AppiumLibrary
    
    *** Variables ***
    ${REMOTE_URL}     http://localhost:4723/wd/hub
    ${PLATFORM_NAME}    Android
    ${PLATFORM_VERSION}    19
    ${DEVICE_NAME}    bendawang
    ${appPackage}     com.dianping.v1
    
    *** Test Cases ***
    app-in-2
        ${app}    Open Application    remote_url=${REMOTE_URL}    platformName=${PLATFORM_NAME}    platformVersio=${PLATFORM_VERSION}    deviceName=${DEVICE_NAME}    appPackage=${appPackage}
        sleep    3
        Comment    page should contain element    /android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.TabHost[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.support.v7.widget.RecyclerView[1]/android.widget.LinearLayout[4]/android.widget.LinearLayout[1]/android.widget.LinearLayout[2]/android.widget.LinearLayout[1]/android.widget.LinearLayout[2]/android.widget.LinearLayout[1]/android.widget.RelativeLayout[1]/android.widget.ImageView[2]
        wait until keyword succeeds    2 min    5 sec    click element    id=home_tab_my
        Comment    click element    id=home_tab_my
        sleep    5
        Comment    page should contain element    //android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.TabHost[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.RelativeLayout[1]/android.widget.LinearLayout[1]/android.widget.TextView[1]
        wait until keyword succeeds    2 min    5 sec    click element    xpath=//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.TabHost[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.RelativeLayout[1]/android.widget.LinearLayout[1]/android.widget.TextView[1]
        sleep    5
        page should contain text    客服中心
        Comment    wait until page contains element    xpath=//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.view.View[1]/android.widget.ListView[1]/android.view.View[2]/android.view.View[1]    50
        wait until keyword succeeds    2 min    5 sec    click element    xpath=//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.view.View[1]/android.widget.ListView[1]/android.view.View[2]/android.view.View[1]    #选择团购券
        sleep    5
        Comment    wait until page contains element    xpath=//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.view.View[1]/android.widget.ListView[3]/android.view.View[1]    50
        wait until keyword succeeds    2 min    5 sec    click element    xpath=//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.view.View[1]/android.widget.ListView[3]/android.view.View[1]    #连接在线客服
        sleep    5
        page should contain text    在线客服
        sleep    5
        wait until keyword succeeds    2 min    5 sec    click element    xpath=//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[5]/android.widget.Image[1]
        sleep    5
        Comment    wait until page contains element    xpath=//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[7]    50
        wait until keyword succeeds    2 min    5 sec    click element    xpath=//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[7]
        sleep    5
        input text    xpath=//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[8]    APP  autotest
        sleep    3
        wait until keyword succeeds    2 min    5 sec    click element    xpath=//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[10]
        sleep    10
        [Teardown]    close all applications
  • 相关阅读:
    MongoDB 学习笔记之 Aggregation Pipeline实战实现inner join
    MongoDB 学习笔记之 Aggregation Pipeline
    Shiro学习(3)授权
    Shiro学习(2)身份验证
    Shiro学习(1)简介
    redis常用命令建议
    Redis入门
    导出EXCEL(带数据)
    导出文件中文乱码处理
    poi之Excel上传
  • 原文地址:https://www.cnblogs.com/maple42/p/5076328.html
Copyright © 2011-2022 走看看