用Rails 4编写Cucumber测试时出现错误:元素未附加到页面文档。

3
bundle exec cucumber features/products.feature

使用这个命令运行我的产品功能的所有场景测试,但是在执行一个场景后它会抛出一个错误。
Given I am an authenticated user #features/step_definitions/login.rb:37
stale element reference: element is not attached to the page document
    (Session info: chrome=46.0.2490.80)
    (Driver info: chromedriver=2.13.307650 (feffe1dd547ee7b5c16d38784cd0cd679dfd7850),platform=Mac OS X 10.8.5 x86_64) (Selenium::WebDriver::Error::StaleElementReferenceError)

用于身份验证。但如果我逐个运行场景,它就会成功。请帮忙解决如何在一次性运行所有场景时出现异常的问题。

1个回答

1
这个错误是由于在页面上查找尚未加载或因DOM在先前步骤中更改而过期的元素。确保在批量运行测试用例时,每个用例都应与其他用例隔离开来。您应该检查要交互的元素是否在页面上,如果没有,请添加额外的步骤以确保它加载到那里。

你能提供解决方案吗?因为当一个场景完成后,它会再次检查用户的身份验证。也就是说,它会再次创建会话。 对于每个场景,都需要重新登录到应用程序。 - Deepali Gomashe
它总是打开一个新的浏览器,所以您需要为每个自雇案例添加。使用背景选项来准备前提条件。例如,如果您要为每个案例登录,则可以将其添加到背景中。 - Mesut GUNES

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接