51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 12327|回复: 5

[Appium] Appium+Robotframework实现Android应用的自动化测试-6:一个简单的例子

[复制链接]
  • TA的每日心情
    奋斗
    2023-3-4 10:30
  • 签到天数: 660 天

    连续签到: 1 天

    [LV.9]测试副司令

    发表于 2015-7-15 12:05:37 | 显示全部楼层 |阅读模式
    本帖最后由 w_d775 于 2015-7-15 15:51 编辑

    万事具备,只欠编码!
    下面看一个简单的示例,这个示例验证Android手机自带的通讯录的添加联系人的操作是否成功。这个例子是Appium官网自带的示例,有兴趣的同学也可以自己下载来研究和学习,下载地址:示例代码下载
    首先请看resource.txt文件的代码:
    1. *** Settings ***
    2. Library           AppiumLibrary

    3. *** Variables ***
    4. ${REMOTE_URL}     http://localhost:4723/wd/hub
    5. ${PLATFORM_NAME}    Android
    6. ${PLATFORM_VERSION}    4.4.4
    7. ${DEVICE_NAME}    Android Emulator
    8. ${APP}            ../../../ContactManager/ContactManager.apk

    9. *** Keywords ***
    10. add new contact
    11.     [Arguments]    ${contact_name}    ${contact_phone}    ${contact_email}
    12.     Open Application    ${REMOTE_URL}    ${PLATFORM_NAME}    ${PLATFORM_VERSION}    ${DEVICE_NAME}    ${APP}
    13.     Click Element    accessibility_id=Add Contact
    14.     Input Text    id=com.example.android.contactmanager:id/contactNameEditText    ${contact_name}
    15.     Input Text    id=com.example.android.contactmanager:id/contactPhoneEditText    ${contact_phone}
    16.     Input Text    id=com.example.android.contactmanager:id/contactEmailEditText    ${contact_email}
    17.     Click Element    accessibility_id=Save       
    复制代码
    这里重点要说的是Variables下的五个变量,它们都是Open Application关键字的参数,用于在测试执行时提供给Appium相关的参数设置,之前的文章曾经说过可以不设置,在测试脚本中进行设置,这五个就是进行相关设置的参数。下面分别做下解释说明。
    ${REMOTE_URL}:远程URL,指的是Appium所在的地址以及端口号,之后的/wd/hub为固定格式,请不要改动。
    ${PLATFORM_NAME}:平台名称,我们在Android中进行测试,只能写Android。
    ${PLATFORM_VERSION}:平台版本,也就是Android的版本号,这个要和模拟器中设定的版本相同即可。
    ${DEVICE_NAME}:设备名称,就是运行中的模拟器的名称,如果不知道,可以通过在命令行中输入adb devices指令取得。
    ${APP}:要测试的App的全路径,注意这个路径指的是相对于Appium所在的机器的路径,这里的App需要从是Appium官网下载,下载地址:示例代码下载,下载后在sample-code\apps\ContactManager目录下可找到ContactManager.apk。
    接下来的Keywords就简单了,可以打开AppiumLibrary得知每个关键字的具体含义,也可以更直接的在RIDE中查看关键字的含义,点击左上方的K图标,然后弹出Search Keywords窗口,再选择Source为AppiumLibrary,如下图所示。
    如何获取元素在之前的文章说过了,怎么样?写起来是不是很简单?
    接下来再来看看contacts.txt里面的脚本:
    1. *** Settings ***
    2. Resource          resource.txt

    3. *** Test Cases ***
    4. add_contact
    5.     [Documentation]    demo for android_contacts(https://github.com/appium/sample-code/blob/master/sample-code/examples/python/android_contacts.py)
    6.     [Tags]    demo
    7.     add new contact    Appium User    someone@appium.io    5555555555
    8.     Page Should Contain Text    Appium User
    复制代码
    这个就更简单了,调用resource.txt文件里面的add new contact关键字,参数就是要添加的联系人的姓名,邮件和电话,最后一行是验证添加是否成功。
    好了,有兴趣的朋友可以自己试试哦。
    待续,请持续关注...

    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-8-23 15:39
  • 签到天数: 44 天

    连续签到: 1 天

    [LV.5]测试团长

    发表于 2015-11-23 14:57:20 | 显示全部楼层
    学习了,谢谢分享!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-11-4 11:04
  • 签到天数: 274 天

    连续签到: 1 天

    [LV.8]测试军长

    发表于 2016-4-12 17:37:02 | 显示全部楼层
    学习了,谢谢分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-5-18 17:42:35 | 显示全部楼层
    您好,请问一下这个app只能是从github上下的那几个吗?如果我想直接跑AVD中的app,比如打开默认的浏览器,参数应该怎么传?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-3-29 09:50 , Processed in 0.070307 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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