Selenium IDE-在页面前进过程中selectOkOnNextConfirmation的时间

时间:2018-06-19 12:50:25

标签: javascript popup selenium-ide

我正试图在一家餐厅预订桌子。在单击“书本”按钮后,页面将前进,然后返回以确认服务器的可用性(可能需要2秒钟的时间),然后在浏览器中打开一个JavaScript确认弹出窗口。

在按下按钮之前(因此在页面前进之前),我是否可以使用chooseOkOnNextConfirmation?或者在可用性检查期间单击之后是否应该添加另一个(或移动)chooseOkOnNextConfirmation

连续几个chooseOkOnNextConfirmation命令会不会很痛?他们会互相干扰吗?

正确的时机至关重要。太早了,命令可能在错误的页面上执行了,太晚了,JavaScript弹出窗口停止了我的脚本。请注意,我无法测试该脚本,也无法查看该页面的JavaScript属性,因为预订目前已关闭,以后才能使用。

或者,我应该使用clickAndWait而不是click(尽管URL不会更改,并且命令可能会导致错误)?我可以使用assertConfirmationPresent来确定页面是否在assertConfirmation之前已完全加载,还是因为弹出窗口已经停止了我的脚本而为时已晚?

我现在拥有的东西如下:

chooseOkOnNextConfirmation
click                           //*[@id="table_id"]/thead/tr/th[1]/input
assertConfirmation              glob:Are you sure you want to submit your request 
                                for the following unit: Location Description:*

顺便说一句,事实证明,对于命令assertConfirmation来说,globbing不起作用。除非目标中的文本与弹出窗口中的文本完全匹配,否则我在日志中收到错误确认消息与实际消息不匹配。有任何解决方法或如何使glob:*工作的想法吗?

1 个答案:

答案 0 :(得分:0)

  

连续有几个choiceOkOnNextConfirmation命令会很痛吗?他们会互相干扰吗?

没有干扰,最后一个很重要。

  

或者,我应该使用clickAndWait而不是click(URL不会更改,并且命令可能会导致错误)

ClickandWait(仅)等待页面加载事件,因此,如果URL保持不变,这将帮助。

但是,如果您使用 kantu 硒离子,则可以使用make visual UI test (assert)使ide等待特定的图像或文本的出现。由于此操作直观可见,因此适用于任何网站。 =>这应该有助于在页面前进期间使您的 selectOkOnNextConfirmation定时正确。