Skip to content
This repository has been archived by the owner on Dec 26, 2019. It is now read-only.

Add tvOS support (dependencies and headers) #1032

Open
wants to merge 84 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 83 commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
6286898
added new schemes for tvOS
shvul Jul 19, 2018
05976ac
updated some XCTest private headers
shvul Jul 23, 2018
e58b973
updated Carthage config
shvul Jul 31, 2018
4c1d8f1
updated some wad categories and commands for tv os (debug purpose)
shvul Aug 1, 2018
4c85133
updated FBElementCommnds to exclude XCUICoordinate for tv os
shvul Aug 1, 2018
98078f8
added tv os schemes
shvul Aug 1, 2018
79c6a70
added libxml2 for tvOS
shvul Aug 1, 2018
aaa3758
Added Apple TV Remote commands
shvul Aug 2, 2018
0e67c32
add command to return focused element
shvul Aug 2, 2018
e40a4e6
add tv os integration app
shvul Aug 2, 2018
ae04980
update tvOS integration app
shvul Aug 4, 2018
5cfb6a8
update wda commands
shvul Aug 4, 2018
784ced8
add new category for XCUIApplication
shvul Aug 6, 2018
edef34c
update springboard app for tvOS
shvul Aug 6, 2018
7848265
minor bugfix
shvul Sep 20, 2018
55780ec
Merge remote-tracking branch 'upstream/master'
shvul Oct 2, 2018
68eada8
remove package-lock
shvul Oct 2, 2018
b110ade
setup integration tests
shvul Oct 2, 2018
4f94146
update FBAlert to support Apple TV commands
shvul Oct 2, 2018
478631b
update element visibility verification to the low level api
shvul Oct 2, 2018
038fc3b
add focuse element attribute to pagesource
shvul Oct 3, 2018
d3f3195
Update inspector to support "isFocused" attribute
shvul Oct 3, 2018
61cfaa6
update fb_tree method to support isFocused property
shvul Oct 3, 2018
e9ac62f
update FBTVInteract
shvul Oct 4, 2018
1668d6d
update tvOS integration app
shvul Oct 7, 2018
2b58b8b
update SpringBoard to support HeadBoard from tvOS
shvul Oct 7, 2018
27c3baa
update FBAlert for full tvOS support
shvul Oct 7, 2018
e76eb59
update tvOS integration tests
shvul Oct 7, 2018
6aaad68
add functionality to automatically focuse element
shvul Oct 8, 2018
6fd1a09
update tv integration app for selection testing
shvul Oct 8, 2018
a4b4302
update FBElementCommands to support element selection fucntionality
shvul Oct 8, 2018
58b46e0
update tv integration app for attributes testing
shvul Oct 8, 2018
cf9fa52
update attributes tests for tvOS
shvul Oct 8, 2018
4096311
update goToAttributesPage method
shvul Oct 8, 2018
f053da0
add tv element screenshot tests
shvul Oct 8, 2018
bfc7c0d
add focus element route
shvul Oct 15, 2018
b402fae
update carthage dependencies
shvul Oct 17, 2018
663edf6
rename tv integration test case
shvul Oct 19, 2018
cb04124
update tv integration app main storyboard
shvul Oct 19, 2018
9a12bca
add element visibility tests for tvOS
shvul Oct 19, 2018
fffc888
fix table view cells visiblity test
shvul Nov 9, 2018
e7cd6e2
bugfix
shvul Nov 12, 2018
be13531
add search failure tests
shvul Nov 12, 2018
89a9bb4
add keyboard test
shvul Nov 12, 2018
2ab2b81
add typing test
shvul Nov 12, 2018
72257bf
add xpath integration tests
shvul Nov 12, 2018
215088b
add snapshot helpers tests
shvul Nov 12, 2018
0c5c5e2
update copyrights
shvul Nov 12, 2018
382d46e
rename tests
shvul Nov 12, 2018
a13df33
rename fix
shvul Nov 12, 2018
8284317
add hitpoint tv test
shvul Nov 13, 2018
7556b54
add app helpers tests for tvOS
shvul Nov 13, 2018
475d076
add tv device tests
shvul Nov 13, 2018
575c79f
add tv element tests
shvul Nov 13, 2018
fb0f01e
update build script
shvul Nov 14, 2018
46ab871
use Xcode 10.1, iOS 12.1 and tvOS 12.1 on Travis
shvul Nov 14, 2018
6f9fd26
fix FBTyping category
shvul Nov 14, 2018
0058f6e
update XCUIElementDouble for tvOS
shvul Nov 15, 2018
4a5ba40
add unit tests for tvOS
shvul Nov 15, 2018
515ae9b
add tv unit tests to build sh
shvul Nov 15, 2018
16b7f82
fix keyboard typing
shvul Nov 15, 2018
4a409ea
fix application selection tests
shvul Nov 15, 2018
d56a184
change travis destination for iphone
shvul Nov 15, 2018
8c135ba
code clean
shvul Nov 15, 2018
7f86530
remove unnecessary schemes
shvul Nov 15, 2018
dcdc6e7
revert inspector and ci updates
shvul Nov 16, 2018
04e9ffc
revert integration tests
shvul Nov 16, 2018
66dbe8d
revert integration app
shvul Nov 16, 2018
3f84cae
revert integration schemes
shvul Nov 16, 2018
7007d3c
Merge remote-tracking branch 'refs/remotes/origin/fb-merge/integratio…
shvul Nov 16, 2018
5a50a72
revert unit tests
shvul Nov 16, 2018
8e3df7a
revert integration app templates
shvul Nov 16, 2018
4853d86
Merge branch 'fb-merge/integration-app' of https://github.com/shvul/W…
shvul Nov 16, 2018
db7afab
revert lib update
shvul Nov 16, 2018
bdb0bdd
revert tvOS lib schemes
shvul Nov 16, 2018
e4fe2b9
remove code sign in
shvul Nov 16, 2018
d707ed7
remove tv frameworks
shvul Nov 16, 2018
d83d2e6
update XCTest header
shvul Nov 16, 2018
997ff55
add travis trigger for fb-merge branches
shvul Nov 18, 2018
16ae24b
fix springboard visibility
shvul Nov 18, 2018
2537817
fix XCTest header for tvOS
shvul Nov 19, 2018
23fc040
bugfix
shvul Nov 19, 2018
70a4a99
remove fb-merge trigger from travis config
shvul Nov 19, 2018
a1c803e
remove todo
shvul Nov 19, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cartfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Used for HTTP routing
github "marekcirkos/RoutingHTTPServer"
github "shvul/RoutingHTTPServer"
2 changes: 1 addition & 1 deletion Cartfile.resolved
Original file line number Diff line number Diff line change
@@ -1 +1 @@
github "marekcirkos/RoutingHTTPServer" "v1.0.1"
github "shvul/RoutingHTTPServer" "v1.0.2"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What exactly has been changed in this module that is has to be updated?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previous version doesn't have tvOS target, so Carthage cannot build it for our purposes. Also, CocoaHTTPServer lib was updated. I added small fix for tvOS compiling.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd say it makes sense to create a PR to update the original rep rather than switching to the custom one.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The original repo has not been updated for a long time. @marekcirkos made a fork for his fixes. Do you suggest to make pr to his fork?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, this makes sense, because he is anyway the only person who could approve and merge this PR

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mykola-mokhnach here it is: marekcirkos/RoutingHTTPServer#1
Let's continue when @marekcirkos merge it and create new release

