मैं अपने स्वचालित परीक्षण के लिए Geb with Spock का उपयोग कर रहा हूं। पेज पर कई ड्रॉपडाउन हैं, और मैं सभी विकल्पों के टेक्स्ट को सत्यापित करना चाहता हूं। मैं पाठ को पकड़ने के लिए निम्नलिखित का उपयोग कर रहा हूं, और यह काम कर रहा है

String actualtext = "";
List<WebElement> options = driver.findElements(By.cssSelector("#dateFormat"))
        for(WebElement ddoptions : options) {
            actualtext = ddoptions.getText();
        }   
System.out.println(actualtext)

इनमें से प्रत्येक ड्रॉपडाउन के लिए, मैंने एक पेज ऑब्जेक्ट बनाया है

modalDateDropdown {$("#dateFormat")}

मैं एक विधि बनाना चाहता हूं जहां मैं जीबी पेज ऑब्जेक्ट में पास कर सकता हूं, और यह उस ऑब्जेक्ट के आधार पर विकल्प टेक्स्ट लौटाएगा जिसमें मैं पास करता हूं। मुझे यकीन नहीं है कि पेज ऑब्जेक्ट का उपयोग कैसे करें और एक स्ट्रिंग बनाएं जिसमें पेज ऑब्जेक्ट चयनकर्ता हो (#तारिख का प्रारूप)।

मैंने पेज ऑब्जेक्ट को पास करने की कोशिश की है, लेकिन यह काम नहीं करता है क्योंकि यह चयनकर्ता का मूल्य नहीं है

public void verifyDropDownOptions(def object) {
    System.out.println(object)
    String actualtext = "";
    List<WebElement> options = driver.findElements(By.cssSelector(object))
    for(WebElement ddoptions : options) {
        actualtext = ddoptions.getText();
    }
    System.out.println(actualtext)
}

verifyDropDownOptions(modalDateDropdown)
0
TestRaptor 6 मार्च 2018, 00:00

2 जवाब

मैंने परिदृश्य को जटिल बना दिया है। समाधान, गेब पेज ऑब्जेक्ट के टेक्स्ट पर एक सरल अभिकथन है, जिसमें प्रत्येक विकल्प \n . द्वारा अलग किया गया है

जोर modalDateDropdown.text() == "MM/DD/YYYY\nDD/MM/YYYY"

0
TestRaptor 6 मार्च 2018, 00:55

सार्वजनिक शून्य सत्यापन ड्रॉपडाउन विकल्प (नेविगेटर ड्रॉपडाउन ऑब्जेक्ट, सूची आइटम सूची) {

items { find('option') } // Assuming options are with 'option' tag in HTML
assert items*.text() == itemsList

}

VerifyDropDownOptions (मोडलडेटड्रॉपडाउन, ["विकल्प 1", "विकल्प 2"])

0
EdgeCoder 20 मार्च 2018, 09:56