Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

grey_typeText error: Failed to type string '1234', because key [K] could not be found on the keyboard. #539

Closed
kl opened this issue Jun 16, 2017 · 4 comments · Fixed by #543

Comments

@kl
Copy link

kl commented Jun 16, 2017

I have the following test that succeeds:

class MyFirstEarlGreyTest: XCTestCase {
  
  func testExample() {
    
    EarlGrey
      .select(elementWithMatcher: grey_accessibilityID("phone_number_text_field"))
      .assert(grey_sufficientlyVisible())
      .perform(grey_replaceText("1234"))
  }
}

but when I change grey_replaceText to grey_typeText in the above test I get the following error:

Test Suite 'All tests' started at 2017-06-16 13:48:01.902
Test Suite 'ProjectNameEarlGreyTests.xctest' started at 2017-06-16 13:48:01.902
Test Suite 'MyFirstEarlGreyTest' started at 2017-06-16 13:48:01.903
Test Case '-[ProjectNameEarlGreyTests.MyFirstEarlGreyTest testExample]' started.
2017-06-16 13:48:03.513 ProjectName[6664:8521721] Attempting to type key 1.
/Users/username/Code/ProjectName-ios/ProjectNameEarlGreyTests/ProjectNameEarlGreyTests.swift:17: error: -[ProjectNameEarlGreyTests.MyFirstEarlGreyTest testExample] : Exception: NoMatchingElementException

Exception Name: NoMatchingElementException
Exception Reason: Cannot find UI element.
Exception with Action: {
  "Action Name" : "Type '1234'",
  "Element Matcher" : "(respondsToSelector(accessibilityIdentifier) && accessibilityID('phone_number_text_field'))",
  "Recovery Suggestion" : "Check if the element exists in the UI hierarchy printed below. If it exists, adjust the matcher so that it accurately matches element."
}

Exception Details: Error Trace: [
  {
    "Description" : "Failed to type string '1234', because key [K] could not be found on the keyboard.",
    "Description Glossary" :     {
      "K" : "more, numbers"
    },
    "Error Domain" : "com.google.earlgrey.ElementInteractionErrorDomain",
    "Error Code" : "0",
    "File Name" : "GREYKeyboard.m",
    "Function Name" : "+[GREYKeyboard grey_setErrorForkeyNotFoundWithAccessibilityLabel:forTypingString:error:]",
    "Line" : "472",
    "TestCase Class" : "ProjectNameEarlGreyTests.MyFirstEarlGreyTest",
    "TestCase Method" : "testExample"
  }
]

Bundle ID: com.dewire.ProjectName

