我正在使用Java,Selenium和Chrome进行测试自动化。我们的开发人员最近将UI从AngularJS升级到Angular2(不确定是否重要)。但是从那以后,sendKeys在文本字段中输入不完整的字符。这是一个例子:
public void enterCustomerDetails()
{
txtFirstName.sendKeys("Joh201605130947AM");
txtSurname.sendKeys("Doe201605130947AM");
txtEmail.sendKeys("johndoe@gmail.com");
}
我也尝试使用executeScript。没用 它可以输入完整的字符,但是表格认为该字段为空。
public void forceSendKeys(WebElement element, String text)
{
if (element != null)
((JavascriptExecutor) this.webDriver).executeScript("arguments[0].value=arguments[1]", element, text);
}
public void enterCustomerDetails()
{
forceSendKeys(txtFirstName, "Joh201605130947AM");
forceSendKeys(txtSurname, "Doe201605130947AM");
forceSendKeys(txtEmail, "johndoe@gmail.com");
}
我还尝试在.sendKeys之前使用.click()并增加睡眠时间。他们也没有工作。
它有效,但这意味着我必须将所有代码从sendKeys重写为新函数:
public void sendChar(WebElement element, String value)
{
element.clear();
for (int i = 0; i < value.length(); i++){
char c = value.charAt(i);
String s = new StringBuilder().append(c).toString();
element.sendKeys(s);
}
}
public void enterCustomerDetails()
{
sendChar(txtFirstName, "Joh201605130947AM");
sendChar(txtSurname, "Doe201605130947AM");
sendChar(txtEmail, "johndoe@gmail.com");
}
如果你们知道更好的方法,请帮忙!:)
我认为这是由Angular2问题引起的https://github.com/angular/angular/issues/5808
当输入事件到达得太快时,Angular无法处理它们。
解决方法是,您需要发送单个字符,每个字符之间的延迟很小。
问题内容: 我正在使用Java,Selenium和Chrome进行测试自动化。我们的开发人员最近将UI从AngularJS升级到Angular2(不确定是否重要)。但是从那以后,sendKeys在文本字段中输入不完整的字符。这是一个例子: 我也尝试使用executeScript。没用 它可以输入完整的字符,但表单认为该字段为空。 我还尝试在.sendKeys之前使用.click()并增加睡眠时间。
我在Java中使用Selenium Webdriver,发现了一个问题。当我尝试向文本字段发送一些文本时,它只发送两个字符中的第一个字符。我尝试用JavaScriptExecutor设置它,但同样的事情发生了。ChromeDriver运行正常,工作正常。代码如下: 我也试着一个字一个字发: JavascriptExecutor也只发送一个字符,每隔几分钟就会崩溃(不知道为什么),所以我没有使用它。
这是我的代码: 服务器: 客户: 它可以正常工作,除了我希望当服务器向客户端发送“消息”“|MOD”时,我希望服务器将其发送给所有客户端,我该怎么做? 我是Java新手,但不是编码新手,所以如果我做错了一些可以做得更容易或更好的东西,请帮助我。 请帮忙。 非常感谢。
如何使用Firebase向我的应用程序的所有注册用户发送推送通知?我在纪录片中搜索了api,但没有找到任何有用的东西。
问题内容: 这段代码一切正常(将其缩短以便更好地阅读)。 当向服务器发送请求时,服务器会立即响应他。但是,其他客户端看不到响应消息。 因此,我想进一步说明:当客户端向服务器发送请求时,服务器将响应所有客户端,以便所有客户端都能看到消息。 我怎样才能做到这一点?有任何示例或不错的入门教程吗? 提前致谢! 服务器: 问题答案: 您必须使用连接池将消息广播到所有连接。您可以将其用作教程/示例http:/