java如何避免selenium中的sendKeys方法清除之前填充的文本?
我正在使用Appium和Java测试的安卓应用程序具有标记/提及用户功能。现在我想测试这个特性。我想发送多次提及,并验证提及是否已发送。我正在测试的应用程序类似于slack/messaging应用程序
测试用例步骤:
- 开放聊天室
- 点击发送消息字段以激活键盘
- 键入@并等待用户列表显示
- 点击用户1
- 在用户1被标记/提及后发送一个空格
- 再次键入@,等待用户列表显示标记/提及
- 点击用户2
- 点击信息发送按钮
我使用的是页面对象模型。因此,为了执行上述步骤,我在page类中创建了一个名为SendMultiTention的方法,如下所示:
@Override
public ChatroomPage sendMultiMention(int index0, int index1){
sendKeyToElement(SENDMESSAGEFIELD, "@");
List<MobileElement> mentionPersonNamesList =
waitAndReturnElementListIfDisplayed(MENTIONPERSONNAME);
MobileElement mentionPersonNameSelect0 = mentionPersonNamesList.get(index0);
tapOnElement(mentionPersonNameSelect0);
sendKeyToElement(SENDMESSAGEFIELD, "@");
MobileElement mentionPersonNameSelect1 = mentionPersonNamesList.get(index1);
tapOnElement(mentionPersonNameSelect1);
tapOnElement(SENDMESSAGEBUTTON);
return this;
}
因此,上述代码的问题在于,第二个sendKeytoElement会覆盖(即清除)send message文本字段中先前填充的文本
因此,它的作用如下: 类型@->;选择用户1->;清除@user1->;类型@再次->;选择@user2
但我想做的是: 类型@->;选择用户1->;留出空间->;类型@再次->;选择@user2
(即不要从发送消息文本字段中清除@user1)
任何帮助都将不胜感激
共 (0) 个答案