clear方法清除值但保留,当发送键时传递新值,文本框显示selenium Appium中的上一个值+新值。请建议。 版本:Java的客户端4.1.2 Appium Server:v1.7.2 硒:3.0.1
I tried this but it did not work out.
public void clearTextBox(WebElement element,String text) throws Exception
{
element.click();
Thread.sleep(3000);
element.clear();
element.sendKeys(text);
}
答案 0 :(得分:0)
您的代码失败的原因(并且您应该将代码包含在原始问题中)是因为您是通过对页面对象元素的两次单独调用来完成的。
每次调用页面对象时,它都会新近查找元素,因此第一次调用它并发出.clear()然后在使用.sendkeys()进行不必要的睡眠后再次调用它。方法。点击也是不必要的。
您应该在页面对象模型中编写一个公共方法来执行sendkeys(),它执行clear(),然后执行sendkeys(),即:
public void setMsisdnValue(String text) {
Msisdn.clear();
Msisdn.sendKeys(text);
}
就个人而言,我使用一组辅助方法,以便我可以错误捕获并记录sendkeys之类的东西,但我仍然会在页面对象模型本身内调用它。该帮助程序将执行相同的两个步骤,但也在try / catch中执行并报告任何错误,因此它将简化为:
public void setMsisdnValue(String text) {
helper.sendKeys(Msisdn, text);
}
希望这有帮助。