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 ...
随机推荐
- Haskell语言学习笔记(62)Divisible
Divisible class Contravariant f => Divisible f where divide :: (a -> (b, c)) -> f b -> f ...
- servlet类第二篇
1servlet的生命周期是什么? 服务器启动时(web.xml中配置load-on-startup=1,默认为0)或者第一次请求该servlet时,就会初始化一个Servlet对象,也就是会执行初始 ...
- 内核线程和用户线程(SMP)
用户级和内核级线程 用户级线程:任何应用程序都可以通过使用线程库设计成多线程程序.线程库是用于用户级线程管理的一个例程句,它包含用于创建和销毁线程的代码.在线程间传递消息和数据的代码.调度线程执行的代 ...
- Ansiable Manage MySQL global variables
mysql_variables - Manage MySQL global variables New in version 1.3. Synopsis Requirements (on host t ...
- frm和ibd恢复sql文件的操作
情况:有mysql中data文件(仅仅一个数据库) 操作:frm和ibd恢复sql文件的操作 1.创建相同名字的库xxx 2.把ibdata1替换成原来的 3.把数据库xxx内内容全部替换为原来的 完 ...
- Spring依赖注入:注解注入
注解注入顾名思义就是通过注解来实现注入, Spring和注入相关的常见注解有Autowired.Resource.Qualifier.Service.Controller.Repository.Com ...
- 解决SpringBoot中webScocket不能注入bean的问题
最近在做websocket聊天,但是遇到一个问题,就是在websocket的服务中要调用Service层的东西.首先我想到的是通过@Autowire注解来实现bean的注入.但是进过测试发现,注入的b ...
- 如何添加ECSHOP广告位置
如何添加ECSHOP广告位置 我们都知道ecshop系统默认的广告位置非常的少,但是一个电子商务网站岂能离开广告?庆幸的是,ecshop预留了足够强大的组件让我们能够完全有可能实现任意我们想要广告位置 ...
- popupMenu-----弹出菜单
import android.os.Bundle; import android.app.Activity; import android.graphics.Color; import android ...
- final修饰符:
知识点: 1.final关键字用于修饰类.变量和方法 2.有点类似C#里的 sealed 关键字,用于表示它修饰的方法.变量和类不可以再被改变 3.final修饰变量时,表示该变量一旦获取了初始值,就 ...