以下是我为文本字段编写的代码。
driver.findElement(By.xpath("//android.widget.RelativeLayout[1]/android.widget.EditText[1]")).click();
driver.findElement(By.xpath("//android.widget.RelativeLayout[1]/android.widget.EditText[1]")).sendKeys("Sathiya");
driver.navigate().back();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.findElement(By.xpath("//android.widget.RelativeLayout[1]/android.widget.EditText[2]")).click();
driver.findElement(By.xpath("//android.widget.RelativeLayout[1]/android.widget.EditText[2]")).sendKeys("Rengarajan");
driver.navigate().back();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.findElement(By.xpath("//android.widget.RelativeLayout[3]/android.widget.EditText[1]")).click();
driver.findElement(By.xpath("//android.widget.RelativeLayout[3]/android.widget.EditText[1]")).sendKeys("[email protected]");
driver.navigate().back();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.findElement(By.xpath("//android.widget.RelativeLayout[3]/android.widget.EditText[3]")).click();
driver.findElement(By.xpath("//android.widget.RelativeLayout[3]/android.widget.EditText[3]")).sendKeys("3295739258");
driver.navigate().back();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.findElement(By.xpath("//android.widget.RelativeLayout[3]/android.widget.EditText[4]")).click();
driver.findElement(By.xpath("//android.widget.RelativeLayout[3]/android.widget.EditText[4]")).sendKeys("Ascendas");
driver.navigate().back();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.findElement(By.xpath("//android.widget.RelativeLayout[3]/android.widget.EditText[5]")).click();
driver.findElement(By.xpath("//android.widget.RelativeLayout[3]/android.widget.EditText[5]")).sendKeys("Taramani");
driver.navigate().back();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
前5次单击找到确切的文本框,但是当前5个文本框执行sendkeys时 - 所有值都将输入到第6个文本框中。当对6文本框执行单击时,我收到错误,指出无法找到元素。有什么建议?
服务器日志:
处理命令时发生未知的服务器端错误。 (警告:服务器未提供任何堆栈跟踪信息)
命令持续时间或超时:60.46秒
构建信息:版本:'2.42.2',修订版:'6a6995d',时间:'2014-06-03 17:42:30'
系统信息:主机:'SR6-SM-MACAIR.local',ip:'10 .5.3.239',os.name:'Mac OS X',os.arch:'x86_64',os.version:'10 .9.4' ,java.version:'1.7.0_21'
会议ID:4d7c958f-9d8f-4989-8960-e2999cf83f75
驱动程序信息:io.appium.java_client.AppiumDriver
功能[{platform = LINUX,app = / usr / local / android-sdk / adt-bundle-mac-x86_64-20140702 / sdk / platform-tools / SETMORE-ANDROIDAPP / Setmore.apk,javascriptEnabled = true,appActivity = com。 adaptavant.setmore.ui.StartActivity,browserName =,networkConnectionEnabled = true,desired = {platformVersion = 4.4,app = / usr / local / android-sdk / adt-bundle-mac-x86_64-20140702 / sdk / platform-tools / SETMORE -ANDROIDAPP / Setmore.apk,deviceName = Google Nexus 4,platformName = Android,browserName =,appActivity = com.adaptavant.setmore.ui.StartActivity,appPackage = com.adaptavant.setmore},locationContextEnabled = false,appPackage = com.adaptavant .setmore,platformVersion = 4.4,databaseEnabled = false,platformName = Android,deviceName = Google Nexus 4,webStorageEnabled = false,warnings = {},takesScreenshot = true}]
不确定为什么在每个back
之后你需要sendkeys
。代码中的一些问题 -
假设所有文本框都在可见区域的同一页面上......您可以执行以下操作 -
一个。搜索所有editText(文本框),如下所示 -
elements = driver.get_webelements("//android.widget.EditText")
b)将文本发送到每个文本框
for element in elements:
element.sendKeys("Hello world!");
如果在同一视图中有更多文本框但需要滚动,则必须在那里添加滚动逻辑。
注意:上面的代码是在python中,但我想你应该把它转换为Java并不困难