草庐IT

xcuitest

全部标签

ios - XCUITest 使用 Springboard 测试 native Callkit UI。如何获取来电标签?

我正在尝试在我们的应用程序中测试VOIP通话。我模拟一个调用,并尝试断言是否存在正确的调用者ID。但是,我无法使用以下方法访问来电者姓名标签“Bob”:letspringBoard=XCUIApplication(bundleIdentifier:"com.apple.springboard")XCTAssert(springBoard.staticTexts["Bob‬"].waitForExistence(timeout:10))//Assertionfails但是,如果我尝试使用相同的调用访问它正下方的标签“***Audio...”,则断言通过:XCTAssert(springB

ios - 是否可以在 iOS 中同时自动化两个应用程序?

我们有这样的场景:在app1中执行脚本,在特定步骤中,app1向我们发送了一strip有URL的短信,app1需要文本字段中的验证码我们必须打开SMS应用程序来验证SMS是否存在,这条SMS有一个URL,当我们点击它时,它会再次将我们发送到app1,但验证码会自动写入文本字段。然后,继续脚本。这有可能吗?我们需要什么才能做到这一点?谢谢。 最佳答案 对于iOS,您可以打开SMS应用程序并在该应用程序中执行任何您喜欢的操作。例如,您可以打开短信应用程序,然后打开最新消息,然后单击(或复制)链接。我用ruby。我使用基于XCUITest

ios - 如何使用 Appium 在真实设备上自动化第 3 方 ios 应用程序

我正在尝试使用Appium在真实的iPhone上自动化第3方ios应用程序(例如YouTube)。我还没有找到一个指南/教程来实现这一点,但从我收集到的信息来看,它似乎涉及以下步骤:提取预安装的应用程序并对其进行解密(使用Clutch等工具)用我的开发证书辞职我知道我在每个步骤中都省略了很多细节,但我的问题是,有没有人成功地做到了这一点并且可以确认这实际上是可以实现的?或者是否有任何其他较少涉及的方法来使用Appium自动化第3方ios应用程序? 最佳答案 为了自动化已安装在设备上的应用程序,您可以使用bundleId功能并提供已安

ios - 在 XCUITest 的 iOS 模拟器中强制软件键盘

我正在使用XCUITest来测试出现键盘时的UI行为-例如,当出现键盘时内容是否正确向上移动。出于某种原因,iOS模拟器坚持定期禁用软件键盘。有时在模拟器重新启动时,但有时甚至只是在测试过程中切换文本字段时。有没有办法始终在模拟器中强制使用软件键盘?例如XCUIDevice上的命令行参数或属性?我在CI上运行这些测试,因此无法在模拟器中手动启用软件键盘。 最佳答案 我在Xcode中添加了一个脚本。它将默认的ConnectHardwareKeyboardNO写入~/Library/Preferences/com.apple.iphon

ios - 如何使用Appium在ios中获取应用程序信息,如应用程序版本、设备操作系统版本?

我正在使用appium测试应用程序并将测试输出集成到testrail中。我需要在testrail中添加设备和应用程序信息。在android中,我可以使用adb命令获取应用程序和设备信息,例如设备型号、设备版本和应用程序版本,如下所示:adb-s012313gasdashellgetpropro.product.modeladb-s012313gasdashellgetpropro.build.version.releaseadb-s012313gasdashelldumpsyspackagecom.test.app|grepversionName如何为ios获取相同的信息?使用以下命令

ios - XCUITest 与通知横幅交互。

是否可以在XCUITest中验证通知横幅已发送到屏幕?我可以向通知添加可访问性标识符,但是当横幅出现在屏幕上时,我无法让XCUITest与之交互。我知道XCUITest在与应用程序不同的进程中运行,但我想知道它是否仍然可以与通知交互,或者它是否超出了XCUITest的范围?谢谢, 最佳答案 使用Xcode9现在可以做到这一点。您可以访问其他应用程序。这包括包含通知横幅的跳板。XCUIApplication现在有一个新的初始化程序,它将包标识符作为参数。它为您提供了对使用该bundle标识符的应用程序的引用。然后您可以使用普通查询来访

ios - 如何使用模拟器在 XCUITest 中以编程方式清除 NSUserDefaults

我已经阅读了几个与此相关的答案,他们建议执行以下操作之一,但这些选项对我不起作用。我有一个XCUITest,我试图在运行我的XCUITest的其余部分之前清除标准用户默认值。目前我的测试应用程序有一个调用此代码的按钮。我还尝试过直接从XCUITest中调用此代码(我不确定这是否可以正常工作,或者是否需要从应用程序中运行)。NSString*appDomain=[[NSBundlemainBundle]bundleIdentifier];[[NSUserDefaultsstandardUserDefaults]removePersistentDomainForName:appDomain

Xcuitest获取URL值

我正在使用Xcuitest和Xcode版本8.3.3。该应用程序具有登录按钮,该按钮启动了浏览器窗口。想知道是否有人可以告诉我如何访问打开的URL的价值。我想验证我们在选择登录按钮时启动正确的URL。letapp=XCUIApplication()letloginButton=app.buttons["Login"]loginButton.tap()此时,浏览器窗口已打开:如何获得xyz.com的价值?使用可访问性检查员,我可以看到:看答案我创建了一个小型项目,该项目在启动时在SFSafariviewController中加载Google.com。当我针对此应用程序运行UI测试并打印窗口的调试

在Xcuitest中的可访问性指示器中找不到stackView

我正在为我的视图控制器编写UI测试用例。它有三个视图1.一个标头视图->stackView->4个按钮2.表观3.脚步视图->5个按钮除了StackView及其子女按钮外,所有视图均可访问谁能指导我如何获得StackView及其子元素的引用?看答案将标题视图和堆栈视图设置为无法访问,并且可以访问子元素。您可以使用UIACCOSSINIBYAPI进行此操作,设置isAccessibilityElement对于容器的错误。在您要与之互动的视图上,设置isAccessibilityElement真实,也设定accessibilityIdentifier在每个视图上。如果可以访问容器

Appium错误:[XCUITEST]错误:无法初始化iOS-Deploy确保已安装它(NPM install -G ios-deploy)并在您的系统上工作

我在Appium中遇到了错误:[XCUITEST]错误:无法初始化iOS-Deploy,请确保安装它(NPM安装-Gios-Deploy)并在您的系统上工作。我尝试在真实设备而不是模拟器上运行测试自动化。我正在使用MacV10.12.5Appiumv1.6.5XcodeV8.3.3谁能帮助什么可能导致它?看答案在编程启动Appium服务器时,我必须手动添加环境变量。在你的情况下也许一样。如果您是通过Java的AppiumServiceBuilder类启动服务器,请尝试关注。AppiumServiceBuilderbuilder=newAppiumServiceBuilder();builder