Stack Trace: (
	0   EarlGrey                            0x000000010728d071 -[GREYDefaultFailureHandler handleException:details:] + 1985
	1   EarlGrey                            0x0000000107271a5a -[GREYElementInteraction grey_handleFailureOfAction:actionError:userProvidedOutError:] + 6330
	2   EarlGrey                            0x000000010726d669 __46-[GREYElementInteraction performAction:error:]_block_invoke + 2105
	3   EarlGrey                            0x000000010729b9c4 __59-[GREYUIThreadExecutor executeSyncWithTimeout:block:error:]_block_invoke + 68
	4   EarlGrey                            0x00000001072510fd __54-[GREYRunLoopSpinner grey_checkConditionInActiveMode:]_block_invoke + 413
	5   CoreFoundation                      0x000000010cfabb5c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
	6   CoreFoundation                      0x000000010cf90e54 __CFRunLoopDoBlocks + 356
	7   CoreFoundation                      0x000000010cf905ee __CFRunLoopRun + 894
	8   CoreFoundation                      0x000000010cf90016 CFRunLoopRunSpecific + 406
	9   EarlGrey                            0x0000000107250e2c -[GREYRunLoopSpinner grey_checkConditionInActiveMode:] + 364
	10  EarlGrey                            0x000000010724face -[GREYRunLoopSpinner spinWithStopConditionBlock:] + 734
	11  EarlGrey                            0x000000010729b0f4 -[GREYUIThreadExecutor executeSyncWithTimeout:block:error:] + 1412
	12  EarlGrey                            0x000000010726c1c0 -[GREYElementInteraction performAction:error:] + 2352
	13  EarlGrey                            0x000000010726b83e -[GREYElementInteraction performAction:] + 62
	14  ProjectNameEarlGreyTests              0x000000011c46745f _TFC22ProjectNameEarlGreyTests19MyFirstEarlGreyTest11testExamplefT_T_ + 351
	15  ProjectNameEarlGreyTests              0x000000011c467552 _TToFC22ProjectNameEarlGreyTests19MyFirstEarlGreyTest11testExamplefT_T_ + 34
	16  CoreFoundation                      0x000000010cf8dc6c __invoking___ + 140
	17  CoreFoundation                      0x000000010cf8db40 -[NSInvocation invoke] + 320
	18  EarlGrey                            0x0000000107263910 -[GREYTestCaseInvocation invoke] + 112
	19  XCTest                              0x00000001189bb8e2 __24-[XCTestCase invokeTest]_block_invoke_2 + 491
	20  XCTest                              0x00000001189f9f62 -[XCTestContext performInScope:] + 190
	21  XCTest                              0x00000001189bb6e4 -[XCTestCase invokeTest] + 254
	22  EarlGrey                            0x0000000107256d6e -[XCTestCase(GREYAdditions) grey_invokeTest] + 1502
	23  XCTest                              0x00000001189bbfb2 -[XCTestCase performTest:] + 565
	24  XCTest                              0x00000001189b9078 __27-[XCTestSuite performTest:]_block_invoke + 300
	25  XCTest                              0x00000001189b8c68 -[XCTestSuite _performProtectedSectionForTest:testSection:] + 29
	26  XCTest                              0x00000001189b8e4e -[XCTestSuite performTest:] + 214
	27  XCTest                              0x00000001189b9078 __27-[XCTestSuite performTest:]_block_invoke + 300
	28  XCTest                              0x00000001189b8c68 -[XCTestSuite _performProtectedSectionForTest:testSection:] + 29
	29  XCTest                              0x00000001189b8e4e -[XCTestSuite performTest:] + 214
	30  XCTest                              0x00000001189b9078 __27-[XCTestSuite performTest:]_block_invoke + 300
	31  XCTest                              0x00000001189b8c68 -[XCTestSuite _performProtectedSectionForTest:testSection:] + 29
	32  XCTest                              0x00000001189b8e4e -[XCTestSuite performTest:] + 214
	33  XCTest                              0x0000000118a05a86 __44-[XCTTestRunSession runTestsAndReturnError:]_block_invoke + 40
	34  XCTest                              0x00000001189c7f27 -[XCTestObservationCenter _observeTestExecutionForBlock:] + 574
	35  XCTest                              0x0000000118a05925 -[XCTTestRunSession runTestsAndReturnError:] + 281
	36  XCTest                              0x00000001189a3a50 -[XCTestDriver runTestsAndReturnError:] + 254
	37  XCTest                              0x00000001189fd86e _XCTestMain + 559
	38  CoreFoundation                      0x000000010cfabb5c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
	39  CoreFoundation                      0x000000010cf90e54 __CFRunLoopDoBlocks + 356
	40  CoreFoundation                      0x000000010cf905ee __CFRunLoopRun + 894
	41  CoreFoundation                      0x000000010cf90016 CFRunLoopRunSpecific + 406
	42  GraphicsServices                    0x000000010dfd6a24 GSEventRunModal + 62
	43  UIKit                               0x0000000108e070d4 UIApplicationMain + 159
	44  ProjectName                           0x00000001071062e7 main + 55
	45  libdyld.dylib                       0x000000010f92165d start + 1
	46  ???                                 0x0000000000000005 0x0 + 5
)

