robotframework-appiumLibrary 应用 - 实现 app 自动化

1、安装appiumLibrary第三方库

运行pip命令:pip install robotframework-appiumlibrary

若已安装,需要更新版本可以用命令:pip install -U robotframework-appiumlibrary

2、安装app自动化环境。

参考我的另外一篇专门app自动化环境安装的文章:https://www.cnblogs.com/Simple-Small/p/10641854.html

3、利用appiumLibrary完成app功能自动化测试。

第一步:导入AppiumLibrary,设置等待超时时间为20s。

第二步:启动appium server。启动真机或者模拟器(本文中为网易MUMU模拟器)

通过 adb devices 命令检测 模拟器是否可用。

第三步:利用open application关键字,打开模拟器上的 柠檬班app。

这一步实际是:与appium server建立连接,并告诉appium server 要在XX设备上操作XXapp.

本案例中, 要去操作系统为Android,版本为6.0.1的设备上,启动 柠檬班app。(ps:appium 是同时支持android和ios设备的。)

所以,需要提供 :

  1. 平台名称 (platformName=Android)
  2. 平台版本号 (platformVersion=6.0.1)
  3. 设备名称 (deviceName=Emulator)
  4. app的包名(app在移动设备上的标识) (appPackage=com.lemon.lemonban)
  5. app的启动activity (appActivity=com.lemon.lemonban.activity.WelcomeActivity)

除此之外,启动与app的会话时,官网提供了更多的参数说明。可参考以下官网地址:

http://appium.io/docs/en/writing-running-appium/caps/

4、AppiumLibrary当中元素定位方式
定位策略 说明 案例
id 匹配元素的resourceId属性 id=id=com.lemon.lemonban:id/navigation_tiku
accessibility_id 匹配元素的description属性 accessibility_id=button3
android 使用UiAutomator框架的元素定位 android=UiSelector().description('Apps')
xpath 使用xpath表达式定位 xpath=//*[@text="nmb"]
class 匹配元素的class属性 class=android.widget.TextView
5、AppiumLibrary关键字说明

以下列举部分关键字说明:

关键字 说明
open application 打开app应用
close application 关闭app并关闭当前的webdriver会话
Quite application 关闭app但不关闭当前会话
reset application 重置app
remove applicaiton 卸载app
get source 获取当前页面的源码
get window height 获取当前设置的高
get window width 获取当前设备的宽
get newtwork connections status 获取当前的网络状态
Set network connection status 设置网络连接状态
Hide keyboard 隐藏键盘
Is keyboard shown 键盘是否隐藏
get activity 获取当前活跃的activity
swipe 滑屏操作
swipe by percent 按百分比滑屏操作
get contexts 获取当前所有的contexts
switch to context 切换到指定的context
click element 点击元素
input text 元素中输入值
get text 获取元素的文本
get element attribute 获取元素的属性值
Get element size 获取元素的大小
get element location 获取元素的坐标值
Execute adb shell 执行adb命令
switch application 切换app
wait activity 等待activity加载
### 6、使用案例

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐

  1. 关于自动化测试工具RobotFrameWork

    2024-07-09 22:32:07       34 阅读
  2. python API自动化(Requests库应用)

    2024-07-09 22:32:07       20 阅读
  3. python API自动化(接口自动化简单封装与Logging应用)

    2024-07-09 22:32:07       21 阅读
  4. 通过API接口实现自动化数据同步

    2024-07-09 22:32:07       61 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 22:32:07       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 22:32:07       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 22:32:07       58 阅读
  4. Python语言-面向对象

    2024-07-09 22:32:07       69 阅读

热门阅读

  1. 使用工业自动化的功能块实现大语言模型应用

    2024-07-09 22:32:07       23 阅读
  2. Linux 内核编译与模块开发:深入掌握系统核心

    2024-07-09 22:32:07       27 阅读
  3. CUDA Kernel调试与优化--背景知识扫盲(LLM生成)

    2024-07-09 22:32:07       16 阅读
  4. C语言希尔排序详解与实例

    2024-07-09 22:32:07       22 阅读
  5. 多尺度旋转编码

    2024-07-09 22:32:07       23 阅读
  6. PostgreSQL的使用

    2024-07-09 22:32:07       21 阅读
  7. 定投就像还房贷

    2024-07-09 22:32:07       22 阅读
  8. Linux下python抓取动态网页内容

    2024-07-09 22:32:07       28 阅读