appium

Appium详解server capabilities

99封情书 提交于 2020-02-04 03:06:59
通用能力 Capability Description Values automationName 使用哪种自动化引擎 Appium (默认)或 Selendroid 或 UiAutomator2 用于Android或 XCUITest iOS platformName 使用哪个移动OS平台 iOS , Android 或 FirefoxOS platformVersion 移动OS版本 例如 12.0 , 4.4 deviceName 要使用的移动设备或模拟器的种类 iPhone Simulator , iPad Simulator , iPhone Retina 4-inch , Android Emulator , Galaxy S4 ,等....在iOS上,可以通过 instruments -s devices 获得。在Android上,此功能可以忽略 app 包的本地路径或者远程url /abs/path/to/my.apk http://myapp.com/app.ipa browserName 移动Web浏览器的名称。如果仅测试app,可忽略 iOS: Safari<br>Android: Browser , Chromium: chrome newCommandTimeout 会话等待间隔时间(以秒为单位) 例如 60 language

appium测试之获取appPackage和appActivity

醉酒当歌 提交于 2020-02-04 01:26:57
  appPackage 和 appActivity 进行 appium 自动化测试非常重要的两个参数,我们所测试的 APP 不同,这两个参数肯定也是不一样的。那如何快速的获取这 APP 的这两个参数呢?我这里介绍两个方法。 import org.openqa.selenium.remote.DesiredCapabilities; import java.net.MalformedURLException; import java.net.URL; import io.appium.java_client.android.AndroidDriver; public class appiumZhihu { public static void main(String[] args) throws MalformedURLException, InterruptedException { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("deviceName", "Android Emulator"); capabilities.setCapability("automationName", "Appium"); capabilities

appium desired_caps参数大全

不问归期 提交于 2020-02-03 23:06:43
appium desired_caps参数大全 --------------------------------------------------------- 常用参数记录 ----------------------------------------------------------- 能力 描述 值 automationName 使用哪个自动化引擎 Appium(默认)或Selendroid或者UiAutomator2或者Espresso对于Android或XCUITestiOS或者YouiEngine使用You.i引擎构建的应用程序 platformName 使用哪个移动操作系统平台 iOS,Android或FirefoxOS platformVersion 移动操作系统版本 例如7.1,4.4 deviceName 使用的移动设备或模拟器的种类 iPhone Simulator,iPad Simulator,iPhone Retina 4-inch,Android Emulator,Galaxy S4,等....在iOS上,这应该是与仪器返回的有效设备之一instruments -s devices。在Android上,这个功能目前被忽略,尽管它仍然是必需的。 app 一个或一个文件的绝对本地路径 或 远程http URL ,或者包含其中的一个

Appium模拟手势高级操作

筅森魡賤 提交于 2020-02-03 04:41:16
Appium模拟手势高级操作 TouchAction是AppiumDriver的辅助类,主要针对手势操作,比如滑动、长按、拖动等, 原理是将一系列的动作放在一个链条中发送到服务器,服务器接受到该链条后,解析各个动作,逐个执行。 1.前置代码 from appium import webdriver # server 启动参数 desired_caps = {} # 设备信息 desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '5.1' desired_caps['deviceName'] = '192.168.56.101:5555' # app的信息 desired_caps['appPackage'] = 'com.android.settings' desired_caps['appActivity'] = '.Settings' # 声明我们的driver对象 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) ⚠️ 所有手势都要通过执行函数才会运行. 2.手指轻敲操作 模拟手指轻敲一下屏幕操作 方法:tap(element=None, x=None, y=None) 方法

Appium手机操作API

白昼怎懂夜的黑 提交于 2020-02-02 15:34:29
Appium手机操作API 针对手机的一些常用设置功能进行操作. 1.前置代码 from appium import webdriver # server 启动参数 desired_caps = {} # 设备信息 desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '5.1' desired_caps['deviceName'] = '192.168.56.101:5555' # app的信息 desired_caps['appPackage'] = 'com.android.settings' desired_caps['appActivity'] = '.Settings' # 声明我们的driver对象 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) 2.获取手机时间 方法:device_time 代码实现: # 获取当前手机的时间 print(driver.device_time) 执行结果: Wed Dec 27 08:52:45 EST 2017 3.获取手机的宽高 获取手机的宽高,可以根据宽高做一些坐标的操作 方法:get_window_size() 代码实现: print

Appium元素事件操作API

喜欢而已 提交于 2020-02-02 14:05:29
Appium元素事件操作API 1.前置代码 from appium import webdriver # server 启动参数 desired_caps = {} # 设备信息 desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '5.1' desired_caps['deviceName'] = '192.168.56.101:5555' # app的信息 desired_caps['appPackage'] = 'com.android.settings' desired_caps['appActivity'] = '.Settings' # 声明我们的driver对象 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) 2.swip滑动事件 ⚠️从一个坐标位置滑动到另一个坐标位置,只能是两个点之间的滑动 方法:swipe(start_x, start_y, end_x, end_y, duration=None) 参数: 1.start_x:起点X轴坐标 2.start_y:起点Y轴坐标 3.end_x: 终点X轴坐标 4.end_y,: 终点Y轴坐标 5.duration:

Appium - When do we use touch action? Could I have actual example for inputing text with it?

北慕城南 提交于 2020-02-02 12:52:07
问题 I would like to ask when do we use touch action in Appium. I also want to ask: could we use touch action to tap/press the android.widget.EditText element and sendKeys to it. Could I have an workable example to test it? 回答1: We use touch action whenever we want to click/tap on the particular element on the device. For Clicking You can use touch action for EditText element as bewlow : driver.findElement(By.xpath("your element xpath/id")).click(); For Typing Also, You can use sendKeys for

iOS appium操作元素常用方法

扶醉桌前 提交于 2020-02-01 22:02:30
1.ios_predicate(推荐,用的多) 在 iOS 的 UI 自动化中,使用原生支持的Predicate定位方式是最好,可支持元素的单个属性和多个属性定位,强烈推荐使用 driver.find_element_by_ios_predicate("value == 'ClearEmail'") driver.find_element_by_ios_predicate("type == 'XCUIElementTypeButton' AND value == 'ClearEmail'") 2.accessibility_id (name或者id属性都用该方法,用的多) 替代以前的name定位方式,在 iOS 上,主要使用元素的label或name(两个属性的值都一样)属性进行定位,如该属性为空,也是不能使用该属性。 driver.find_element_by_accessibility_id('ClearEmail') el = self.driver.find_element_by_accessibility_id('SomeAccessibilityID') 3.class_name(一般用的少) 使用元素的 type 属性定位,特别注意该属性的唯一性!class_name唯一的情况并不多,一般情况下用不上。 driver.find_element_by_class

Appium学习13:Appium简介

*爱你&永不变心* 提交于 2020-02-01 11:16:46
Appium 简介 Appium is an open source test automation framework for use with native, hybrid and mobile web apps. It drives iOS, Android, and Windows apps using the WebDriver protocol. Appium 是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动iOS,Android和Windows应用程序。 Appium 官网 Appium github 主页 官方中文文档 Appium 官方论坛 Testerhome 中文社区 Appium 优势 可以跨平台同时支持android、ios 支持多种语言,java、python、php、Ruby等等 不用为复杂的环境发愁 如果你有selenium经验,直接上手。 Appium 架构原理 Appium 是在手机操作系统自带的测试框架基础上实现的,Android和iOS的系统上使用的工具分别如下: Android(版本>4.3):UIAutomator,Android 4.3之后系统自带的UI自动化测试工具。 Android(版本≤4.3):Selendroid,基于Android

APP爬取环境配置

孤人 提交于 2020-02-01 09:12:04
APP爬取环境配置 环境配置 Charles抓包工具 mitmproxy抓包工具 Appium自动化测试工具 环境配置 Charles抓包工具 Charles教程: https://www.axihe.com/tools/charles/charles/tutorial.html Charles证书配置 注意,在Android 7以上Charles无法代理https请求,系统默认不信任用户证书,解决方法: 更换Android 7以下的安卓手机测试 修改apk文件,配置安全策略,需要反编译apk文件,较麻烦 mitmproxy抓包工具 mitmproxy地址: https://github.com/mitmproxy/mitmproxy/releases 安装:pip install mitmproxy mitmproxy证书配置 对接python脚本:mitmdump -s script.py 注意: 在Windows上不支持mitmproxy的控制台接口,使用mitmdump、mitmweb Charles默认在本地的8888端口开启一个代理服务,mitmproxy为8080 Charles一般用于抓包分析,mitmproxy则可对接python脚本:重写request(flow)、response(flow)方法等 Appium自动化测试工具 Appium地址: https:/