Screenshots: {
  "Screenshot At Failure" : "/Users/username/Library/Developer/CoreSimulator/Devices/ACEEFCB6-8C45-4637-9A3D-688EAB15CD8B/data/Containers/Data/Application/6217C708-5CEC-45DC-8B9D-22B346DE2C1C/Documents/ProjectNameEarlGreyTests.MyFirstEarlGreyTest_testExample-NoMatchingElementException-4E9CE9AE-76F9-4557-B5AF-379D398E9F1A/ProjectNameEarlGreyTests.MyFirstEarlGreyTest_testExample.png",
  "Visibility Checker Most Recent Before Image" : "/Users/username/Library/Developer/CoreSimulator/Devices/ACEEFCB6-8C45-4637-9A3D-688EAB15CD8B/data/Containers/Data/Application/6217C708-5CEC-45DC-8B9D-22B346DE2C1C/Documents/ProjectNameEarlGreyTests.MyFirstEarlGreyTest_testExample-NoMatchingElementException-4E9CE9AE-76F9-4557-B5AF-379D398E9F1A/ProjectNameEarlGreyTests.MyFirstEarlGreyTest_testExample_before.png",
  "Visibility Checker Most Recent Expected After Image" : "/Users/username/Library/Developer/CoreSimulator/Devices/ACEEFCB6-8C45-4637-9A3D-688EAB15CD8B/data/Containers/Data/Application/6217C708-5CEC-45DC-8B9D-22B346DE2C1C/Documents/ProjectNameEarlGreyTests.MyFirstEarlGreyTest_testExample-NoMatchingElementException-4E9CE9AE-76F9-4557-B5AF-379D398E9F1A/ProjectNameEarlGreyTests.MyFirstEarlGreyTest_testExample_after_expected.png",
  "Visibility Checker Most Recent Actual After Image" : "/Users/username/Library/Developer/CoreSimulator/Devices/ACEEFCB6-8C45-4637-9A3D-688EAB15CD8B/data/Containers/Data/Application/6217C708-5CEC-45DC-8B9D-22B346DE2C1C/Documents/ProjectNameEarlGreyTests.MyFirstEarlGreyTest_testExample-NoMatchingElementException-4E9CE9AE-76F9-4557-B5AF-379D398E9F1A/ProjectNameEarlGreyTests.MyFirstEarlGreyTest_testExample_after_actual.png"
}

UI hierarchy (ordered by window level, front to back as rendered):

Legend: {
  "[AX]" : "Accessibility",
  "[UIE]" : "User Interaction Enabled",
  "[Window 1]" : "Frontmost Window"
}

========== Window 1 ==========

