我正在使用appium的java - client编写一些java代码。我成功地进入了输入文本的页面,但是进入页面后,输入字段没有响应。
结构是这样的:
<?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 & 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{例如woody}元素。我该怎么做呢?
以下是我在读完Lyle的评论后写的行动方法:
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:方法尚未实现(警告:服务器没有提供任何堆栈跟踪信息)
根据我的观察,在程序运行完这些代码行之后,没有显示键盘
发布于 2017-02-16 19:11:05
//---try using Actions
Actions typeText = new Actions(Driver);
typeText.click(xpath);
typeText.sendKeys(textToSend);
typeText.perform();发布于 2017-02-17 00:38:54
尝试清除文本字段,然后再次发送密钥
typeText.clear();
typeText.sendKeys(xpath); https://stackoverflow.com/questions/42271992
复制相似问题