मैं अभी ककड़ी और रेल के साथ विचारों का परीक्षण कर रहा हूं और वास्तव में अनुभव का आनंद लेता हूं। मैं आसानी से कह सकते हैं:क्या टेस्ट (यूनिट/एकीकरण) का कोई तरीका है कि सीएसएस को अपेक्षित एचटीएमएल तत्वों पर लागू किया गया है?
Background:
Given I am logged in as a customer
Scenario: View the Welcome Page
When I go to the home page
Then I should be on the "Welcome" page
And I should see the following in the sidebar:
| selector | text |
| h3 | Search |
| .home-page | Home |
| .about-page | About |
अब मैं सोच रहा हूँ, मैं कैसे एक कदम आगे जाना है और कह सकते हैं:
And I should see the following colors on the "Welcome" page:
| selector | background |
| #content | white |
| #sidebar | grey |
| #navigation | blue |
मुझे लगता है कि मैंने देखा है कि यह की तरह कुछ के साथ ऐसा करना संभव है Node.js या अन्य सर्वरसाइड जावास्क्रिप्ट, क्योंकि यह सभी ब्राउज़र निर्भर है। क्या ऐसा करने का कोई तरीका है, शायद सेलेनियम के साथ सिर्फ सफारी और फ़ायरफ़ॉक्स में?
मैं केवल मुख्य रूप से रंगों और फोंट के लिए परीक्षण करना चाहता हूं, क्रॉस ब्राउज़र पागलपन के लेआउट बी/सी के लिए आवश्यक नहीं है। मैं ये कैसे करूं? Cucumber के साथ शायद थोड़ा Jasmine?
धन्यवाद!
सेटअप:: ककड़ी, Capybara @idlefingers को
अद्यतन
धन्यवाद, यहाँ कुछ है कि काम करता है।
सुविधाओं/support/env.rb:
Capybara.javascript_driver = :selenium
* सुविधाओं/step_definitions/css_steps.rb: *
Then /^I should see the color "([^"]+)" on the ([^"]+)$/ do |color, selector|
element_color = page.evaluate_script('$("##{selector}").css("border-left-color");') # "rgb(221, 221, 221)"
assert_equal color, some_color_conversion_method(element_color)
end
सुविधाओं/some.feature:
And I should see the color "red" on the sidebar
यदि कोई बेहतर तरीका है, तो मुझे प्यार होगा जानना!
महान पढ़ा! मैं यह जांचने जा रहा हूं कि उस लेख को जो भी कह रहा था, उसे निकालें और कार्यान्वित करें। धन्यवाद। –