<UIRemoteKeyboardWindow:0x7fbb09331310; AX=N; AX.frame={{0, 0}, {375, 667}}; AX.activationPoint={187.5, 333.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 667}}; alpha=1>
  |--<UIInputSetContainerView:0x7fbb0934cbd0; AX=N; AX.frame={{0, 0}, {375, 667}}; AX.activationPoint={187.5, 333.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 667}}; opaque; alpha=1>
  |  |--<UIInputSetHostView:0x7fbb09327da0; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 451}, {375, 216}}; opaque; alpha=1>
  |  |  |--<_UIKBCompatInputView:0x7fbb05d379f0; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; opaque; alpha=1>
  |  |  |  |--<UIKeyboardAutomatic:0x7fbb05e26cb0; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=1>
  |  |  |  |  |--<UIKeyboardImpl:0x7fbb05d02270; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=1>
  |  |  |  |  |  |--<UIKeyboardLayoutStar:0x7fbb07058a00; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=1>
  |  |  |  |  |  |  |--<UIKBKeyplaneView:0x7fbb05d5c410; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=1>
  |  |  |  |  |  |  |  |--<UIKBKeyView:0x7fbb05e07eb0; AX=N; AX.frame={{94.5, 620}, {35.5, 46}}; AX.activationPoint={112.25, 643}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{94.5, 169}, {35.5, 46}}; alpha=1; UIE=N>
  |  |  |  |  |  |  |  |--<UIKBKeyView:0x7fbb05e13be0; AX=N; AX.frame={{282.5, 620}, {91.5, 46}}; AX.activationPoint={328.25, 643}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{282.5, 169}, {91.5, 46}}; alpha=1; UIE=N>
  |  |  |  |  |  |  |  |--<UIKBKeyView:0x7fbb05e2cfe0; AX=N; AX.frame={{132, 620}, {148.5, 46}}; AX.activationPoint={206.25, 643}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{132, 169}, {148.5, 46}}; alpha=1; UIE=N>
  |  |  |  |  |  |  |  |--<UIKBKeyView:0x7fbb09355770; AX=N; AX.frame={{47.5, 620}, {45, 46}}; AX.activationPoint={70, 643}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{47.5, 169}, {45, 46}}; alpha=1; UIE=N>
  |  |  |  |  |  |  |  |--<UIKBKeyView:0x7fbb09355530; AX=N; AX.frame={{1, 620}, {44.5, 46}}; AX.activationPoint={23.25, 643}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{1, 169}, {44.5, 46}}; alpha=1; UIE=N>
  |  |  |  |  |  |  |  |--<UIKBKeyView:0x7fbb093552f0; AX=N; AX.frame={{328, 568}, {46, 46}}; AX.activationPoint={351, 591}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{328, 117}, {46, 46}}; alpha=1; UIE=N>
  |  |  |  |  |  |  |  |--<UIKBKeyView:0x7fbb093550b0; AX=N; AX.frame={{1, 568}, {46, 46}}; AX.activationPoint={24, 591}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{1, 117}, {46, 46}}; alpha=1; UIE=N>
  |  |  |  |  |  |  |  |--<UIKBSplitImageView:0x7fbb09353cd0; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; opaque; alpha=1; UIE=N>
  |  |  |  |  |  |  |  |  |--<UIImageView:0x7fbb09353e90; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitImage'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=1; UIE=N>
  |  |  |  |  |  |  |  |--<UIKBSplitImageView:0x7fbb09354080; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; opaque; alpha=1; UIE=N>
  |  |  |  |  |  |  |  |  |--<UIImageView:0x7fbb09354b10; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitImage'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=1; UIE=N>
  |  |  |  |  |  |  |  |--<UIKBSplitImageView:0x7fbb09354d00; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; opaque; hidden; alpha=1; UIE=N>
  |  |  |  |  |  |  |  |  |--<UIImageView:0x7fbb09354ec0; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitImage'; AX.focused='N'; frame={{0, 0}, {375, 216}}; opaque; hidden; alpha=1; UIE=N>
  |  |  |  |  |  |  |--<UIKBBackgroundView:0x7fbb05d4f840; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=1; UIE=N>
  |  |  |  |  |  |  |  |--<UIImageView:0x7fbb05d5b290; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitImage'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=1; UIE=N>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a65280; AX=Y; AX.id='Return'; AX.label='retur'; AX.frame={{281.5, 620}, {93.5, 46}}; AX.activationPoint={328.25, 643}; AX.traits='UIAccessibilityTraitButton,UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a65040; AX=Y; AX.label='mellanslag'; AX.frame={{131, 620}, {150.5, 46}}; AX.activationPoint={206.25, 643}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a652c0; AX=Y; AX.id='dictation'; AX.label='Diktera'; AX.hint='Double tap to start dictation.  Two finger double tap when finished'; AX.frame={{93.5, 620}, {37.5, 46}}; AX.activationPoint={112.25, 643}; AX.traits='UIAccessibilityTraitButton,UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey,UIAccessibilityTraitStartsMediaSession'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a64f00; AX=Y; AX.label='Next keyboard'; AX.hint='Double-tap and hold, then drag up to select another keyboard'; AX.value='English (US)'; AX.frame={{46.5, 620}, {47, 46}}; AX.activationPoint={70, 643}; AX.traits='UIAccessibilityTraitButton,UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a64cc0; AX=Y; AX.id='more'; AX.label='mer, siffror'; AX.frame={{0, 620}, {46.5, 46}}; AX.activationPoint={23.25, 643}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a64a80; AX=Y; AX.id='delete'; AX.label='Radera'; AX.frame={{327, 568}, {48, 46}}; AX.activationPoint={351, 591}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a64840; AX=Y; AX.label='m'; AX.frame={{272.5, 568}, {34, 46}}; AX.activationPoint={289.5, 591}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a64600; AX=Y; AX.label='n'; AX.frame={{238.5, 568}, {34, 46}}; AX.activationPoint={255.5, 591}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a643c0; AX=Y; AX.label='b'; AX.frame={{204.5, 568}, {34, 46}}; AX.activationPoint={221.5, 591}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a64180; AX=Y; AX.label='v'; AX.frame={{170.5, 568}, {34, 46}}; AX.activationPoint={187.5, 591}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a63f40; AX=Y; AX.label='c'; AX.frame={{136.5, 568}, {34, 46}}; AX.activationPoint={153.5, 591}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a63d00; AX=Y; AX.label='x'; AX.frame={{102.5, 568}, {34, 46}}; AX.activationPoint={119.5, 591}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a63ac0; AX=Y; AX.label='z'; AX.frame={{68.5, 568}, {34, 46}}; AX.activationPoint={85.5, 591}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a61900; AX=Y; AX.id='shift'; AX.label='skift'; AX.hint='Triple-tap to enter caps lock'; AX.frame={{0, 568}, {48, 46}}; AX.activationPoint={24, 591}; AX.traits='UIAccessibilityTraitButton,UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a61640; AX=Y; AX.label='ä'; AX.frame={{340.5, 514}, {34.5, 46}}; AX.activationPoint={357.75, 537}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a61380; AX=Y; AX.label='ö'; AX.frame={{306.5, 514}, {34, 46}}; AX.activationPoint={323.5, 537}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a61140; AX=Y; AX.label='l'; AX.frame={{272.5, 514}, {34, 46}}; AX.activationPoint={289.5, 537}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a60f00; AX=Y; AX.label='k'; AX.frame={{238.5, 514}, {34, 46}}; AX.activationPoint={255.5, 537}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a60cc0; AX=Y; AX.label='j'; AX.frame={{204.5, 514}, {34, 46}}; AX.activationPoint={221.5, 537}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a60a80; AX=Y; AX.label='h'; AX.frame={{170.5, 514}, {34, 46}}; AX.activationPoint={187.5, 537}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a60840; AX=Y; AX.label='g'; AX.frame={{136.5, 514}, {34, 46}}; AX.activationPoint={153.5, 537}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a60600; AX=Y; AX.label='f'; AX.frame={{102.5, 514}, {34, 46}}; AX.activationPoint={119.5, 537}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a603c0; AX=Y; AX.label='d'; AX.frame={{68.5, 514}, {34, 46}}; AX.activationPoint={85.5, 537}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a60180; AX=Y; AX.label='s'; AX.frame={{34.5, 514}, {34, 46}}; AX.activationPoint={51.5, 537}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x61000087ff40; AX=Y; AX.label='a'; AX.frame={{0, 514}, {34.5, 46}}; AX.activationPoint={17.25, 537}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x61000087fc80; AX=Y; AX.label='å'; AX.frame={{340.5, 460}, {34.5, 46}}; AX.activationPoint={357.75, 483}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x61000087e180; AX=Y; AX.label='p'; AX.frame={{306.5, 460}, {34, 46}}; AX.activationPoint={323.5, 483}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x61000087ee00; AX=Y; AX.label='o'; AX.frame={{272.5, 460}, {34, 46}}; AX.activationPoint={289.5, 483}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x61000087f9c0; AX=Y; AX.label='i'; AX.frame={{238.5, 460}, {34, 46}}; AX.activationPoint={255.5, 483}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x61000087f640; AX=Y; AX.label='u'; AX.frame={{204.5, 460}, {34, 46}}; AX.activationPoint={221.5, 483}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x61000087f3c0; AX=Y; AX.label='y'; AX.frame={{170.5, 460}, {34, 46}}; AX.activationPoint={187.5, 483}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x61000087f100; AX=Y; AX.label='t'; AX.frame={{136.5, 460}, {34, 46}}; AX.activationPoint={153.5, 483}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x61000087ee80; AX=Y; AX.label='r'; AX.frame={{102.5, 460}, {34, 46}}; AX.activationPoint={119.5, 483}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x61000087e840; AX=Y; AX.label='e'; AX.frame={{68.5, 460}, {34, 46}}; AX.activationPoint={85.5, 483}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x61000087e3c0; AX=Y; AX.label='w'; AX.frame={{34.5, 460}, {34, 46}}; AX.activationPoint={51.5, 483}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x600000460ec0; AX=Y; AX.label='q'; AX.frame={{0, 460}, {34.5, 46}}; AX.activationPoint={17.25, 483}; AX.traits='UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>
  |  |  |--<UIKBInputBackdropView:0x7fbb05d3d2b0; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; opaque; alpha=1; UIE=N>
  |  |  |  |--<UIKBBackdropView:0x7fbb05d53b40; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=1; UIE=N>
  |  |  |  |  |--<UIView:0x7fbb05d3b240; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=0.3>
  |  |  |  |  |--<UIView:0x7fbb05d3b0a0; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=1; UIE=N>
  |  |  |  |  |--<UIView:0x7fbb05d39940; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=1; UIE=N>
  |  |  |  |  |--<UIView:0x7fbb05d397a0; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=0.5; UIE=N>
  |  |  |  |  |--<_UIBackdropEffectView:0x7fbb05d5bc10; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; alpha=1; UIE=N>

