问题标签 [appium-java]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
30 浏览

automated-tests - 如何检测 Appium Java TestNG 中的崩溃

我有一些需要检测崩溃的 Appium Java 测试,但我找不到是否有某种事件侦听器或委托设置以允许在应用程序崩溃或退出时获得通知。

大多数在线建议都提到轮询应用程序日志以及每隔 T 间隔获取应用程序状态。但不幸的是,这对我来说是最后的手段。

这是否可以通过现成的框架功能或某种特性来实现?

0 投票
1 回答
22 浏览

selenium - 如何使用 appium 在 android 中实现 4 次快速点击(在 0.8 秒内)?

我尝试过 TapAction、MultiTouch,但它需要的时间超过 0.8 秒。如果有任何解决方案,请回复

0 投票
0 回答
48 浏览

selenium - Appium 未在真实设备上显示 webview 上下文

我正在尝试获取 android 混合应用程序中页面的上下文。在 saucelab 的模拟器中,我得到了两个上下文(本机和 webview)。但是,在酱实验室的真实设备上,我只获得了本地上下文。

0 投票
1 回答
41 浏览

java - Appium Java客户端的版本是什么,它将自动为“Appium”添加前缀以遵循W3C协议

我正在尝试更新我的脚本以遵循 W3C 协议进行 Appium 测试。

找不到哪个版本的 Appium java-client 会自动为功能添加“Appium”关键字前缀。

0 投票
1 回答
192 浏览

selenium - selenium.UnsupportedCommandException:找不到请求的资源,或者请求

获取异常失败配置:@AfterClass tearDown “org.openqa.selenium.UnsupportedCommandException:找不到请求的资源,或者使用映射资源不支持的 HTTP 方法接收到请求”

enter code here

//org.openqa.selenium.UnsupportedCommandException: 找不到请求的资源,或者使用映射资源不支持的HTTP方法接收到请求

由于这个原因,所有测试都失败了。

0 投票
1 回答
49 浏览

xcode - Appium:WebDriverAgent 已从 iPad 上卸载,并且不再安装

WebDriverAgent 已从 iPad 上卸载,并且从未再次安装并抛出 xcode 错误:“org.openqa.selenium.SessionNotCreatedException:无法启动新会话。响应代码 500。消息:处理命令时发生未知的服务器端错误。原始错误:由于 xcodebuild 失败,无法启动 WebDriverAgent:xcodebuild failed with code 65”</p>

配置

Appium:1.22.0/1.22.2/1.22.0/1.22.0-beta

Mac 操作系统:macOS 蒙特雷 v12.1

Xcode:13.0

java-client - 8.0.0-beta

- 4.1.0

遵循以下教程:

https://github.com/appium/appium-xcuitest-driver/blob/master/docs/real-device-config.md

appium 服务器端错误:xcodebuild 失败,代码 65

https://discuss.appium.io/t/unable-to-launch-webdriveragent-because-of-xcodebuild-failure-xcodebuild-failed-with-code-65/19332/10

https://discuss.appium.io/t/wda-gets-installed-and-deleted-on-iphone-while-creating-session-using-appium-desktop/32693/1

错误日志:

org.openqa.selenium.SessionNotCreatedException:无法启动新会话。响应代码 500。消息:处理命令时发生未知的服务器端错误。原始错误:由于 xcodebuild 失败,无法启动 WebDriverAgent:xcodebuild failed with code 65 xcodebuild 错误消息:

