如何使用 Appium Xcode Instruments 执行单个命令

Posted

技术标签:

【中文标题】如何使用 Appium Xcode Instruments 执行单个命令【英文标题】:How to execute single command by using Appium Xcode Instruments 【发布时间】:2015-01-05 13:50:51 【问题描述】:

目前我正在一个 javascript 文件中编写所有测试用例操作,并使用 Xcode Instruments automation.traceTemplate 文件来执行测试用例。 以下是 TestCase 文件的内容。

var target = UIATarget.localTarget();
var app = target.frontMostApp();
var window = app.mainWindow();

//target.logElementTree();
target.delay(2);
UIATarget.localTarget().captureScreenWithName("Application launched");

target.frontMostApp().mainWindow().textFields()[0].setValue("demo");
target.delay(2);
UIATarget.localTarget().captureScreenWithName("Username entered");


var passwordfield = target.frontMostApp().mainWindow().secureTextFields()[0];
passwordfield.setValue("demo");

我的要求: 我想使用 Xcode Instruments 在 ios 设备上一次执行一个操作,而不是将完整的测试用例文件作为类似于 Appium 工具实现的输入传递。

提前致谢…………

【问题讨论】:

有没有人可以帮助我??如果我做错了什么,请告诉我。请讨论。 【参考方案1】:

XCode 工具本身不支持动态 Javascript。您必须将所有 javascript 放在一个文件中并一次执行所有脚本。您无法停止执行,拥有单独的测试用例等。 这就是 appium 发挥作用的地方,它将允许任意 JS 执行。您以 appium/selenium 格式创建测试用例,它们会在后台向仪器发送命令。

通过本教程http://appium.io/slate/en/tutorial/ios.html?java#native-ios-automation,你甚至不必使用 JS,你可以使用 Java/Ruby,你会处于更好的状态。

【讨论】:

我有一个客户端,这个客户端从客户端对设备执行一些操作。假设他输入了一些文本,然后我想在实际设备中输入这些文本,然后截取它的屏幕截图。我想动态创建这些命令并截取其屏幕截图并将此屏幕截图发送给客户端【参考方案2】:

查看appiumRepl

您可以一个接一个地发送命令,并在设备/模拟器上实时观察它们:)

还有一个 Ruby REPL。

【讨论】:

我有一个客户端,这个客户端从客户端对设备执行一些操作。假设他输入了一些文本,然后我想在实际设备中输入这些文本,然后截取它的屏幕截图。我想动态创建这些命令并截取其屏幕截图并将此屏幕截图发送给客户端 是的,只要使用 Appium 及其相关的网络驱动程序,这一切都是可能的。使用 github.com/appium/appium 上的 appium 项目并从命令行运行它,而不是使用 appium 桌面应用程序。然后使用任何 appium 客户端库连接到服务器,它们不需要在测试用例中运行。 感谢您的回复。我不想使用appium。我拥有的所有其他必需组件,只是我需要这个场景来实现而不是使用 appium。请帮帮我。

以上是关于如何使用 Appium Xcode Instruments 执行单个命令的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 的 Appium 服务器和 WebDriver 问题

自 xCode 13 和 iOS 15 以来,Appium(和桌面)无法启动 wda 会话

Appium 错误:无法获取 Xcode 版本

转2Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结

21 | 移动测试神器:带你玩转Appium

mac上使用appium连接真机问题