parts of appium api

Lock

Lock the screen.//锁屏。

// java
driver.lockScreen(3);
// objective c
[driver lockDeviceScreen:3];
# python
driver.lock(5)

Background app

Send the currently active app to the background.//将当前的app放到后台运行。

// java
driver.runAppInBackground(5);
// objective c
[driver runAppInBackground:3];
# python
driver.background_app(5)
 

Hide Keyboard

Hide the keyboard. Note: on iOS, this helper function is not guaranteed to work. There is no automation hook for hiding the keyboard, and apps are free to allow the user to hide the keyboard using any of a variety of different strategies, whether that is tapping outside the keyboard, swiping down, etc… We encourage you, rather than using this method, to think about how a user would hide the keyboard in your app, and tell Appium to do that instead (swipe, tap on a certain coordinate, etc…). That being said, the default behavior here might help you.//隐藏键盘。需要注意的是,在iOS系统上,这个方法不一定正常工作。实际上,用户可以通过“点击键盘外的区域”、“滑动”这些操作隐藏键盘。所以,使用appium时,推荐通过这些操作来隐藏键盘。

// java
driver.hideKeyboard();
// objective c
[driver hideKeyboard];
# python
driver.hide_keyboard()

Start Activity

Open an activity in the current app or start a new app and open an activity Android only//只适用于安卓系统。在当前app中打开一个activity,或者打开一个新的app。

// java
driver.startActivity("appPackage","com.example.android.apis", null, null);
// objective c
[driver startActivity:@"com.example.android.apis" package:@".Foo"];
# python
driver.start_activity('com.example.android.apis', '.Foo')

Open Notifications

Open the notification shade Android only//只适用于安卓系统。打开通知栏。

// java
driver.openNotifications();
// objective c
[driver openNotifications];
# python
driver.open_notifications()

Is installed

Check if an app is installed//判断是否安装了某个app。

// java
driver.isAppInstalled("com.example.android.apis")
// objective c
[driver isAppInstalled:@"com.example.android.apis-"];
# python
driver.is_app_installed('com.example.android.apis')

Install App

Install an app to the device.//安装一个app。

// java
driver.installApp("path/to/my.apk")
// objective c
[driver installAppAtPath:@"path/to/my.apk"];
# python
driver.install_app('path/to/my.apk')

Remove App

Remove an app from the device.//卸载一个app。

// java
driver.removeApp("com.example.android.apis")
// objective c
[driver removeApp:@"com.example.android.apis"];
# python
driver.remove_app('com.example.android.apis')

Shake

Simulate the device shaking.//模拟晃动操作。

// java
driver.shake()
// objective c
[driver shakeDevice];
# python
driver.shake()

Close app

Close the app.//关闭app。

// java
driver.closeApp()
// objective c
[driver closeApp];
# python
driver.close_app();

Launch