========== Window 2 ==========

<UITextEffectsWindow:0x7fbb05d04360; AX=N; AX.frame={{0, 0}, {375, 667}}; AX.activationPoint={187.5, 333.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 667}}; alpha=1>
  |--<UIInputSetContainerView:0x7fbb05c1efa0; AX=N; AX.frame={{0, 0}, {375, 667}}; AX.activationPoint={187.5, 333.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 667}}; opaque; alpha=1>
  |  |--<UIInputSetHostView:0x7fbb05c3a620; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 451}, {375, 216}}; opaque; alpha=1>
  |  |  |--<_UIRemoteKeyboardPlaceholderView:0x7fbb093288f0; AX=N; AX.frame={{0, 451}, {375, 216}}; AX.activationPoint={187.5, 559}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 216}}; opaque; alpha=1>

========== Window 3 ==========

<UIWindow:0x7fbb05c15ce0; AX=N; AX.frame={{0, 0}, {375, 667}}; AX.activationPoint={187.5, 333.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 667}}; opaque; alpha=1>
  |--<UIView:0x7fbb05c1f170; AX=N; AX.frame={{0, 0}, {375, 667}}; AX.activationPoint={187.5, 333.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {375, 667}}; opaque; alpha=1>
  |  |--<UIActivityIndicatorView:0x7fbb05d10650; AX=N; AX.label='Progress halted'; AX.value='0'; AX.frame={{169, 315}, {37, 37}}; AX.activationPoint={187.5, 333.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{169, 315}, {37, 37}}; opaque; hidden; alpha=1>
  |  |  |--<UIImageView:0x7fbb05d10bb0; AX=N; AX.frame={{169, 315}, {37, 37}}; AX.activationPoint={187.5, 333.5}; AX.traits='UIAccessibilityTraitImage'; AX.focused='N'; frame={{0, 0}, {37, 37}}; alpha=1; UIE=N>
  |  |--<_UILayoutGuide:0x7fbb05c1e5d0; AX=N; AX.frame={{0, 667}, {0, 0}}; AX.activationPoint={0, 667}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 667}, {0, 0}}; opaque; hidden; alpha=1>
  |  |--<_UILayoutGuide:0x7fbb05c00020; AX=N; AX.frame={{0, 0}, {0, 20}}; AX.activationPoint={0, 10}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {0, 20}}; opaque; hidden; alpha=1>
  |  |--<ProjectName.Button:0x7fbb05e13330; AX=Y; AX.id='login_button'; AX.label='Login'; AX.frame={{127, 398}, {120, 34}}; AX.activationPoint={187, 415}; AX.traits='UIAccessibilityTraitButton,UIAccessibilityTraitNotEnabled'; AX.focused='N'; frame={{127, 398}, {120, 34}}; alpha=1; disabled>
  |  |  |--<UIButtonLabel:0x7fbb05c1a770; AX=Y; AX.label='Login'; AX.frame={{167.5, 406}, {39.5, 18}}; AX.activationPoint={187.25, 415}; AX.traits='UIAccessibilityTraitStaticText'; AX.focused='N'; frame={{40.5, 8}, {39.5, 18}}; alpha=1; UIE=N; text='Login'>
  |  |--<UILabel:0x7fbb05c1f660; AX=Y; AX.label='ProjectName'; AX.frame={{71.5, 114}, {232, 43.5}}; AX.activationPoint={187.5, 135.75}; AX.traits='UIAccessibilityTraitStaticText'; AX.focused='N'; frame={{71.5, 114}, {232, 43.5}}; alpha=1; UIE=N; text='ProjectName'>
  |  |--<UITextField:0x7fbb05c1c090; AX=N; AX.id='phone_number_text_field'; AX.value='telefonnummer'; AX.frame={{20, 207.5}, {335, 30}}; AX.activationPoint={131, 219.75}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{20, 207.5}, {335, 30}}; alpha=1; text=''>
  |  |  |--<UIFieldEditor:0x7fbb08126c00; AX=N; AX.frame={{27, 209.5}, {321, 26}}; AX.activationPoint={187.5, 222.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{7, 2}, {321, 26}}; alpha=1; text=''>
  |  |  |  |--<_UIFieldEditorContentView:0x7fbb09335cd0; AX=N; AX.frame={{27, 209.5}, {321, 26}}; AX.activationPoint={187.5, 222.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {321, 26}}; alpha=1; UIE=N>
  |  |  |  |  |--<UITextSelectionView:0x7fbb05c04350; AX=N; AX.frame={{27, 209.5}, {0, 0}}; AX.activationPoint={27, 209.5}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{0, 0}, {0, 0}}; opaque; alpha=1; UIE=N>
  |  |  |  |  |  |--<UIView:0x7fbb093419a0; AX=N; AX.frame={{137, 212.5}, {2, 18.5}}; AX.activationPoint={138, 221.75}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'; frame={{110, 3}, {2, 18.5}}; opaque; alpha=1; UIE=N>
  |  |  |--<UITextFieldLabel:0x7fbb05c1d9e0; AX=Y; AX.label='telefonnummer'; AX.frame={{27, 208.5}, {321, 27}}; AX.activationPoint={187.5, 222}; AX.traits='UIAccessibilityTraitStaticText'; AX.focused='N'; frame={{7, 1}, {321, 27}}; alpha=1; UIE=N; text='telefonnummer'>
  |  |  |--<_UITextFieldRoundedRectBackgroundViewNeue:0x7fbb05c1e1a0; AX=N; AX.frame={{20, 207.5}, {335, 30}}; AX.activationPoint={187.5, 222.5}; AX.traits='UIAccessibilityTraitImage'; AX.focused='N'; frame={{0, 0}, {335, 30}}; alpha=1; UIE=N>
  |  |  |--<UIAccessibilityTextFieldElement:0x608000246120; AX=Y; AX.value='telefonnummer'; AX.frame={{20, 207.5}, {335, 30}}; AX.activationPoint={131, 219.75}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'>

