所以我正在测试iPhone应用程序。我正在尝试设置我们以后可以使用UIAutomation使用的测试用例(我并没有真正与此相关 - 我可以切换到其他框架)。我基本上需要创建一个类似的测试:
+ Launches application
+ Clicks a few specific buttons
+ Hits the home button exiting the application
+ Relaunches the application
+ Checks the status of the application
有没有人知道如何做到这一点或用什么框架来做这件事?
提前致谢。
答案 0 :(得分:7)
您无法模拟正在按下的主页按钮,但您可以强制应用程序退出,就像它一样。调用[[UIApplication sharedApplication] terminate];
将终止或(在iOS 4.x的情况下)后台应用程序。但是,您不能使用UIAutomation重新启动应用程序。
您可以尝试将UIAutomation与屏幕录制脚本结合使用,以便重放鼠标移动和点击。这样您就可以直接与模拟器进行交互,例如主页按钮点击和应用程序图标点击。
或者,您可以使用UIATarget
class进行“足够好”的测试。根据文档,
UIATarget 类表示高级用户界面元素 被测系统(SUT) - 即您的应用程序,iOS和 他们正在运行的连接设备。你的测试脚本, 用JavaScript编写并与UI一起运行 自动化仪器,使用此类和相关的UIA类 运行SUT并记录结果。
使用UIATarget.localTarget().deactivateAppForDuration(seconds);
,您可以将应用程序设置为n秒。
使用此方法测试将应用程序移入和移出应用程序 后台执行上下文。请注意,使用iOS构建的应用程序 SDK 4.0或更高版本并且在iOS 4.0及更高版本中运行不一定 当用户按下主页按钮时终止。请参阅iOS应用程序 编程指南,了解多任务处理和后台执行的详细信息 上下文。
答案 1 :(得分:3)
可以通过UI测试按Xcode 7中的主页按钮。
XCUIDevice.sharedDevice().pressButton(XCUIDeviceButton.Home)
答案 2 :(得分:1)
我认为这不可能,但您可以使用
UIATarget.localTarget().deactivateAppForDuration(100);
将您的应用在后台投放特定时间。
答案 3 :(得分:0)
在iOS中按设备主页按钮
def hit_home
home =`osascript -e 'tell application "System Events" to tell process "iOS Simulator"' -e'keystroke "H" using command down' -e'delay 2' -e'end tell'`
puts("home button exits - #{home.to_i}")
end