问题标签 [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 投票
2 回答
4084 浏览

android - Enumerate all elements in Selenium Python bindings for Appium

I am trying to get started with Appium for testing my company's mobile applications. I wish to use the Python bindings to write the scripts, and I need to start with Android apps.

I have the Appium examples all working. I can run grunt android and the tests work, and I can run the android.py sample app.

But I'm a total newbie and I don't have a clear picture of how to identify the controls in my company's apps. I'm experienced with Python so I thought I would just build a list of control elements and introspect them.

I'm stuck! All of the methods like driver.find_elements_by_tag_name() require a specific identifier (or at least I haven't found any wildcard that works).

How can I introspect the Appium tree of elements that represents the Android app under test? How can I enumerate all the elements so I can introspect them? Is there a tree I can walk to find all elements in the app?

I was hoping I could figure out the elements without needing to get the source code for the apps, build the apps in Eclipse, etc. but I can do this if necessary.

P.S. I would prefer to use Python, but would be open to using something else to do the introspection if that works better. I could still write the actual tests in Python, unless the other language was significantly better somehow.

0 投票
4 回答
3088 浏览

ios - 出现“使用当前位置”权限弹出窗口时,Appium 和 Selenium 无法连接

我正在尝试使用 Appium 自动化 iOS 测试。我有一个应用程序需要用户位置并在首次启动时请求位置权限。当我尝试将 selenium 连接到全新安装时,出现弹出窗口时它会失败。当我手动接受弹出窗口时,Seleium 和 Appium 连接成功,并且测试能够继续。

这是服务器输出的副本:

和硒输出的副本:

我正在使用以下命令初始化 Selenium:

任何帮助表示赞赏!

0 投票
1 回答
3724 浏览

node.js - 在 Windows 上安装 Appium 服务器——如何解决 grunt 错误?

我正在使用本指南:

https://github.com/appium/appium/blob/master/docs/running-on-windows.md

在这一步:

我无法让它运行。我试过了:

  1. 在节点内运行它。
  2. GitHub\appium\node_modules\.bin\grunt.cmdconfigAndroidBootstrap

单独运行\appium\node_modules\.bin\grunt.cmd是有效的,它至少会做一些事情。但是当我添加 configAndroid.. 部分时,它会:

想法?

谢谢。

0 投票
4 回答
12838 浏览

selenium-webdriver - Appium和iOS Mobile Safari自动化,能做到吗?

我无法在 iOS 模拟器上使用 Appium 与 Safari 移动浏览器进行任何自动化操作。在我的 Java 项目中,Safari 将启动,但浏览器甚至不会导航到指定的网站。谁能告诉我我的代码做错了什么?

1) 在我的 OSX 机器上启动 Appium 应用程序。它配置有以下设置:

(注意:当我运行我的项目时,Appium 应用程序日志屏幕上没有消息滚动。以前,我收到有关缺少 iOS 6.0 库的投诉,但是当我复制 6.1 iOS 库然后将目录重命名为 6.0 时,消息消失了. )

2) 启动 Eclipse 并打开 Appium 项目

3) 右键单击​​测试代码,然后单击 RunAs Junit

4) iPhone模拟器启动——iPhone iOS 6.1

5) Mobile Safari 启动......然后无处可去(应该去 cnn.com)。我没有错误。

Appium Java 项目真的可以用于移动 Safari 自动化吗?我在 Appium 示例代码仓库中没有看到任何 Safari 自动化的示例。

是什么赋予了?

谢谢,

拉里

------------------Java 代码如下----------------------------- ------------

Eclipse Juno 被用于运行我的 Java/Appium 项目。这是 Java JUnit 项目代码的简化列表(当相应地修改并与 iWebDriver 和已弃用的 iPhoneDriver() 一起使用时,它可以正常工作):

0 投票
1 回答
681 浏览

selenium - 在 Windows 中打开 Appium.exe 时发生崩溃

无法在 Windows 机器上安装 Appium.exe 以测试使用 Selenium WebDriver API 的 Android 本机应用程序

在此处输入图像描述

0 投票
3 回答
7746 浏览

android - 如何在 Ubuntu 中使用 Appium 进行 Android 单元测试

我想使用 Appium 为 HelloWorld Android 应用程序做一个简单的单元测试。我的 Android 应用程序有一个 Activity,在它加载到屏幕上后,它会在 TextView 上显示“Hello World”。我想要的是使用 Python 编写一个单元测试用例,它可以按我的预期工作并使用 Appium 进行测试。

我无法理解的主要事情是我的 Android 项目、Appium 和 Python 脚本之间的联系。

我想我已经在我的 Ubuntu-12.04 中正确配置了 Appium。当我在终端中给出以下命令时

它给出以下响应

anuja@anuja-MulTplx:~$ info: Appium REST http 接口监听器开始于 0.0.0.0:4723

