如何使用 Ruby 檢查我的頁面上是否存在 data-testid ?我問這個是因為我看到有一些方法可以搜索選擇器,但我不知道這是否是正確的方法。我正在嘗試這樣做
expect(page).should have_no_selector("[data-testid='prepay-enroll-now-button']");
expect(page).should have_selector("[data-testid='prepay-enroll-now-button']");
uj5u.com熱心網友回復:
您所做的對 CSS 屬性選擇器有效,但是您不應該使用shouldRSpecs 的期望語法。此外,由于have_no_selector可以從 CSS 的正常默認值更改為 XPath(或任何其他受支持的選擇器型別),我建議您使用have_css或have_no_css在您使用 CSS 時使用。
expect(page).not_to have_css("[data-testid='prepay-enroll-now-button']")
或者
expect(page).to have_no_css("[data-testid='prepay-enroll-now-button']")
此外,如果您廣泛使用data-testid屬性,則可能需要設定Capybara.test_id = 'data-testid'它,然后您可以在其他 Capybara 方法中使用 data-testid 作為定位器。例如,如果“prepay-enroll-now-button”是一個實際的鏈接或按鈕(而不僅僅是一個附加行為的 div),你可以做類似的事情
click_on('prepay-enroll-now-button')
或者
expect(page).not_to have_selector(:link_or_button, 'prepay-enroll-now-button')
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/489083.html
標籤:红宝石 ruby-on-rails-3 水豚
上一篇:如何在Ruby中對陣列進行排序
