UI“三重天”之appium(一)
官方介绍:
Appium is an open-source tool for automating native, mobile web, and hybrid applications on iOS mobile, Android mobile, and Windows desktop platforms. Native apps are those written using the iOS, Android, or Windows SDKs. Mobile web apps are web apps accessed using a mobile browser (Appium supports Safari on iOS and Chrome or the built-in 'Browser' app on Android). Hybrid apps have a wrapper around a "webview" -- a native control that enables interaction with web content. Projects like Apache Cordova or Phonegap make it easy to build apps using web technologies that are then bundled into a native wrapper, creating a hybrid app.
Importantly, Appium is "cross-platform": it allows you to write tests against multiple platforms (iOS, Android, Windows), using the same API. This enables code reuse between iOS, Android, and Windows testsuites.
For specific information about what it means for Appium to "support" its platforms, and automation modalities, please see the platform support doc.
appium呢,是开源的,用于在iOS移动,Android移动和Windows桌面平台上自动化本机,移动Web和混合应用程序。。。。。。。(一大堆、自行百度)
重要的是,Appium是“跨平台的”:它允许您使用相同的API针对多个平台(iOS,Android,Windows)编写测试。这样可以在iOS,Android和Windows测试套件之间重用代码。
我们无论在做什么测试,首先要考虑的便是该工具(框架)是否真的适合自己的业务,自己的需求;显然跨平台的优点是首选,和之前的jmeter是一样的。我们不能被工具(框架)限制。
appium概念(来自官方文档):
客户端/服务器架构:
Appium的核心是一个公开REST API的Web服务器。它从客户端接收连接,侦听命令,在移动设备上执行这些命令,并使用表示命令执行结果的HTTP响应进行响应。我们拥有客户端/服务器架构这一事实开辟了许多可能性:我们可以使用任何具有http客户端API的语言编写测试代码,但使用其中一个Appium客户端库更容易。我们可以将服务器放在与运行测试不同的机器上。我们可以编写测试代码并依赖像Sauce Labs这样的云服务来接收和解释命令。
会话:
自动化始终在会话的上下文中执行。客户端以特定于每个库的方式启动与服务器的会话,但它们最终都向POST /session
服务器发送请求,并使用称为“所需功能”对象的JSON对象。此时,服务器将启动自动化会话并使用会话ID进行响应,该会话ID用于发送更多命令。
环境搭建:
1、android SDK!!!
2、appium-server,下载传送门:https://bitbucket.org/appium/appium.app/downloads/(本文以appium-server为主)
(或者)appium-desktop,下载传送门:http://appium.io/downloads.html
3、appium安装:
一路next,没技术含量。
4、appium环境变量配置:appium-server安装完成,
将${appium_home}\node_modules\.bin添加至path变量
5、安装nodejs,官网下载传送门https://nodejs.org/en/download/releases/
一路next,环境变量自动添加。
6、cmd命令行输入appium-doctor,查看环境是否搭建成功
ok,到这块appium环境就搭建成功了。
appium-sever介绍:
看一下界面:
左上角四个按钮功能:Android Setting=======>android应用配置
General Setting=======>通用配置
Developer Setting======>开发者配置
版本详情
Android Setting:
1、勾选:Application Path
2、点击:Choose,将要测试的apk文件放进去,下方包名以及activity自动加载、。
【切忌:每次选完成apk_path,将Application Path的勾去掉。否则,每次启动时,appium会重新安装相应的应用】
3、勾选package包名,勾选launchActivity。
有关launchActivity可直接向开发进行索取,或者重签名,或是使用SDK中build-tools中的aapt.exe
4、capabilities中的platformname 和automationname都默认
General Setting:
1、server和port
2、pre-launch:在启动app时,预先启动它,建议不勾选。
3、logging中勾选show Timestamps,显示时间戳
4、Log to File中填写日志保存路径
ok,开发者选项没用到,基本介绍以及配置方法完成。
先配置server,android-setting中加载一个APK,启动,查看日志。
点击右上角的启动按钮。
ok,从日志中可以看得到appium-server已经启动成功了。本地的4723端口已经启用。
指定的保存本地日志文件也有相关执行日志内容:
UI“三重天”之appium(一)的更多相关文章
- UI“三重天”之Selenium(一)
关注一下UI自动化,记一记笔记. UI自动化的优缺点: 关于UI自动化的优缺点想来大家都有了解,优点:解放人力(并不是完全解放),用机器(涵盖工具.脚本等)代替人工完成测试工作,将测试用例转化为脚本实 ...
- Ui"三重天"之重温Uiaumator(1)
移动端自动化技术和接口自动化技术是接下来需要深究和拓展的两方面,基于之前的薄弱基础,重温一波,本篇内容便是android UI自动化框架Uiautomantor1. 介于对移动端自动化并没有实际应用的 ...
- UI“三重天”之实践Uiautomator1
说起来Uiautomator也有一年没碰过了.借此来回顾.总结一下. 也是阅读<精通APP自动化测试>一书.实践出真知的一个框架.编写了部分移动端UI自动化脚本.后续再深入学习. 虽然现在 ...
- UI“三重天”之selenium--常用API和问题处理(三)
Selenium常用API: 前面两篇示例代码中用到了一些selenium的API方法,例如定位元素的八种方法.访问url.等待.操作浏览器.获取title.点击.清理等等. 有关于selenium的 ...
- UI“三重天”之selenium--封装(二)
基础示例代码: /** * @author Richered **/ package com.sample; import org.openqa.selenium.By; import org.ope ...
- python+appium+yaml安卓UI自动化测试分享
一.实现数据与代码分离,维护成本较低,先看看自动化结构,大体如下: testyaml管理用例,实现数据与代码分离,一个模块一个文件夹 public 存放公共文件,如读取配置文件.启动appium服务. ...
- Appium 在 Android UI 测试中的应用
原文地址:https://blog.coding.net/blog/Appium-Android-UI Android 测试工具与 Appium 简介 Appium 是一个 C/S 架构的,支持 An ...
- Appium 三种wait方法(appium 学习之改造轮子)
前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecrazy/p/4562199.html 知乎Android客户端登陆:htt ...
- java+appium 自动化环境搭建
1.安装JDK1.7及以上 2.下载解压sdk并且配置环境变量: ANDROID_HOME:...\adt-bundle-windows-x86_64-20140702\sdk PATH:%ANDRO ...
随机推荐
- spring boot2 基于百度云apiface实现人脸检测与认证1
原理介绍: 基于百度云的人脸资料库(用户上传),调用本地摄像头抓拍的图像,与百度云的用户图像做比对,实现人脸认证. 主要步骤如下: 1. 创建百度去账号 2. 在百度云控制台中创建人脸识别的应用,并记 ...
- tp5.1 Env使用
5.1版本取消了所有的系统常量,原来的系统路径变量改为使用Env类获取(需要引入think\facade\Env) echo "app_path=========".Env::ge ...
- IOS-static cell 与 dynamic cell 混合使用
static cell 与 dynamic cell 混合使用 关于静态cell与动态cell的混合使用,google一下便会有很多相关文章,这里也是看过一些前辈的经验(已经忘记具体是从哪篇文章得到的 ...
- [转载]CentOS 6.3安装Subversion服务器
转载自http://www.cnblogs.com/zhoulf/archive/2013/02/02/2889949.html 安装说明 系统环境:CentOS-6.3 安装方式:yum insta ...
- PostgresException: 42883: function ifnull(integer, integer) does not exist
原因在于PostGresql并没有自带IFNULL函数,可以用COALESCE来替代IFNULL,且COALESCE功能更强大,可以输入更多参数,顺序判断并返回第一个非null值. 例如: SELEC ...
- SQL 字符串拆分
字符串拆分: ALTER FUNCTION [dbo].[f_Split](@sText nvarchar(max),@split NVARCHAR(20)) RETURNS @t TABLE (id ...
- 作业要求20181023-4 Alpha阶段第2周/共2周 Scrum立会报告+燃尽图 02
作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2284] 版本控制:https://git.coding.net/liuyy08 ...
- 在mysql中,如何改变列声明.
C 在mysql中,如何改变列声明. 修改表 - 修改列名 使用 CHANGE COLUMN 来修改列的名字,还必须 设置 列的数据类型 mysql> desc test_tab -> / ...
- Windows下MySQL多实例运行
1.正常安装Windows版的MySQL,例如安装在C:\Program Files\MySQL文件夹里: 2.按照常规配置好MySQL: (注:5.6版本的 data文件夹与 my.ini文件在C: ...
- ubuntu16.04 tensorflow pip 方式安装
首先,需要知道 tensorflow 1.5版本以上包括 1.5版本 的GPU类型都是需要安装 cuda9.0的, tensorflow-gpu 1.4版本是可以使用cuda 8.0. ...