Launch the session for the desired capabilities. Note that this is the companion to the autoLaunch=false capability. This is not for launching arbitrary apps/activities—for that use start_activity. This is for continuing the initialization ("launch”) process if you have used autoLaunch=false.//当autoLauch=false时,使用desired capability加载session。

// java
driver.launchApp()
// objective c
[driver launchApp];
# python
driver.launch_app()
 

Reset

Reset the app.//重启app。

// java
driver.resetApp()
// objective c
[driver resetApp];
# python
driver.reset()
 

Available Contexts

List all available contexts.//列出全部可用的“上下文”

// java
driver.getContextHandles()
// objective c
NSArray *contexts = driver.allContexts;
# python
driver.contexts
 

Current context

List the current context.//列出当前的上下文。NATIVE_APP或者WEBVIEW_1。NATIVE_APP是指原生应用。

// java
driver.getContext()
// objective c
NSString *context = driver.context;
# python
driver.current_context
 

Switch to default context

Change the context to the default.//切换到默认“上下文”。

// java
driver.context();
// objective c
[driver setContext:nil];
# python
driver.switch_to.context(None)
 

App Strings

Get the app’s strings.//获取app的字符串。

// java
driver.getAppStrings();
// objective c
[driver appStrings];
[driver appStringsForLanguage:"@ru"];
# python
driver.app_strings
 

Key Event

Send a key event to the device.//发送一个key event到设备。

// java
driver.sendKeyEvent(AndroidKeyCode.HOME);
// objective c
NSError *err;
[driver triggerKeyEvent:176 metastate:0 error:&err];
# python
driver.keyevent(176)
 

Current Activity

Android only. Get the current activity.//获取当前的activity。

// java
driver.currentActivity();
// objective c
NSError *err;
[driver currentActivity];
# python
driver.current_activity
 

TouchAction / MultiTouchAction

An API for generating touch actions. This section of the documentation will be expanded upon soon.//触摸操作。

// java
TouchAction action = new TouchAction(driver)
.press(mapview, 10, 10)
.release().
perform();
# python
action = TouchAction(driver)
action.press(element=el, x=10, y=10).release().perform()
 

Swipe

Simulate a user swipe.//模拟滑动操作。

// java
driver.swipe(75, 500, 75, 0, 0.8)
# python
driver.swipe(start_x=75, start_y=500, end_x=75, end_y=0, duration=800)
 

Pinch

Pinch the screen.//捏,两指滑动靠近。

// java
driver.pinch(element);
# python
driver.pinch(element=el)
 

Zoom

Zoom the screen.//两指滑动远离。

// java
driver.zoom(element);
# python
driver.zoom(element=el)
 

Scroll To

Scroll to an element.//滚动。

// java
JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap<String, String> scrollObject = new HashMap<String, String>();
scrollObject.put("direction", "down");
scrollObject.put("element", ((RemoteWebElement) element).getId());
js.executeScript("mobile: scroll", scrollObject);
# python
driver.execute_script("mobile: scroll", {"direction": "down", element: element.id})
 

Pull file

Pulls a file from the device.//从设备中,下载一个文件到本地。

// java
driver.pullFile("Library/AddressBook/AddressBook.sqlitedb");
# python
driver.pull_file('Library/AddressBook/AddressBook.sqlitedb')
 

Push File

Pushes a file to the device.//上传一个文件到设备里。

// java
byte[] data = Base64.encodeBase64("some data for the file".getBytes());
String path = "/data/local/tmp/file.txt";
driver.pushFile(path, data)
# python
data = "some data for the file"
path = "/data/local/tmp/file.txt"
driver.push_file(path, data.encode('base64'))
 

Settings

Here you will find sample code for getting/setting appium serverSetting. For more information on how they work, and which settings are supported, see [the settings docs][/docs/en/advanced-concepts/settings.md]

JsonObject settings = driver.getSettings()
// java-client doesn't support setting arbitrary settings, just settings which are already provided by appium.
// So for the 'ignoreUnimportantViews' setting, the following method exists:
driver.ignoreUnimportantViews(true);
# python
current_settings = driver.get_settings()
driver.update_settings({"someSetting": true})

appium(6)-parts of appium api的更多相关文章

  1. 『与善仁』Appium基础 — 16、APPium基础操作API

    目录 1.前置代码 2.安装和卸载APP 3.判断APP是否已安装 4.关闭APP软件和关闭驱动对象 5.发送文件到手机和获取手机中的文件 6.获取当前屏幕内元素结构(重点) 7.脚本内启动其他APP ...

  2. Appium使用Python运行appium测试的实例

    Appium使用Python运行appium测试的实例 一.  Appium之介绍 https://testerhome.com/topics/8038 详情参考--https://testerhom ...

  3. appium(2)-Setting up Appium

    Setting up Appium Running Appium on Windows Additional Setup for Android App Testing Download latest ...

  4. 『与善仁』Appium基础 — 10、Appium基本原理

    目录 1.Appium自动化测试架构 2.Appium架构图 3.Session说明 4.Desired Capabilities说明 5.Appium Server说明 6.Appium Clien ...

  5. 『与善仁』Appium基础 — 14、Appium测试环境搭建

    目录 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 (2)Appium测试环境搭建 (3)测试脚本语言的环境搭建 2.Appium在Android端和IOS端的工作流程 (1 ...

  6. Appium基础二:Appium的安装(基Windows)

    1.JAVA环境配置: 1.1安装jdk: 1.2配置JAVA_Home.Path配置.java验证 Path: 输入C:\Program Files\Java\jdk1.8.0_121\bin:C: ...

  7. 『与善仁』Appium基础 — 12、Appium的安装详解

    目录 (一)Appium server安装 方式一:(桌面方式:推荐) 1.Appium Desktop下载 2.Appium Desktop安装 3.Appium Desktop使用 方式二:(No ...

  8. 『与善仁』Appium基础 — 20、Appium元素定位

    目录 1.by_id定位 2.by_name定位 3.by_class_name定位 4.by_xpath定位 5.by_accessibility_id定位 6.by_android_uiautom ...

  9. Appium+python自动化8-Appium Python API

    Appium+python自动化8-AppiumPython API   前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts conte ...

随机推荐

  1. POJ 3468:A Simple Problem with Integers(线段树[成段更新])

    题意:N个数Q次操作.一共两种操作:Q l r :询问[l,r]这个区间里的数字和,C l r c: [l,r]区间里的每个数都加上c.1 ≤ N,Q ≤ 100000. 方法:线段树的成段更新.注意 ...

  2. hdu 5438(类似拓扑排序)

    Ponds Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Sub ...

  3. Drupal service module 介绍

    https://www.ostraining.com/blog/drupal/services/ https://www.drupal.org/node/1246470 https://www.dru ...

  4. Objective_C与Swift混编遇到的坑(一)

    swift推出已经很长一段时间了,前段时间突然想尝试一些简单的类用swift编写于是便开始了混编的路程. 1.在oc代码里引用swift类:找了很多资料需要添加头文件格式为 #import " ...

  5. eclipse不会自动编译的问题解决

    注意:非必要的时候,重新下载eclipse安装是最有效的解决方法. 以下为尝试的步骤: 1.看看project->Build Automatically有没有勾上?如果没有,勾上以后,clean ...

  6. nginx 自签名https

    繁杂的命令,以下准备写好的sh,拷贝https.sh文件,设置执行权限:chmod u+x https.sh #!/bin/sh # create self-signed server certifi ...

  7. 唤醒你的大脑 --- javascript冒泡排序

    var a; a = [1, 2, 3, 11, 55, 5, 0, 44]; (function bubbleSort() { for (var i = 0; i <= a.length - ...

  8. DELPHI 10.2 TOKYO搭建LINUX MYSQL开发环境

    DELPHI 10.2 TOKYO搭建LINUX MYSQL开发环境 笔者使用ubuntu64位LINUX 首先必须保证LINUX可以连互联网. 安装MYSQLsudo apt-get update ...

  9. 百科知识 scm文件如何打开

    用scplayer打开,目前有效的下载链接将是: http://download.csdn.net/download/kevingao/2686778  

  10. 大型视频网站YouTube架构学习笔记

    http://www.kaiyuanba.cn/html/1/131/147/7540.htm这几天一直在关注和学习一些大型网站的架构,希望有一天自己也能设计一个高并发.高容错的系统并能应用在实践上. ...