appium 1.6 sendKeys到EditText失败 [英] appium 1.6 sendKeys to EditText Failed

查看:521
本文介绍了appium 1.6 sendKeys到EditText失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用java-appium的客户端编写一些Java代码.我成功进入了用于输入文本的页面,但是进入页面后,输入字段没有响应.

I am writing some java code using java - client of the appium. I successfully enter the page for inputting the text, however, after getting into the page, the input field are not responding.

这里是结构:

<?xml version="1.0" encoding="UTF-8"?>
<hierarchy rotation="0">
    <android.widget.FrameLayout index="0" text="" class="android.widget.FrameLayout"  ]" resource-id="" instance="0">
        <android.widget.LinearLayout index="0" text="" class="android.widget.LinearLayout"  ]" resource-id="" instance="0">
            <android.widget.FrameLayout index="0" text="" class="android.widget.FrameLayout"  4]" resource-id="android:id/content" instance="1">
                <android.webkit.WebView index="0" text="" class="android.webkit.WebView"  4]" resource-id="" instance="0">
                    <android.webkit.WebView index="0" text="" class="android.webkit.WebView"  content-desc="Home"  focused="true" scrollable="true" 4]" resource-id="" instance="1">
                        <android.widget.Button index="0" text="" class="android.widget.Button"  content-desc="纬 " checkable="false" checked="false" clickable="true"  " resource-id="" instance="0"/>
                    <android.view.View index="1" text="" class="android.view.View"  content-desc="Sign Up Page" checkable="false" checked="false" clickable="true" 36]" resource-id="" instance="0"/>
                <android.view.View index="2" text="" class="android.view.View"  content-desc="Home" checkable="false" checked="false" clickable="true" 6]" resource-id="" instance="1"/>
            <android.widget.Button index="3" text="" class="android.widget.Button"  content-desc="sign up " checkable="false" checked="false" clickable="true"  48]" resource-id="" instance="1"/>
        <android.widget.Button index="4" text="" class="android.widget.Button"  content-desc=" Clean Time Logs " checkable="false" checked="false" clickable="true"  8]" resource-id="" instance="2"/>
        <android.view.View index="5" text="" class="android.view.View"  scrollable="true" 84]" resource-id="" instance="2">
    <android.widget.Image index="0" text="" class="android.widget.Image"  content-desc="PEGI_gambling" checkable="false" checked="false" clickable="true" 78]" resource-id="" instance="0"/>
    <android.view.View index="1" text="" class="android.view.View"  content-desc="Welcome!" checkable="false" checked="false" clickable="true" 342]" resource-id="" instance="3"/>
    <android.view.View index="2" text="" class="android.view.View"  content-desc="anonymous" checkable="false" checked="false" clickable="true" 404]" resource-id="" instance="4"/>
    <android.view.View index="3" text="" class="android.view.View"  90]" resource-id="" instance="5">
        <android.widget.Image index="0" text="" class="android.widget.Image"  content-desc="white-dove" checkable="false" checked="false" clickable="true" 88]" resource-id="" instance="1"/>
</android.view.View>
<android.view.View index="4" text="" class="android.view.View"  content-desc="This is the home page of the mobile app. The right hand most button is for switching page. Bottom is the time logs of clicking button or changing the views. The button at the subheader is used for cleaning all time logs." checkable="false" checked="false" clickable="true" 184]" resource-id="" instance="6"/>
<android.view.View index="5" text="" class="android.view.View"  content-desc="*The Like, Comment are fake." checkable="false" checked="false" clickable="true" 1184]" resource-id="" instance="7"/>
<android.view.View index="6" text="" class="android.view.View"  1184]" resource-id="" instance="8">
    <android.view.View index="0" text="" class="android.view.View"  content-desc="Like" checkable="false" checked="false" clickable="true"  1184]" resource-id="" instance="9"/>
    <android.view.View index="1" text="" class="android.view.View"  content-desc="Comment" checkable="false" checked="false" clickable="true"  ,1184]" resource-id="" instance="10"/>
</android.view.View>
</android.view.View>
<android.view.View index="6" text="" class="android.view.View"  scrollable="true" 1184]" resource-id="" instance="11">
    <android.view.View index="0" text="" class="android.view.View"  1184]" resource-id="" instance="12">
        <android.view.View index="0" text="" class="android.view.View"  content-desc="Account &amp; Personal Info" checkable="false" checked="false" clickable="true" 316]" resource-id="" instance="13"/>
        <android.view.View index="1" text="" class="android.view.View"  430]" resource-id="" instance="14">
            <android.view.View index="0" text="" class="android.view.View"  content-desc="Username" 418]" resource-id="_label-0" instance="15">
                <android.view.View index="0" text="" class="android.view.View"  content-desc="Username" checkable="false" checked="false" clickable="true" 404]" resource-id="" instance="16"/>
</android.view.View>
<android.widget.EditText index="1" text="" class="android.widget.EditText"  content-desc="e.g. woody" checkable="false" checked="false" clickable="true"  ,408]" resource-id="" instance="0"/>
</android.view.View>
<android.view.View index="2" text="" class="android.view.View"  544]" resource-id="" instance="17">
    <android.view.View index="0" text="" class="android.view.View"  content-desc="Email" 532]" resource-id="_label-1" instance="18">
        <android.view.View index="0" text="" class="android.view.View"  content-desc="Email" checkable="false" checked="false" clickable="true" 518]" resource-id="" instance="19"/>
