मेरे पास वर्तमान में एक डीईएफ़ है जो इसे नीचे करता है, लेकिन मुझे लगता है कि यह अक्षम है और ऐसा करने का एक और तरीका हो सकता है। मुझे पता है कि रुपेक में या() फ़ंक्शन मदद करने के लिए है, लेकिन कैपिबारा में ऐसा नहीं लगता है।

def assert_either_selector(selector_1, selector_2)
  if has_selector?(selector_1, wait: false)
    assert_selector(selector_1)
  elsif has_selector?(selector_2, wait: false)
    assert_selector(selector_2)
  else
    flunk("Failed to match either selector \nExpected to find either: \n\t#{selector_1} or #{selector_2}")
  end
end
0
chasethesunnn 23 अक्टूबर 2018, 02:52

1 उत्तर

सबसे बढ़िया उत्तर

Capybara or का समर्थन करता है, लेकिन केवल RSpec मैचर्स (expect(page).to have_selector(selector_1).or(have_selector(selector_2))) का उपयोग करते समय, क्योंकि minitest में एक साथ मूल्यांकन or समर्थन नहीं होता है। मान लें कि selector_1 और selector_2 CSS चयनकर्ता हैं तो यहां सबसे आसान उपाय है कि आप CSS अल्पविराम का उपयोग करें और करें

assert_selector("#{selector_1}, #{selector_2}")

जो दो चयनकर्ताओं में से किसी एक से मेल खाने वाले तत्व की जांच करेगा।

1
Thomas Walpole 23 अक्टूबर 2018, 00:07