2016-06-06 6 views
0

Für alle Kontrollkästchen und Optionsfelder i einen locater Builder erstellen:Locater Strategie geben zwei Ergebnisse in Selenium IDE

LocatorBuilders.add('radio', function(e) { 

     var name = e.parentNode.parentNode.getAttribute('name'); 
     var value = name + '_' + e.parentElement.getAttribute('value'); 
     var result = 'radio=' + value; 
     return result; 

}); 

Und eine locater Strategie:

PageBot.prototype.locateElementByRadio = function(locatorString, inDocument, inWindow) { 

    var name = locatorString.split('_')[0]; 
    var value = locatorString.split('_')[1]; 

    var result = inDocument.querySelector('div[field=' + name +'] label[value=' + value +'] input'); 

    return result; 

} 

HTML-Element:

<div class="radio" name="radio-example" style=""> 
    <label class="radio-label" value="male" style=""> 
     <input class="radio-input" style="" tabindex="1" type="radio"> 
     <span class="option">Man</span> 
    </label> 
</div> 

Dies funktioniert perfekt und in meinem Selen IDE ist ee etwas wie radio = new_yes Aber wh de Ich nehme einen Klick auf ein Radio auf Ich sehe zwei Befehle in Selenium. Ein Befehl mit dem Locater-Builder und ein Befehl mit einem sehr langen X-Pfad, der zum Label aus dem Kontrollkästchen gehört. Wie kann ich nur das Eingabefeld aus der Checkbox aufnehmen? und nicht das Label?

Selenium IDE

+0

könnten Sie die HTML für das Element in der Frage auch bitte teilen. – nullpointer

+0

Fügen Sie das HTML-Element in die Frage ein. – Janp95

+0

Versuchen Sie, den Wert des Kontrollkästchens zu erhalten, ob es aktiviert ist oder nicht? –

Antwort

0

Wenn Sie nur versuchen, den Locator für die Radiobutton zu erhalten, können Sie diesen Locator verwenden

css=input.radio-input

Lassen Sie mich wissen, wenn Sie weitere Fragen haben.

+0

Ich würde Elemente mit der Selenium IDE lokalisieren. Wie Sie sehen können, funktioniert es gut mit der obigen Funktion. Die einzige Sache ist, dass die IDE zwei Lokatoren aufzeichnet. Ich würde, dass Selen IDE nur die mit re Radio = Präfix aufnehmen. – Janp95