我正在使用clj-webdriver在我的测试用例中填写表单。
(quick-fill-submit {"#firstname" "Firstnam"}
{"#lastname" "Lastnaem"}
{"#username" "Username"}
{"#password" "Password"}
{"#password2" "Password"}
{"#roles" "user"})
(click "button#add-user")
每次我在测试用例中运行此代码时,第三个值都填入空白。 我移动了田地并验证了它。它始终是第三个领域。
当在repl中逐步执行我的测试用例时,它可以正常工作但是什么时候
通过lein test
运行它失败了。
这似乎是某种时间问题。当我举个例子时 通过添加
执行(wait-until #(= 1 2) 10000)
在两个函数之间填充字段。一个简单的
(Thread/sleep n)
在这种情况下不起作用。为什么Selenium没有正确填写表格?
答案 0 :(得分:1)
WebDriver和AJAX调用通常需要调整等待设置。您应该尝试将implicit-wait设置为大于0的值(这是默认值)。另一种选择是使用wait-until和一个检查元素是否存在的谓词。