</android.view.View>
<android.widget.EditText index="1" text="" class="android.widget.EditText"  content-desc="1232@gmail.com" checkable="false" checked="false" clickable="true"  ,522]" resource-id="" instance="1"/>
</android.view.View>
<android.view.View index="3" text="" class="android.view.View"  658]" resource-id="" instance="20">
    <android.view.View index="0" text="" class="android.view.View"  content-desc="Password" 646]" resource-id="_label-2" instance="21">
        <android.view.View index="0" text="" class="android.view.View"  content-desc="Password" checkable="false" checked="false" clickable="true" 632]" resource-id="" instance="22"/>
</android.view.View>
<android.widget.EditText NAF="true" index="1" text="" class="android.widget.EditText"  checkable="false" checked="false" clickable="true"  ,636]" resource-id="" instance="2"/>
</android.view.View>
<android.view.View index="4" text="" class="android.view.View"  772]" resource-id="" instance="23">
    <android.view.View index="0" text="" class="android.view.View"  content-desc="Birthday" 760]" resource-id="_label-3" instance="24">
        <android.view.View index="0" text="" class="android.view.View"  content-desc="Birthday" checkable="false" checked="false" clickable="true" 746]" resource-id="" instance="25"/>
</android.view.View>
<android.widget.Spinner NAF="true" index="1" text="" class="android.widget.Spinner"  checkable="false" checked="false" clickable="true"  ,750]" resource-id="" instance="0"/>
</android.view.View>
<android.view.View index="5" text="" class="android.view.View"  content-desc="Interest" checkable="false" checked="false" clickable="true" 860]" resource-id="" instance="26"/>
<android.view.View index="6" text="" class="android.view.View"  976]" resource-id="" instance="27">
    <android.view.View index="0" text="" class="android.view.View"  content-desc="Description" 964]" resource-id="_label-4" instance="28">
        <android.view.View index="0" text="" class="android.view.View"  content-desc="Description" checkable="false" checked="false" clickable="true" 950]" resource-id="" instance="29"/>
</android.view.View>
<android.widget.EditText NAF="true" index="1" text="" class="android.widget.EditText"  checkable="false" checked="false" clickable="true"  ,964]" resource-id="" instance="3"/>
</android.view.View>
<android.widget.Button index="7" text="" class="android.widget.Button"  content-desc="Submit " checkable="false" checked="false" clickable="true"  ,1142]" resource-id="" instance="3"/>
<android.widget.Button index="8" text="" class="android.widget.Button"  content-desc="Reset " checkable="false" checked="false" clickable="true"  ,1184]" resource-id="" instance="4"/>
</android.view.View>
</android.view.View>
<android.view.View index="7" text="" class="android.view.View"  scrollable="true" 184]" resource-id="" instance="30">
    <android.view.View index="0" text="" class="android.view.View"  content-desc="[ 07:13:10.193 ] Page is loaded." checkable="false" checked="false" clickable="true" 184]" resource-id="" instance="31"/>
    <android.view.View index="1" text="" class="android.view.View"  content-desc="[ 07:13:10.019 ] Button is clicked." checkable="false" checked="false" clickable="true" 184]" resource-id="" instance="32"/>
</android.view.View>
</android.webkit.WebView>
</android.webkit.WebView>
</android.widget.FrameLayout>
</android.widget.LinearLayout>
<android.view.View index="1" text="" class="android.view.View"   resource-id="android:id/statusBarBackground" instance="33"/>
<android.view.View index="2" text="" class="android.view.View"  280]" resource-id="android:id/navigationBarBackground" instance="34"/>
</android.widget.FrameLayout>
</hierarchy>

和代码:

     WebElement username = driver.findElementByXPath("//android.webkit.WebView[@content-desc='Sign Up Page']/android.view.View[@index='4']/android.view.View[@index='0']/android.view.View[@index='1']/android.widget.EditText[@index='1']");
     username.click();
     username.sendKeys("appium_username");

我想将密钥发送到EditText的输入字段{例如木本}元素.我该怎么办?

I want to send key to the input field to the EditText{e.g. woody} element. How can I do that?

以下是我在阅读Lyle的评论后写的动作方法:

The following is the action approach I wrote after reading Lyle's comment:

         driver.findElementByXPath("//android.widget.Button[@index='1']").click();

     Actions action = new Actions(driver);

     action.click(driver.findElement(By.xpath("//android.webkit.WebView[@content-desc='Sign Up Page']/android.view.View[@index='4']/"
                + "android.view.View[@index='0']/android.view.View[@index='1']/android.widget.EditText[@index='1']")));

     action.sendKeys("appium_test");

我遇到以下问题,但我不知道到底是怎么回事: org.openqa.selenium.WebDriverException:方法尚未实现(警告:服务器未提供任何堆栈跟踪信息)

I get the following problem and I am not exactly knowing what's going on: org.openqa.selenium.WebDriverException: Method has not yet been implemented (WARNING: The server did not provide any stacktrace information)

根据我的观察,程序通过这些代码行运行后没有显示键盘

By my observation, there is no keyboard shown after the program run through these lines of code

推荐答案

        //---try using Actions

        Actions typeText = new Actions(Driver);

        typeText.click(xpath);
        typeText.sendKeys(textToSend); 
        typeText.perform();

这篇关于appium 1.6 sendKeys到EditText失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