Java 我们什么时候使用触摸动作?我可以用它输入文本的实际例子吗?
我想问一下,我们什么时候在Appium中使用触摸动作。我还想问:我们是否可以使用touch操作点击/按下android.widget.EditText元素并向其发送键。我可以用一个可行的例子来测试它吗?只要我们想点击/轻触设备上的特定元素,我们就会使用触摸动作 用于单击 您可以对EditText元素使用触摸操作,如下所示:Java 我们什么时候使用触摸动作?我可以用它输入文本的实际例子吗?,java,automated-tests,appium,Java,Automated Tests,Appium,我想问一下,我们什么时候在Appium中使用触摸动作。我还想问:我们是否可以使用touch操作点击/按下android.widget.EditText元素并向其发送键。我可以用一个可行的例子来测试它吗?只要我们想点击/轻触设备上的特定元素,我们就会使用触摸动作 用于单击 您可以对EditText元素使用触摸操作,如下所示: driver.findElement(By.xpath("your element xpath/id")).click(); 用于打字 此外,您还可以对EditText元素
driver.findElement(By.xpath("your element xpath/id")).click();
用于打字
此外,您还可以对EditText元素使用sendKeys,如下所示:
此内部命令单击元素,清除文本并键入要发送的字符串
driver.findElement(By.xpath("your element xpath/id")).sendKeys("textToBeTyped");
或
您可以分别单击和发送键,而无需清除文本元素中的现有文本,如下所示:
driver.findElement(By.xpath("your element xpath/id")).click();
driver.getKeyboard().sendKeys(textToBeTyped);
每当我们想在设备上的特定元素上单击/轻触时,我们都会使用触摸动作 用于单击 您可以对EditText元素使用触摸操作,如下所示:
driver.findElement(By.xpath("your element xpath/id")).click();
用于打字
此外,您还可以对EditText元素使用sendKeys,如下所示:
此内部命令单击元素,清除文本并键入要发送的字符串
driver.findElement(By.xpath("your element xpath/id")).sendKeys("textToBeTyped");
或
您可以分别单击和发送键,而无需清除文本元素中的现有文本,如下所示:
driver.findElement(By.xpath("your element xpath/id")).click();
driver.getKeyboard().sendKeys(textToBeTyped);
在所有appium客户端库中,都会创建触摸对象,并提供一系列事件。首先,必须使用webdriver初始化TouchAction OVObject,然后链接步骤以执行操作。您可以演示各种手势,例如:
- 水龙头
- 按(长、短)
- 滑动(从坐标a到坐标b)
- 执行多点触摸操作
new TouchAction(driverObject).tap(PointOption.point(x,y)).perform();
或:
为了将元素从点A滑动到点B,Z持续时间为毫秒
//wait parameters for duration purposes
WaitOptions waitOptions = new WaitOptions();
waitOptions.withDuration(Duration.ofMillis(millis));
//The action
new TouchAction(driverObject).longPress.press(fromPoint)
.waitAction(waitOptions).moveTo(toPoint).release().perform();
在所有appium客户端库中,都会创建触摸对象,并提供一系列事件。首先,必须使用webdriver初始化TouchAction OVObject,然后链接步骤以执行操作。您可以演示各种手势,例如:
- 水龙头
- 按(长、短)
- 滑动(从坐标a到坐标b)
- 执行多点触摸操作
new TouchAction(driverObject).tap(PointOption.point(x,y)).perform();
或:
为了将元素从点A滑动到点B,Z持续时间为毫秒
//wait parameters for duration purposes
WaitOptions waitOptions = new WaitOptions();
waitOptions.withDuration(Duration.ofMillis(millis));
//The action
new TouchAction(driverObject).longPress.press(fromPoint)
.waitAction(waitOptions).moveTo(toPoint).release().perform();
下面的解决方案有效吗?不完全有效。我可以找到一个按钮来单击,但是有其他人的问题,我不能向文本字段发送键:我可以获得键盘,但我不能发送键,因为元素从未被单击过。你能在下面的答案中使用最后两行代码吗?那应该能解决你的问题。不要将密钥直接发送到元素。只需单击它,然后使用driver.getKeyboard().sendKeys(“TextToByped”);有一个元素没有单击,但没有单击我选择的元素。在所有的测试之后,我发现它直接使用驱动程序单击,而不是通过xpathdriver,只使用xpath找到元素,然后单击。下面的解决方案是否有效?不完全正确。我可以找到一个按钮来单击,但是有其他人的问题,我不能向文本字段发送键:我可以获得键盘,但我不能发送键,因为元素从未被单击过。你能在下面的答案中使用最后两行代码吗?那应该能解决你的问题。不要将密钥直接发送到元素。只需单击它,然后使用driver.getKeyboard().sendKeys(“TextToByped”);有一个元素没有单击,但没有单击我选择的元素。在所有的测试之后,我发现它使用驱动程序直接单击,而不是通过xpathdriver,只使用xpath找到元素,然后单击。