问题标签 [appium]

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 回答
1071 浏览

android - find_element_by_xpath 不适用于包含带方括号的文本的 TextView

在 android 应用程序中,我有一个TextView带有文本的"[PC]".

我正在尝试在 python 中使用 appium 查找该文本,如下所示

但它给出了错误消息:

0 投票
1 回答
1661 浏览

android - 如何使用appium在android中进行网络测试

我单击 appium.exe UI 中的启动按钮而不对其进行配置。当我运行以下代码时,我的 android 模拟器中没有首选项。如何在带有 appium 的 android 模拟器中启动 chrome 浏览器。

0 投票
3 回答
10148 浏览

android - 无法启动 appium 会话

我无法开始会议,您能帮忙吗?我已完成以下步骤:

  1. 从 Appium for windows 包启动 Appium 服务器(运行 appium.exe 文件)

  2. 启动了一个安卓模拟器

  3. 启动硒服务器

  4. 通过 TestNG 运行脚本

在浏览器中输入以下内容时出现以下错误

我的控制台显示以下错误:

0 投票
2 回答
2328 浏览

java - 在 junit 测试运行时模拟物理 Web 服务器

我正在寻找一个简单的框架,它能够模拟特定 URL 的 JSON 响应,因此启动一个内存服务器。例如,框架可以启动 node.js 服务器或类似的。

我需要一个物理服务器,因为单元测试是针对外部应用程序(使用 selenium)运行的,并且该应用程序依赖于 JSON 接口。应用程序本身是在模拟器内运行的 iPhone 应用程序,并与 REST 接口通信。

是否有一个现有的框架,或者考虑到我需要使用 jUnit 执行测试,最好的方法是什么。

0 投票
1 回答
539 浏览

python - 我想找到一个与 org.sikuli.api.DesktopScreenRegion 类似的 API 来验证一个图像是否存在于另一个图像中

我正在使用 Appium 编写用于 IOS 自动化的 Python 代码,但遇到了这个问题:检查点是在更改设备位置设置时检查 tableView 中的一些单元格(单元格将不同,包括数字和文本),如果文本和图像正确显示在单元格中,并且图像与文本匹配,例如足球图标匹配“足球”,我尝试找到 webdriver api 仅捕获单元格的快照,但我找到的所有方法都是针对驱动程序的,它只是可以捕获整个屏幕。

现在我的同事有这个的java代码:


此代码可以使用 imageExists 来判断图像是否可以在另一个中找到我搜索 sikuli api for python,但找不到任何东西,看起来只有 java api 现在我被困在这个问题上,有人可以帮忙吗?非常感谢!

0 投票
1 回答
857 浏览

selenium-webdriver - 支持在功能中使用代理?

appium 中是否支持使用功能对象设置代理?这在 selenium webdriver 中是可能的,但在 appium 中似乎对我不起作用。

WebDriver 代理示例链接: http ://www.seleniumhq.org/docs/04_webdriver_advanced.jsp#using-a-proxy

0 投票
1 回答
491 浏览

android - 如何使用 appium 对已安装的 android 应用程序执行测试?

我想使用 appium 编写 webdriver 测试用例,每次运行都不能重新安装应用程序。如何启动已安装的应用程序并执行测试?

0 投票
3 回答
6211 浏览

android - 用于启动应用程序的活动不存在!确保它存在

当我尝试使用 Appium 测试我的 Hello World Android 应用程序时,我得到了Activity used to start app doesn't exist! Make sure it exists

  1. 我有一个 apk,里面有一个包:com.company.myapp
  2. 该包中有一个活动:MainActivity
  3. 该 apk 面向 Android 4.4,API 级别 19
  4. 我有一个模拟的Android设备adt-bundle-mac-x86_64-20131030/sdk/tools/emulator -avd 4.4-KitKat-Nexus-4
  5. 在 DesiredCapabilities 中,我尝试了以下方法app-activity
    1. "MainActivity"
    2. ".MainActivity"
    3. "com.company.myapp.MainActivity"
  6. Appium 的日志说debug: Request received with params: {"desiredCapabilities":{"newCommandTimeout":"60","app":"/Users/me/Development/workspace/myapp/bin/myapp.apk","platform":"MAC","browserName":"","app-package":"com.company.myapp","device-ready-timeout":"60","device":"android","launch":"true","compressXml":"true","app-wait-activity":"com.company.myapp.MainActivity","app-activity":"com.company.myapp.MainActivity","version":"4.4"}}
  7. Appium创建一个会话,启动android appium,找到我连接的(模拟)设备,说应用程序没有安装,应用程序已经签名,找到一个它想要保留的apk,找不到任何要删除的,运行adb -s emulator-5554 shell pm install -r [apk it found that it wants to keep],转发端口4724,唤醒设备获取{"value":true,"status":0},确保屏幕解锁...

然后它执行adb -s emulator-5554 shell am start -n com.company.myapp/com.company.myapp.MainActivity并给出上面的错误消息。

它也尝试使用 . 附加到活动并给出相同的错误消息。

0 投票
4 回答
12779 浏览

android - Appium + Android + WebDriver findElement():sendKeys() 后找不到元素?

我有一个模拟的 Android 设备和 Appium。我的测试成功启动了正确的活动并在特定的文本字段中键入。但是,当我尝试查找相同的文本字段以检查其中的文本时,我得到"An element could not be located on the page using the given search parameters."即使我尝试重新使用该元素而不是第二次搜索它,它仍然会失败并显示相同的消息。我应该怎么做?也许第二个的上下文findElement()是错误的——我也找不到文本字段旁边的按钮。

这是一个 git repo,其中包含一个应用程序和一个测试项目。失败的 JUnit 测试证明了这个问题:https ://github.com/achengs/an-appium-question

下面的详细信息(代码和 Appium 日志交错)

这是第一个成功的 findElement。Activity 的布局 xml 文件具有我要查找的文本字段的此属性:android:id="@+id/edit_message"

首先 findElement 成功:

打招呼!

这成功了:

这是第二个失败的 findElement。(如果我跳过这个 findElement 并重新使用原来的那个——或者如果我尝试在文本字段旁边找到“发送”按钮,我仍然会遇到类似的失败)

这是失败的日志:

有一个 HTML 请求。我正在测试一个原生 Android 应用程序。这是当前正在测试的 Activity 的布局 xml。如果还有什么我应该在这里包括的,请告诉我。

0 投票
1 回答
276 浏览

ios - IOS测试:测试两个app之间的交互

我需要使用 UI 自动化对 IOS 应用程序进行自动化测试。我需要测试以下场景。

1)打开邮件应用程序并选择要共享的文件。这将打开我的应用程序 2) 现在我需要在我的应用程序上执行 UI 操作并进行一些测试

我不知道如何使用 Instruments 或 Appium 自动化这个场景。所有这些工具都采用一个应用程序的捆绑名称。我需要一种从单个脚本控制和执行两个应用程序的 UI 操作的方法。

有什么建议么?

编辑:澄清