我已经为使用 Selenium WebDriver 的 Web 单元测试编写了简单的 Python 脚本。但我不知道如何编写 Python 脚本来使用 Appium 测试我的 Android 应用程序。需要一个例子或好的文档。

谢谢


我在@ Dan Cuellar回答之后添加了这一部分。

使用一个终端启动服务器后,我从另一个包含 python 绑定的终端运行我的 python 脚本。

在运行终端的 Appium 服务器上,它给出了以下输出

并且在我执行 python 绑定脚本的终端上给出了以下结果。

我已将自签名 apk 用于上述测试目的。

  • 右键单击 Eclipse Android 项目
  • 安卓工具
  • 导出签名的应用程序包
  • 彻底了解向导

我正在使用真实设备进行此测试。

谁能指出我在哪里/我做错了什么?

0 投票
3 回答
6863 浏览

ios - 如何使用 Appium 为 iOS 自动化创建有效的 .app 或 .zip 存档?

在测试原生 Objective-C 应用程序时,Appium 需要一个有效的 .app 包,或一个 .zip 归档的 .app 包,以便使用 Instruments 运行自动化。

但是我在做一些非常错误的事情,并且在试图创建一个 Appium 可以在 iOS 模拟器中实际运行的有效 .app 包时碰壁。

我正在用 Java 编写自动化程序并使用 JUnit。

目前,在 Xcode 中,我正在为“iOS 设备”生成一个 .xarchive 文件,然后使用 Xcode Organizer 向我展示 .xarchive 文件的放置位置。找到此存档后,我将使用“显示包内容”深入了解 .xarchive,直到在 xarchive 中找到 test.app 包,该包呈灰色并通过 .app 图标显示一个圆圈/斜线(是的,我知道,麻烦...)。我从 .xarchive 中拉取 test.app 包,然后将其放在具有 777 写入权限的目录中。

在我的 Java 代码(使用 Eclipse IDE 的 Maven 项目)中,我编写了这样的功能,提供了 test.app 包的完整路径:

运行此代码时,无论是否在 Appium 界面上的 test.app 包(如上所示)中也提供了“应用程序路径”,我在 Appium 控制台中收到以下错误:

然后,当我使用相同的 test.app 包并对其进行压缩时,然后像这样更改代码:

我在 Appium 控制台中收到以下错误:

然后,当我将相同的压缩 test.app 存档放在服务器(Ubuntu、Apache)上并像这样更改我的代码时:

我在 Appium 控制台中收到以下错误对话框:

我到底做错了什么?

有什么方法可以简单地在 iOS 模拟器上正确安装我的应用程序(我已经可以做到这一点),然后让 Appium 告诉 Instruments 启动已经安装的应用程序?如果是这样,这将如何在我的功能代码块中指定?

我是否需要生成一个带有 .ipa 扩展名的包,然后用它做一些花哨的事情?

显然,当谈到在 Xcode 中构建 .app 包时,我完全是个新手,并且可以真正使用这里的好人可以提供的任何帮助。如果我可以让 Appium 在 iOS 模拟器上启动这个 fricken 应用程序,我就是金子!

提前感谢您的任何反馈!

伍尔夫

0 投票
1 回答
3532 浏览

ios - 已安装 xCode 命令行工具,但不可见

我想运行 appium 来对我的应用程序进行自动化测试。为此,我需要使用命令行工具运行一些命令。这是我第一次尝试这样做。

如果我preferences > downloads > "command line tools"显示为“已安装”

但是我在哪里打开它?我检查了XCode > Open Developer Tool-它不存在。提示或链接将不胜感激。

0 投票
1 回答
116 浏览

android - 让屏幕阅读器忽略 content-desc 的方法

有没有办法让屏幕阅读器忽略 android 上的一些内容描述?

我目前正在使用 appium 来测试一个 android-app,通过内容描述查找元素是最简单的 AFAIK。问题是我想在几乎每个元素上设置内容描述,但由于屏幕阅读器使用这些并读出它们,使用它们时会变得很可怕。有没有办法轻松解决这个问题?

0 投票
1 回答
1398 浏览

junit - Jenkins,xcodebuild -> JUnit-Tests with Appium?

我正在使用 Jenkins CI 来构建我的 iOS 项目。对于这个任务,我使用 sh-script 通过运行 xcodebuild 直接从 git-repo 构建二进制文件,并且运行良好。目前我使用 eclipse 中的 appium 运行 JUnit-tests 来测试我的应用程序,但我也想将它们集成到 Jenkins 中。我找到了一些使用 ant-scripts 将 JUnit-tests 集成到 jenkins 的教程,但我不使用 ant 来构建我的项目。如何在没有 ant 脚本的情况下将我的 JUnit 测试集成到 jenkins 中?还是我应该使用蚂蚁脚本?

谢谢你。