Sendkeys无法始终发送密钥WebDriverAgent(iOS-XCUITest)

时间:2018-11-27 10:21:08

标签: appium appium-ios

我正在使iOS应用程序自动化。请找到应用程序的版本:

  

Appium CLI:1.9.1
WebDriverAgent:与Appium相同   CLI。
MacOS:10.14.1
iOS版本:10.3.3
设备:iPad   
驱动程序:XCUITest(WebDriverAgent)

遇到问题:

当我使用element.sendkeys("Prakash")时,输入的是“ rakash” “ Prkash” “ Praksh” 。从来都不是一致的。所有字段都在发生这种情况。

我已经多次重新安装了webdriveragent,但是并没有帮助。

有人知道这个问题吗?

谢谢。

请从iOS真实设备中查找日志:

2018-11-27 15:57:03:266 - [debug] [JSONWP Proxy] Matched '/element/1E000000-0000-0000-B00A-000000000000/value' to command name
     

'setValue'       2018-11-27 15:57:03:266-[调试] [JSONWP代理]将[POST / element / 1E000000-0000-0000-B00A-000000000000 / value]代理到[POST   http://localhost:8100/session/0DFDAB38-2909-4D3C-AB87-F5493252D239/element/1E000000-0000-0000-B00A-000000000000/value],其正文:{“ value”:[“ x”,“ x”,“ x”,“ x”,“ x”,“ x”,“ x”,“ x”,“ x”, “ 1”,“ 2”,“ 3”]}       2018-11-27 15:57:03:279-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO testmanagerd [2729]:       2018-11-27 15:57:03:279-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO testmanagerd [2729]:       2018-11-27 15:57:03:280-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO testmanagerd [2729]:       2018-11-27 15:57:03:280-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO testmanagerd [2729]:       2018-11-27 15:57:03:280-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO testmanagerd [2729]:       2018-11-27 15:57:03:280-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO testmanagerd [2729]:       2018-11-27 15:57:03:280-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO testmanagerd [2729]:       2018-11-27 15:57:03:281-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO testmanagerd [2729]:       2018-11-27 15:57:03:281-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:282-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:283-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:284-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:285-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:285-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:286-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:287-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:287-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:288-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:289-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:289-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:290-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:290-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:291-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}       2018-11-27 15:57:03:291-[iOSLog] [IOS_SYSLOG_ROW] 11月27日23:57:03 GTO salesApp(UIAccessibility)[2736]:这个孩子不能   正确序列化:{pid = 2736}

1 个答案:

答案 0 :(得分:0)

首先单击 textField 然后执行 sendkeys,这应该可以工作。 如果问题仍然存在并且您正在执行非常重要的操作,请将字符串转换为字符并执行发送键。下面是代码。

public void stringToChar(WebElement element, String value){
        String val = value;
        element.click();
        element.clear();

        for (int i = 0; i < val.length(); i++){
            char c = val.charAt(i);
            String s = new StringBuilder().append(c).toString();
            element.sendKeys(s);
        } 
        
     }