Selenium IDE步骤通过,但不会将文本输入文本框

时间:2018-01-17 22:12:02

标签: selenium selenium-ide

我正在尝试让IDE运行填写用户名和密码字段的测试。这个测试过去一直有效,直到最近我们实现了SSO。现在,即使步骤通过,第一个密码框也不会填写。

元素id =“密码”

截图

Password field is skipped

All the steps say they were successfully run

我尝试将Command更改为Focus,ClickAt,SendKeys,Type和FireEvent,但我尝试的无效。我环顾四周,并没有看到任何类似的问题。有人遇到过这样的问题吗?我很难过。

Gif of password field behavior

3 个答案:

答案 0 :(得分:0)

我猜是两个密码字段都有相同的元素id =“password”?如果是这样,有两种方法可以解决它:

  • 使用较旧的Firefox Selenium IDE:使用更复杂的定位器(xpath ...)来区分这两个字段。

  • 或者,如果您可以使用Kantu Selenium IDE,请使用"POS" identifier。有了它,第一个字段将是id = password @ POS = 1,第二个字段= password @ POS = 2

答案 1 :(得分:0)

Password字段未填充的原因可能有多种,原因如下:

  • 当您在密码之前提供电子邮件地址时, JavaScript 可能会验证{{1} }(如果已填写/ onfocusout事件)Email Address中已存在相同的Email Address。在这种情况下,Database字段不会可互动,直到Password / JavaScript完成。
  • AJAX Call字段似乎有一些标准,包括一些Password / Uppercase Letter等。因此,如果您使用 Number 字符序列与上述条件不匹配 sendkeys() 验证字符序列会删除/删除字符顺序完全。

解决方案:

您需要将Explicit WaitWebDriverWait <{1}} } JavaScript通过ExpectedConditionsPassword elementToBeClickable {{3}} {{3}} 3}}然后使用 clickable 调用 sendkeys() ,以完成Character Sequence字段旁边提到的上述条件。

答案 2 :(得分:0)

可能是某些事件附加到了密码字段。也可能是浏览器。根据我的经验,Firefox与Selenium一起使用效果更好。

我将检查输入字段,以查看是否有任何事件或功能阻止您输入文本。如果存在,请使用execute script Selenium IDE命令运行可以删除它的JS脚本。