2022-01-21 11:49:21.109 xcodebuild[96868:1671553] [MT] IDETestOperationsObserverDebug: (2B376EA3-D48B-44EE-8EE5-A14AAC6B3949) 无法进行测试运行程序会话:错误域 = com.apple.dt.xctest。 error Code=9 "Unable to connect to test manager on dfb994683be4aa90965d0836323ad4e7c0d04514" UserInfo={NSLocalizedDescription=Unable to connect to test manager on dfb994683be4aa90965d0836323ad4e7c0d04514, NSUnderlyingError=0x6000029748a0 {Error Domain=XCTMobileDeviceFramework Code=34 "The service is invalid." UserInfo={NSLocalizedDescription=服务无效。}}} 2022-01-21 11:49:21.340 xcodebuild[96868:1671553] [MT] DTDKRemoteDeviceConnection:无法在设备“dfb994683be4aa90965d0836323ad4e7c0d04514”上启动仪器守护程序:错误域=com。 apple.dtdevicekit Code=811 "无法在设备上启动远程服务。" UserInfo={NSUnderlyingError=0x60000285cbd0 {错误域=com.apple.dt.MobileDeviceErrorDomain Code=-402653150“服务无效。” UserInfo={MobileDeviceErrorCode=(0xE8000022), com.apple.dtdevicekit.stacktrace=( 0 DTDeviceKitBase 0x00000001149e781a DTDKCreateNSErrorFromAMDErrorCode + 233 1 DTDeviceKitBase 0x00000001149f9161 __63-[DTDKRemoteDeviceConnection startFirstServiceOf:unlockKeybag:]_block_invoke + 564 2 DTDeviceKitBase 0x00000001149f8829 __48-[DTDKRemoteDeviceConnection futureWithSession:DVT_CALLING_CLIENT_BLOCKNSLocalizedRecoverySuggestion=请检查您与设备的连接。, DVTRadarComponentKey=261622, NSLocalizedDescription=无法在设备上启动远程服务。} *** 如果您认为此错误代表错误,请将结果包附加到 /Users/rishi/Library [开发人员/Xcode/DerivedData/WebDriverAgent-ciegwgvxzxdrqthilmrmczmqvrgu/Logs/Test/Test-WebDriverAgentRunner-2022.01.21_11-49-21-+0530.xcresult 2022-01-21 11:49:21.342 xcodebuild[96868:1671553] IDETestOperationsObserverDebug: 0.294 elapsed -- 测试开始完成。2022-01-21 11:49:21.342 xcodebuild[96868:1671553] [MT] IDETestOperationsObserverDebug:0.000 秒,+0.000 秒——开始 2022-01-21 11:49:21.342 xcodebuild[96868:1671553] [MT] IDETestOperationsODebugbserver :0.294 秒,+0.294 秒——结束测试会话结果、代码覆盖率和日志:/Users/rishi/Library/Developer/Xcode/DerivedData/WebDriverAgent-ciegwgvxzxdrqthilmrmczmqvrgu/Logs/Test/Test-WebDriverAgentRunner-2022.01.21_11-49-21-+0530.xcresult 测试失败:WebDriverAgentRunner:WebDriverAgentRunner-Runner.app 遇到错误(无法与测试运行程序建立通信。(基础错误:无法连接到 dfb994683be4aa90965d0836323ad4e7c0d04514 上的测试管理器。(基础错误:服务无效。)))** 测试执行失败 ** 在“Rishi Khanna 的 iPad”上开始测试. 确保你按照教程在 (基本错误:无法连接到 dfb994683be4aa90965d0836323ad4e7c0d04514 上的测试管理器。(基本错误:服务无效。)))**测试执行失败**测试在“Rishi Khanna 的 iPad”上开始。确保你按照教程在 (基本错误:无法连接到 dfb994683be4aa90965d0836323ad4e7c0d04514 上的测试管理器。(基本错误:服务无效。)))**测试执行失败**测试在“Rishi Khanna 的 iPad”上开始。确保你按照教程在https://github.com/appium/appium-xcuitest-driver/blob/master/docs/real-device-config.md. 如果已安装 WebDriverAgentRunner 应用程序,请尝试从设备中删除它并重新启动设备。构建信息:版本:'4.1.0',修订:'87802e897b' 系统信息:主机:'192.168.1.3',ip:'fe80:0:0:0:10e1:8403:814d:ca22%en0',os .name:'Mac OS X',os.arch:'x86_64',os.version:'10.16',java.version:'1.8.0_221' 驱动程序信息:io.appium.java_client.ios.IOSDriver 命令:[null , newSession {capabilities=[{appium:autoAcceptAlerts=true, appium:bundleId=com.salido.ios.v2.staging.PointOfSale, appium:deviceName=iPad Pro (12.9-inch, 2nd generation) (Model A1670), appium: newCommandTimeout=500, appium:noReset=true, platformName=iOS, appium:platformVersion=15.0, appium:toggleSoftwareKeyboard=true, appium:udid=dfb994683be4aa90965d0836323ad4e7c0d04514, appium:useNewWDA=true, appium:desiredCapabilities=Capabilities {autoAcceptAlerts: true, bundleId: com.xxx, deviceName: iPad Pro (12.9-inch, 2nd g..., newCommandTimeout: 500, noReset: true, platformName: iOS, platformVersion: 15.0, toggleSoftwareKeyboard: true, udid : xxx..., useNewWDA: true, usePrebuiltWDA: true, wdaLocalPort: 37001, xcodeOrgId:, xcodeSigningId: iPhone Developer}}] 功能{}

0 投票
0 回答
17 浏览

appium - Android 移动设备:滚动执行正确,但滚动不会在针对选择器参数定义的相应查找值上停止

在 Appium (android) 中,我使用移动命令 mobile:scroll 滚动,基于此参考。滚动工作完美,但不会停止针对选择器参数定义的相应查找值。

代码

日志

0 投票
1 回答
24 浏览

appium - 如何将显式等待的条件缩小到给定的 SearchContext?

我想等到特定视图消失。一般来说,我可以使用以下代码来做到这一点:

但是,这种方式不是很精确。

想象一个场景,有两个不同的视图匹配相同的谓词(定位器)。在下面的示例中,我使用了“按 ID”定位器,但它也可以是其他任何东西。

在下图中,有 3 个视图:

  • 查看与我的谓词匹配的“A”(“按 ID”)
  • 包含视图“C”的视图“B”
  • 查看与我的谓词匹配的“C”(“按 ID”)

匹配相同定位器的两个视图

当我只想找到视图“C”时,例如为了点击它,我可以这样做:

所以当我知道它包含视图“C”时,我可以通过首先搜索视图“B”来缩小对视图“C”的搜索范围。

这是可能的,因为方法WebElement返回的findElement实现SearchContext接口,就像WebDriver确实一样。因此,我可以选择是要在整个屏幕上搜索还是在特定的WebElement.

在等待视图消失的情况下如何缩小搜索范围?

理想情况下,我希望是这样的:

但我还没有找到类似的东西。

0 投票
2 回答
29 浏览

node.js - 在从 Java 代码运行 Appium.js 时如何删除错误“SyntaxError:无法在模块外使用 import 语句”的任何建议?

在从 Java 代码运行 Appium.js 时如何删除错误“SyntaxError:无法在模块外使用 import 语句”的任何建议?尝试在 package.json 或 .mjs 扩展名中添加 type: "type": "module" 。当 "type": "module" 添加新的异常时。节点:内部/错误:464 ErrorCaptureStackTrace(错误);^

错误 [ERR_MODULE_NOT_FOUND]:找不到从 C:\Users\Ritesh Mittal\AppData\Roaming\npm\node_modules\appium 导入的模块 'C:\Users\Ritesh Mittal\AppData\Roaming\npm\node_modules\appium\lib\logger' \lib\appium.js 在新的 NodeError (node:internal/errors:371:5) at finalizeResolution (node:internal/modules/esm/resolve:416:11) at moduleResolve (node:internal/modules/esm/resolve: 932:10) 在 defaultResolve (node:internal/modules/esm/resolve:1044:11) 在 ESMLoader.resolve (node:internal/modules/esm/loader:422:30) 在 ESMLoader.getModuleJob (node:internal/modules /esm/loader:222:40) 在 ModuleWrap。(node:internal/modules/esm/module_job:76:40) 在链接 (node:internal/modules/esm/module_job:75:36) { code: 'ERR_MODULE_NOT_FOUND' }

使用 cjs-to-es6 实用程序在 appium.mjs 中转换 appium.js。但是,js没有转换成mjs。

//代码

有什么帮助吗?

0 投票
1 回答
15 浏览

java - 如何在单个测试应用程序中在桌面上编写 Selenium 网页测试以及在 Android 移动设备上进行本机应用程序测试?

我有一个需要的场景 。)假设我转到网页仪表板,配置用户、组、设备,然后保存设置,这些设置会被推送到我物理连接到我的 mac 的 Android(或 iOS)设备(或 Windows)。 b.)当我转到 Android(或 iOS)设备并打开我的本机应用程序时,请执行一些选择/操作。根据我通过上述 Web 仪表板推送的设置,我会在本机移动应用程序以及 Web 仪表板上显示一些指标。 c.) 然后我转到桌面网页上的仪表板并验证我在移动设备上的本机应用程序上观察到的相同指标

桌面网页的所有往返 -> 移动设备上的本机应用程序 -> 返回桌面网页进行验证,应该发生在同一个测试应用程序/程序中。

我已经在 Eclipse IDE 的一个 Maven 项目中完全设置了 appium、selenium 库,它能够运行仅基于移动设备的测试。

How can I proceed to include Selenium web page testing in to this and combine it together with WebDriver, AppiumWebDriver ?