I'm using Earl Grey 1.9.4 with the 10.3 iPhone 7 simulator on Xcode 8.3.2

@tirodkar
Copy link
Collaborator

ä doesn't seem like a standard keyboard key. Is this a regular English keyboard?

@khandpur
Copy link
Collaborator

Can you also upload the screenshot that's taken by EarlGrey on failure?

@kl
Copy link
Author

kl commented Jun 19, 2017

My external keyboard and mac have a Swedish keyboard layout. I'm using the 'Swedish - Pro' input source. I have attached the screenshots for the failed test.
screenshots.zip

@tirodkar
Copy link
Collaborator

@kl we unfortunately do not support non-English keyboards right now and therefore suggest users to use grey_replaceText() instead. We use accessibility labels for typing on the keyboard. To press the capitalized [K] here, we would have to hit the shift key which has the following accessibility details:

  |  |  |  |  |  |  |--<UIAccessibilityElementKBKey:0x610000a61900; AX=Y; AX.id='shift'; AX.label='skift'; AX.hint='Triple-tap to enter caps lock'; AX.frame={{0, 568}, {48, 46}}; AX.activationPoint={24, 591}; AX.traits='UIAccessibilityTraitButton,UIAccessibilityTraitPlaysSound,UIAccessibilityTraitKeyboardKey'; AX.focused='N'>

Since we use grey_accessibilityLabel(@"shift") for typing, we end up with the failure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants