gpt4 book ai didi

javascript - capybara 无法在页面上找到值(value)

转载 作者:太空宇宙 更新时间:2023-11-04 16:23:16 24 4
gpt4 key购买 nike

我有一个网页游戏,它使用 javascript 和 jquery 在输入字段中显示一个值。我要测试的值在页面上可见。但是,如果我检查该元素,该值不会出现在 html 中。

下面是一些设置值的 JS 代码:

function updateTotal(){
$('#edit-game-result').val(game.totalScore);
}

这是 html 输入字段:

<input type="text" id="edit-game-result" size="10" maxlength="3" class="form-text" readonly/>

我尝试过 capybara 测试,例如:

expect(find_field('edit-game-result').value).to eq 10

此测试找到该字段但给出输出:预期:10 得到:无

我认为这在某种程度上是由于以下原因: Is the HTML is View Source different from the HTML in Inspect Element?但我找不到让 capybara 读取该值的方法。

这也可能相关: http://ahmednadar.github.io/12/09/2013/overwrite-how-Capybara-ignores-hidden-elements/

我相信运行测试时该字段的值为 10。但是我无法在 capybara 测试中访问该值。

你能帮我找到一个有效的 capybara 测试,或者解释一下为什么它不起作用吗?

最佳答案

您遇到的问题是您正在查找该元素,然后检查其上的值,而不会等待该值匹配。相反,您应该使用 Capybara 提供的匹配器

expect(page).to have_field('edit-game-result', with: '10')

它将使用 Capybaras 等待/重试行为来等待值更改。

关于javascript - capybara 无法在页面上找到值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40433339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com