我用来启动Appium服务器的命令:
node appium --address 127.0.0.1 --port 4723 --session-override --no-reset --platform-name Android --platform-version 23 --automation-name Appium
Run Code Online (Sandbox Code Playgroud)
如何通过命令行停止服务器?
由于 swipe() 已弃用,我无法从左向右滑动屏幕。我的应用程序中有 4 个横幅,我想滑动以查看所有横幅。
我的应用需要多应用许可。我需要通过允许或拒绝其他权限来检查我的应用程序的行为。如何从appium启用/禁用app权限以创建多个方案?
例如,假设我的应用需要权限:permission1和permission2。
scenario 1 = allow permission1 allow permission2
scenario 2 = allow permission1 deny permission2
scenario 3 = deny permission1 allow permission2
scenario 4 = deny permission1 deny permission2
Run Code Online (Sandbox Code Playgroud) 当我尝试使用nodejs运行我的应用程序时。我遇到以上错误进入appium服务器
test.js文件
var wd = require("wd");
var appDriver = wd.remote({
hostname: '127.0.0.1',
port: 4723,
})
var config = {};
config.android19Hybrid = {
automationName: 'Appium',
browserName: '',
platformName: 'Android',
platformVersion: 19,// API level integer, or a version string like '4.4.2'
autoWebview: true,
deviceName: 'any value; Appium uses the first device from *adb devices*',
app: "D:\\market-deliveryboy\\platforms\\android\\app\\build\\outputs\\apk\\debug\\app-debug.apk"
};
appDriver.init(config.android19Hybrid);
Run Code Online (Sandbox Code Playgroud)
我在Appium服务器上出现错误
[debug] [MJSONWP] Calling AppiumDriver.createSession() with args: [{"automationName":"Appium","browserName":"","platformName":"Android","platformVersion":19,"autoWebview":true,"deviceName":"any value; Appium uses the first device from *adb devices*","app":"D:\\market-deliveryboy\\platforms\\android\\app\\build\\outputs\\apk\\debug\\app-debug.apk"},null,null]
[debug] [BaseDriver] Event 'newSessionRequested' logged at 1554729359484 …Run Code Online (Sandbox Code Playgroud) 我在 WebdriverIO 和 mocha 的帮助下启动本机应用程序,但无法与设备通信,但能够启动应用程序但不能与元素交互。
const webdriverio = require('webdriverio');
const androidOptions = require('../../../helpers/caps').androidOptions;
const assert = require('chai').assert;
androidOptions.capabilities.appPackage = "com.google.android.calculator"
androidOptions.capabilities.appActivity = "com.android.calculator2.Calculator"
describe('Create Chrome web session', function () {
let client;
before(async function () {
client = await webdriverio.remote(androidOptions)
});
after(async function () {
await client.deleteSession();
});
it('should create and destroy Android browser session', async function () {
const elem = await $('#digit_2')
elem.waitForDisplayed(3000);
await client.touchClick('digit_2');
});
});
Run Code Online (Sandbox Code Playgroud)
var Mocha = require('mocha'), fs = require('fs');
var mocha …Run Code Online (Sandbox Code Playgroud) javascript mocha.js webdriver-io appium-android webdriver-io-v4
我正在测试一个使用蓝牙的应用程序,我有一个 python 函数将它连接到服务器并显示一些字符串。我想将该字符串存储在变量中并将其与其他字符串进行比较。
我已将结果存储在结果变量中,但可以使用它比较字符串
*** Settings ***
Library AppiumLibrary run_on_failure=Capture Page Screenshot
Library String
Library bt.py
*** Variable ***
${appium_1}= http://0.0.0.0:4723/wd/hub
${platform_name}= android
${platformVersion}= 9
${deviceName}= b6722e70
${app}= /home/user/Downloads/pre-prod.apk
${result}
*** Test Cases ***
App_Test_1
[Documentation] Test Case to Login
Open Application ${appium_1}
platformName=${platform_name} deviceName=${deviceName}
app=${app}
Capture Page Screenshot
Click Element id=com.vendekin:id/intro_btn_skip
Sleep 4
Wait Until Element Is Visible id=com.vendekin:id/phone
input text id=com.vendekin:id/phone
Click Element id=com.vendekin:id/login
Sleep 5
Wait Until Element Is Visible id=com.vendekin:id/otp
Click Element id=com.vendekin:id/otp
sleep 15
Wait …Run Code Online (Sandbox Code Playgroud) 我试图在Ubuntu 16中下载Appium Desktop(到目前为止我刚刚使用终端运行它).
我理解,对于Ubuntu,我必须下载他们在git上的源代码版本(源代码tar.gz),与他们的.exe(windows)或.dmg(mac)版本相关.下载并取消后,我不知道如何"安装"它.我试过读README.md,但找不到指令.这该怎么做?
提前谢谢了
我想在运行我的 Appium 测试时使用现有的应用程序会话。那么我需要在我的代码中添加任何方法或功能,以便它可以继续现有的应用程序会话。
我四处寻找解决方案,但不幸的是我找不到它。
adb server version (39) doesn't match this client (40); killing...
could not read ok from ADB Server
* failed to start daemon
error: cannot connect to daemon
adb: error: failed to get feature set: protocol fault (couldn't read status): Connection reset by peer
* daemon not running; starting now at tcp:5037
* daemon started successfully
- waiting for device -
error: protocol fault (couldn't read status): Connection reset by peer
Run Code Online (Sandbox Code Playgroud) 我想向下滚动屏幕,但我似乎无法做到这一点。Appium原来的方式如下:
actions = TouchAction(driver)
actions.scroll_from_element(element, 10, 100)
actions.scroll(10, 100)
actions.perform()
Run Code Online (Sandbox Code Playgroud)
我的代码是:
actions = TouchAction(self.driver)
actions.scroll_from_element('com.android.dialer.dialers', x=90, y=1330)
actions.scroll(x=90, y=170)
actions.perform()
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误消息:
line 133, in test_app
scroll.scroll_from_element('com.android.dialer.dialers', x=90, y=1230)
AttributeError: 'TouchAction' object has no attribute 'scroll_from_element'
Run Code Online (Sandbox Code Playgroud) 我想启动 Appium Inspector 会话以附加到我的设备上当前运行的 Android 应用程序。我面临的问题是,每当我启动会话时,正在运行的应用程序就会被终止并再次启动。有什么办法可以避免这种情况吗?
我目前正在使用以下配置:
{
"appium:automationName": "UiAutomator2",
"platformName": "android",
"appium:app": "/my/path/to/apk",
"appium:noReset": true
}
Run Code Online (Sandbox Code Playgroud) 在执行驱动程序初始化之前,有什么办法列出所有可用的Appium会话ID?
driver.init(desired_capability)
Run Code Online (Sandbox Code Playgroud) appium-android ×12
appium ×9
appium-ios ×3
automation ×2
python ×2
selenium ×2
adb ×1
cordova ×1
javascript ×1
mocha.js ×1
testing ×1
webdriver-io ×1