Python + Robotframework + Appium 之APP自动化测试实践(一)
前面的文章已经介绍了Robotframework+Appium的安装及小试牛刀(For Android)
下面来个简单的实践,话不多说,还以是计算器为例,直接上代码,详情如下:
*** Settings ***
Library AppiumLibrary *** Test Cases ***
case1
[Documentation] Test open app
Open Application http://localhost:4723/wd/hub platformName=Android platformVersion=7.1 deviceName=Kemi appPackage=com.android.calculator2 appActivity=.Calculator case2
[Documentation] Test addition
Click Element com.android.calculator2:id/digit_9 # 点击数字 9
Click Element accessibility_id=plus # 点击 + 号
Click Element xpath=//android.widget.Button[contains(@text,'')] # 点击数字 7
Click Element android=new UiSelector().description(\"equals\") # 点击 = 号
${actual_text} Get Text com.android.calculator2:id/result # 获取计算结果
Should Be Equal As Strings ${actual_text} 16 # 验证结果等于16
sleep 2 # 设置等待2S
Click Element com.android.calculator2:id/clr # 点击清除键 case3
[Documentation] Test subtraction
Click Element com.android.calculator2:id/digit_8 # 点击数字 8
Click Element accessibility_id=minus # 点击 - 号
Click Element xpath=//android.widget.Button[contains(@text,'')] # 点击数字 2
Click Element accessibility_id=equals # 点击 = 号
Click Element com.android.calculator2:id/clr # 点击清除键 case4
[Documentation] Test close app
Click Element accessibility_id=More options # 点击更多选项
Click Element xpath=//android.widget.TextView[contains(@text,'Open source licenses')]
sleep 5 # 设置等待5S
Press Keycode 4 # 模拟返回键
Close Application # 关闭当前应用
如上,testApp.robot脚本中包含四个小用例,Test open app / Test addition / Test subtraction / Test close app 。启动Appium服务端,在编辑器里运行脚本结果截图如下:

在手机上也可以看到代码中描述的用例在自动运行。
更多实践见后续文章~
Python + Robotframework + Appium 之APP自动化测试实践(一)的更多相关文章
- Python + Robotframework + Appium 之APP自动化测试实践(二)
废话不多说,直接来实践(二),本次基于Android手机Settings模块下的search功能进行的自动化测试,代码如下 : *** Settings *** Library AppiumLibra ...
- Python + Robotframework + Appium 之APP自动化测试小试牛刀(Android)
Robotframework如何好?这里先不说了~ Python更不用说了~ Appium前面的文章有介绍~ 今天直接来Python+Robotframework+Appium 三者结合起来,对And ...
- Python appium搭建app自动化测试环境
appium做app自动化测试,环境搭建是比较麻烦的. 也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用. 在app自动化测试当中,我们主要是 ...
- 基于Appium的APP自动化测试基础--美团APP的实例
转:https://blog.csdn.net/Tigerdong1/article/details/80159156 前段时间用一种流行语言,一个主流工具,一个实用框架,写了一个美团app自动化测试 ...
- 基于appium的app自动化测试框架
基于appium框架的app自动化测试 App自动化测试主要难点在于环境的搭建,appium完全是基于selenium进行的扩展,所以app测试框架也是基于web测试框架开发的 一.设备连接 (即构建 ...
- Python+Selenium+Appium对APP进行UI自动化测试
1. 安装Python3.7版本 pythonjava的JDK java -version javac nodejs node --versionappium 若nodejs安装完毕,使用npm安装a ...
- Python+Appium实现APP自动化测试
一.环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK .Android SDK 3.adb环境,path添加E:\Software\Android_SD ...
- robotframework+appium 实现App自动化值环境搭建(一)
第一步: Cmd命令输入pip install robotframework-appiumlibrary 下载和导入appiumlibrary 第二步: 安装JDK,附件有JDK1.8安装包 第三步 ...
- jenkins+appium android app自动化测试
jenkins安装 pytest+jenkins安装+allure报告 新建任务 其他默认,保存 立即构建 test_login.py from src.pages import login_page ...
随机推荐
- Java Thread.interrupt interrupted
Java Thread.interrupt @(Base)[JDK, 线程, interrupt] 原文地址,转载请注明 下面这个场景你可能很熟悉,我们调用Thread.sleep(),conditi ...
- static静态局部变量初始化问题
第一次写博客之类的东西,主要是为了记录自己的学习过程,以便于记忆的加深和与各位大神进行探讨,学习更多的东西. 本次上传主要是关于静态局部变量的初始化问题. 首先,静态局部变量和全局变量一样,数据都存放 ...
- 如何将String转换为int
1. int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); Integer.parseIn ...
- 代码重构:用工厂+策略模式优化过多的if else代码块
最近在工作中优化了一段冗余的if else代码块,感觉对设计模式的理解和运用很有帮助,所以分享出来.鉴于原代码会涉及到公司的隐私,因此就不贴出来了.下面以更加通俗易懂的案例来解析. 假如写一个针对员工 ...
- tensorflow生成随机数的操作 tf.random_normal & tf.random_uniform & tf.truncated_normal & tf.random_shuffle
tf.random_normal 从正态分布输出随机值. random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name ...
- 兼容IE7、IE8、IE9的input type="number"插件
IE11版本好像才兼容input type="number",但是现在Win7版本操作系统下,很多人的IE版本都是IE7/8/9,所以为了体验就自己写了一个小插件,支持设置最大值. ...
- 134. Gas Station (Array; DP)
There are N gas stations along a circular route, where the amount of gas at station i is gas[i]. You ...
- Java的继承与接口
为什么Java里面只允许单一继承,但允许实现多个接口? 1,为什么不能实现类的多继承?主要是防止多个类有相同的方法名,然而方法体不一样,子类就比较难选择了.所以java和C#不支持类的多继承2,允许具 ...
- C++ volatile
volatile的位置与const相同——都是作为类型的附加修饰符 使用volatile的主要目的是提示编译器该对象的值可能在编辑器未监测的情况下被改变,因此编译器不能武断地对引用这些对象的代码作优化 ...
- TOYS(叉积)
TOYS http://poj.org/problem?id=2318 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 193 ...