4 changes: 2 additions & 2 deletions PrivateHeaders/XCTest/XCEventGenerator.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ typedef void (^XCEventGeneratorHandler)(XCSynthesizedEventRecord *record, NSErro
+ (id)sharedGenerator;
@property unsigned long long generation; // @synthesize generation=_generation;
//@property(readonly) NSObject<OS_dispatch_queue> *eventQueue; // @synthesize eventQueue=_eventQueue;

#if TARGET_OS_IPHONE
#if TARGET_OS_TV
#elif TARGET_OS_IOS
- (double)rotateInRect:(CGRect)arg1 withRotation:(double)arg2 velocity:(double)arg3 orientation:(UIInterfaceOrientation)arg4 handler:(XCEventGeneratorHandler)arg5;
- (double)pinchInRect:(CGRect)arg1 withScale:(double)arg2 velocity:(double)arg3 orientation:(UIInterfaceOrientation)arg4 handler:(XCEventGeneratorHandler)arg5;
- (double)pressAtPoint:(CGPoint)arg1 forDuration:(double)arg2 liftAtPoint:(CGPoint)arg3 velocity:(double)arg4 orientation:(UIInterfaceOrientation)arg5 name:(NSString *)arg6 handler:(XCEventGeneratorHandler)arg7;
Expand Down
6 changes: 6 additions & 0 deletions PrivateHeaders/XCTest/XCSynthesizedEventRecord.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,21 @@
{
NSMutableArray *_eventPaths;
NSString *_name;
#if TARGET_OS_IOS
UIInterfaceOrientation _interfaceOrientation;
#endif
}
#if TARGET_OS_IOS
@property(readonly) UIInterfaceOrientation interfaceOrientation; // @synthesize interfaceOrientation=_interfaceOrientation;
#endif
@property(readonly, copy) NSString *name; // @synthesize name=_name;
@property(readonly) double maximumOffset;
@property(readonly) NSArray *eventPaths;

- (void)addPointerEventPath:(XCPointerEventPath *)arg1;
#if TARGET_OS_IOS
- (id)initWithName:(NSString *)arg1 interfaceOrientation:(UIInterfaceOrientation)arg2;
#endif
- (id)init;
- (BOOL)synthesizeWithError:(NSError **)arg1;

Expand Down
2 changes: 2 additions & 0 deletions PrivateHeaders/XCTest/XCUIApplication.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@
@property(getter=isIdleAnimationWaitEnabled) BOOL idleAnimationWaitEnabled; // @synthesize idleAnimationWaitEnabled=_idleAnimationWaitEnabled;
@property(nonatomic) BOOL doesNotHandleUIInterruptions; // @synthesize doesNotHandleUIInterruptions=_doesNotHandleUIInterruptions;
@property(readonly) BOOL fauxCollectionViewCellsEnabled;
#if !TARGET_OS_TV
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think TODO can be removed now

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@property(readonly, nonatomic) UIInterfaceOrientation interfaceOrientation; //TODO tvos
#endif
@property(readonly, nonatomic) BOOL running;
@property(nonatomic) pid_t processID; // @synthesize processID=_processID;
@property(readonly) XCAccessibilityElement *accessibilityElement;
Expand Down
2 changes: 2 additions & 0 deletions PrivateHeaders/XCTest/XCUIElement.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@
@property BOOL safeQueryResolutionEnabled; // @synthesize safeQueryResolutionEnabled=_safeQueryResolutionEnabled;
@property(retain) XCElementSnapshot *lastSnapshot; // @synthesize lastSnapshot=_lastSnapshot;
@property(readonly) XCUIElementQuery *query; // @synthesize query=_query;
#if TARGET_OS_IOS
@property(readonly, nonatomic) UIInterfaceOrientation interfaceOrientation;
#endif
@property(readonly, copy) XCUICoordinate *hitPointCoordinate;
@property(readonly) BOOL isTopLevelTouchBarElement;
@property(readonly) BOOL isTouchBarElement;
Expand Down
45 changes: 30 additions & 15 deletions WebDriverAgent.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0900"
LastUpgradeVersion = "1000"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I this necessary to update this file?

Copy link
Author

@shvul shvul Nov 19, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not necessary. As I remember, I just update repo to "recommended settings". If I revert its update, it will cause merge conflict in further pr's. So, if it is not a serious problem, I will leave this file as it is. It would be updated in next pr's.

version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand All @@ -14,56 +14,53 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EEF988291C486603005CA669"
BuildableName = "WebDriverAgentRunner.xctest"
BlueprintName = "WebDriverAgentRunner"
BlueprintIdentifier = "EE9B75D31CF7956C00275851"
BuildableName = "IntegrationApp.app"
BlueprintName = "IntegrationApp"
ReferencedContainer = "container:WebDriverAgent.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = ""
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
language = ""
systemAttachmentLifetime = "keepNever"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EEF988291C486603005CA669"
BuildableName = "WebDriverAgentRunner.xctest"
BlueprintName = "WebDriverAgentRunner"
ReferencedContainer = "container:WebDriverAgent.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EE9B75D31CF7956C00275851"
BuildableName = "IntegrationApp.app"
BlueprintName = "IntegrationApp"
ReferencedContainer = "container:WebDriverAgent.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EEF988291C486603005CA669"
BuildableName = "WebDriverAgentRunner.xctest"
BlueprintName = "WebDriverAgentRunner"
BlueprintIdentifier = "EE9B75D31CF7956C00275851"
BuildableName = "IntegrationApp.app"
BlueprintName = "IntegrationApp"
ReferencedContainer = "container:WebDriverAgent.xcodeproj">
</BuildableReference>
</MacroExpansion>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
Expand All @@ -73,15 +70,16 @@
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EEF988291C486603005CA669"
BuildableName = "WebDriverAgentRunner.xctest"
BlueprintName = "WebDriverAgentRunner"
BlueprintIdentifier = "EE9B75D31CF7956C00275851"
BuildableName = "IntegrationApp.app"
BlueprintName = "IntegrationApp"
ReferencedContainer = "container:WebDriverAgent.xcodeproj">
</BuildableReference>
</MacroExpansion>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0900"
LastUpgradeVersion = "1000"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand All @@ -26,7 +26,6 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
Expand Down Expand Up @@ -86,7 +85,6 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0900"
LastUpgradeVersion = "1000"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand All @@ -26,7 +26,6 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
systemAttachmentLifetime = "keepNever"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
Expand All @@ -48,7 +47,6 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
Expand Down