appium(6)-parts of appium api
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})