ड्रॉप डाउन प्रोट्रोजर्स e2e टेस्ट में विकल्प का चयन कैसे करें


121

मैं प्रोट्रैक्टर का उपयोग कर कोणीय ई 2 ई परीक्षणों के लिए एक ड्रॉप डाउन से एक विकल्प का चयन करने की कोशिश कर रहा हूं।

यहाँ कुछ विकल्प का कोड स्निपेट दिया गया है:

<select id="locregion" class="create_select ng-pristine ng-invalid ng-invalid-required" required="" ng-disabled="organization.id !== undefined" ng-options="o.id as o.name for o in organizations" ng-model="organization.parent_id">
    <option value="?" selected="selected"></option>
    <option value="0">Ranjans Mobile Testing</option>
    <option value="1">BeaverBox Testing</option>
    <option value="2">BadgerBox</option>
    <option value="3">CritterCase</option>
    <option value="4">BoxLox</option>
    <option value="5">BooBoBum</option>
</select>

मैंने कोशिश की है:

ptor.findElement(protractor.By.css('select option:1')).click();

यह मुझे निम्नलिखित त्रुटि देता है:

एक अमान्य या अवैध स्ट्रिंग निर्दिष्ट किया गया था बिल्ड जानकारी: संस्करण: '2.35.0', संशोधन: 'c916b9d', समय: '2013-08-12 15:42:01' सिस्टम जानकारी: os.name: 'मैक ओएस एक्स' , os.arch: 'x86_64', os.version: '10 .9 ', java.version:' 1.6.0_65 'ड्राइवर जानकारी: driver.version: अज्ञात

मैंने भी कोशिश की है:

ptor.findElement(protractor.By.xpath('/html/body/div[2]/div/div[4]/div/div/div/div[3]/ng-include/div/div[2]/div/div/organization-form/form/div[2]/select/option[3]')).click();

यह मुझे निम्नलिखित त्रुटि देता है:

ElementNotVoubleError: तत्व वर्तमान में दिखाई नहीं दे रहा है और इसलिए कमांड अवधि या टाइमआउट के साथ बातचीत नहीं की जा सकती है: 9 मिलीसेकंड बिल्ड जानकारी: संस्करण: '2.35.0', संशोधन: 'c916b9d', समय: '2013-08-12 15:42: 01 'सिस्टम की जानकारी: os.name:' Mac OS X ', os.arch:' x86_64 ', os.version: '10 .9', java.version: '1.6.0_65' सत्र आईडी: bdebro88-d8ad-0f49 -ad9 -82201c45c63f ड्राइवर जानकारी: org.openqa.selenium.firefox.FirefoxDriver क्षमताएँ [{platform = MAC, acceptSslCerts = true, javascriptEnabled: true, browserName = firefox, rotatable = false, locationContextEnabled = true, संस्करण = 24.0, c। = true, handleAlerts = true, browserConnectionEnabled = true, nativeEvents = false, webStorageEnabled = true, applicationCacheEnabled = false, takeScreenshot = true}]

किसी को भी कृपया इस समस्या के साथ मेरी मदद कर सकते हैं या क्या मैं यहाँ गलत हो सकता है पर कुछ प्रकाश फेंक सकते हैं।

जवाबों:


88

मुझे एक समान समस्या थी, और आखिरकार एक सहायक समारोह लिखा, जो ड्रॉपडाउन मूल्यों का चयन करता है।

मैंने अंततः निर्णय लिया कि मैं विकल्प संख्या द्वारा चयन करने में ठीक था, और इसलिए एक विधि लिखी जो एक तत्व और विकल्प को लेती है, और उस विकल्प का चयन करती है। यदि विकल्पनंबर शून्य है, तो यह कुछ भी नहीं चुनता है (ड्रॉपडाउन अचयनित छोड़कर)।

var selectDropdownbyNum = function ( element, optionNum ) {
  if (optionNum){
    var options = element.all(by.tagName('option'))   
      .then(function(options){
        options[optionNum].click();
      });
  }
};

मैंने एक ब्लॉग पोस्ट लिखी है यदि आप अधिक विवरण चाहते हैं, तो यह ड्रॉपडाउन में चयनित विकल्प के पाठ की पुष्टि करता है: http://technpol.wordpress.com/2013/12/01/protractor-and-dropdowns-validation/


1
मेरे लिए काम नहीं किया, element.findElements एक फ़ंक्शन नहीं है।
जस्टिन

251

मेरे लिए एक आकर्षण की तरह काम किया

element(by.cssContainingText('option', 'BeaverBox Testing')).click();

आशा करता हूँ की ये काम करेगा।


2
माइनर नोट - v0.22 केवल (मैं आज के साथ अपने कोड को बदलने के लिए गया था, और इसे प्राप्त करने के लिए अपग्रेड करना था)
पॉल एल

क्या इसका उपयोग करने वाले तत्वों को लक्षित करने का कोई तरीका है? जैसे डुप्लीकेट स्टेट सेलेक्ट मेन्यू।
क्रिस्टोफर मार्शल

11
क्रिस्टोफर, ElementFinderचेन-सक्षम है, इसलिए आप कर सकते हैं:element(by.css('.specific-select')).element(by.cssContainingText('option', 'BeaverBox Testing')).click();
जोएल कोर्नब्लू सिप

6
ध्यान दें कि आप आंशिक मैच प्राप्त कर सकते हैं, इसलिए 'छोटा' 'अतिरिक्त छोटे' से मेल खाएगा।
TrueWill

3
ट्रूविल की टिप्पणी में जोड़ने के लिए: इस समाधान के नीचे का पक्ष यह है कि यदि आपके पास दो समान विकल्प हैं तो यह अंतिम पाए गए विकल्प का उपयोग करेगा - जो गलत चयन के आधार पर त्रुटियों को फेंक देता है। मेरे लिए क्या काम किया गया था stackoverflow.com/a/25333326/1945990
माइक डब्ल्यू

29

एक सुंदर दृष्टिकोण अन्य सेलेनियम भाषा बाइंडिंग आउट-ऑफ-द-बॉक्स (जैसे पायथन या जावा में वर्ग) की पेशकश के समान एक अमूर्त बनाना शामिल होगा Select

आइए एक सुविधाजनक आवरण बनाते हैं और कार्यान्वयन विवरण को अंदर छिपाते हैं:

var SelectWrapper = function(selector) {
    this.webElement = element(selector);
};
SelectWrapper.prototype.getOptions = function() {
    return this.webElement.all(by.tagName('option'));
};
SelectWrapper.prototype.getSelectedOptions = function() {
    return this.webElement.all(by.css('option[selected="selected"]'));
};
SelectWrapper.prototype.selectByValue = function(value) {
    return this.webElement.all(by.css('option[value="' + value + '"]')).click();
};
SelectWrapper.prototype.selectByPartialText = function(text) {
    return this.webElement.all(by.cssContainingText('option', text)).click();   
};
SelectWrapper.prototype.selectByText = function(text) {
    return this.webElement.all(by.xpath('option[.="' + text + '"]')).click();   
};

module.exports = SelectWrapper;

उपयोग उदाहरण (ध्यान दें कि यह कितना पठनीय और आसान है):

var SelectWrapper  = require('select-wrapper');
var mySelect = new SelectWrapper(by.id('locregion'));

# select an option by value
mySelect.selectByValue('4');

# select by visible text
mySelect.selectByText('BoxLox');

निम्नलिखित विषय से लिया गया समाधान: चयन -> विकल्प अमूर्त


FYI करें, एक सुविधा अनुरोध बनाया: चयन -> विकल्प अमूर्त


आप चुनिंदा फ़ंक्शंस में 'वापसी' का उपयोग क्यों करते हैं? क्या यह जरूरी है?
Michiel

1
@ मिचेल अच्छी बात। यदि आप स्पष्ट रूप से दिए गए वादे को हल करना चाहते हैं तो यह आवश्यक हो सकता है click()। धन्यवाद।
एलेक्सी

20
element(by.model('parent_id')).sendKeys('BKN01');

1
यह मेरे लिए सबसे सही है। CssContainText के साथ आप वांछित क्षेत्र पर कब्जा करना सुनिश्चित नहीं करते हैं। जरा सोचिए अगर आपके पास समान मूल्यों के साथ 2 चयन बॉक्स हैं। +1
योब्रे

4
क्षमा करें, BKN01 क्या है?
गेरफ्रीड

1
@Gerfried BKN01 वह पाठ है जिसे आप ड्रॉप डाउन से चुनना चाहते हैं।
मिलनयादव सितप

@GalBracha क्षमा करें आपको नहीं मिला
मिलनयादव

यदि आपके पास एक और विकल्प है जो BKN01 के रूप में एक ही प्रीफ़ेक्स साझा करता है, तो यह काम नहीं करेगा। एक यादृच्छिक एक उठाया जाएगा।
zs2020

15

विशिष्ट विकल्प तक पहुँचने के लिए आपको nth-child () चयनकर्ता प्रदान करना होगा:

ptor.findElement(protractor.By.css('select option:nth-child(1)')).click();

यह प्रश्न का उत्तर प्रदान नहीं करता है। एक लेखक से स्पष्टीकरण की आलोचना करने या अनुरोध करने के लिए, उनके पोस्ट के नीचे एक टिप्पणी छोड़ दें।
jpw

@jpw मेरा जवाब गलत है। या क्या यह केवल मेरे उत्तर के फॉर्मूले गलत है?
मधुमक्खी

एक प्रश्न के रूप में एक उत्तर का निरूपण क्यों है। मुझे नहीं पता कि यह सही उत्तर है। अगर यह है तो आपको इसे इस तरह तैयार करना चाहिए।
जेपीडब्ल्यू

3
@bekite ने मेरे लिए काम नहीं किया। त्रुटि प्राप्त करना तत्व जब मैं आपके सुझाव की कोशिश कर रहा था तो त्रुटि दिखाई नहीं दे रही थी
रंजन भाम्ब्रो

8

इस तरह मैंने अपना चयन किया।

function switchType(typeName) {
     $('.dropdown').element(By.cssContainingText('option', typeName)).click();
};

5

यहाँ मैंने यह कैसे किया:

$('select').click();
$('select option=["' + optionInputFromFunction + '"]').click();
// This looks useless but it slows down the click event
// long enough to register a change in Angular.
browser.actions().mouseDown().mouseUp().perform();

लंबित प्रसंस्करण को पूरा करने के लिए कोणीय की प्रतीक्षा करने के लिए, प्रोट्रैक्टर की waitForAngular()विधि का उपयोग करें।
एवी चेरी

5

यह कोशिश करो, यह मेरे लिए काम कर रहा है:

element(by.model('formModel.client'))
    .all(by.tagName('option'))
    .get(120)
    .click();

4

आप यह आशा कर सकते हैं कि यह काम करेगा

element.all(by.id('locregion')).then(function(selectItem) {
  expect(selectItem[0].getText()).toEqual('Ranjans Mobile Testing')
  selectItem[0].click(); //will click on first item
  selectItem[3].click(); //will click on fourth item
});

4

विकल्प तत्व सेट करने का दूसरा तरीका:

var select = element(by.model('organization.parent_id'));
select.$('[value="1"]').click();

var ऑर्डरटेस्ट = एलिमेंट (by.model ('ctrl.supplier.orderTest')) ऑर्डरटेस्ट। $ ('[value = "1"]') पर क्लिक करें ()। त्रुटि हो रही है (सीएसएस चयनकर्ता, [मूल्य = "3"])
अनुज केसी

3

यहां की तरह अद्वितीय आईडी के साथ आइटम (विकल्प) का चयन करने के लिए:

<select
    ng-model="foo" 
    ng-options="bar as bar.title for bar in bars track by bar.id">
</select>

मैं इसका उपयोग कर रहा हूं:

element(by.css('[value="' + neededBarId+ '"]')).click();

3

हमने एक लाइब्रेरी लिखी जिसमें विकल्प चुनने के लिए 3 तरीके शामिल हैं:

selectOption(option: ElementFinder |Locator | string, timeout?: number): Promise<void>

selectOptionByIndex(select: ElementFinder | Locator | string, index: number, timeout?: number): Promise<void>

selectOptionByText(select: ElementFinder | Locator | string, text: string, timeout?: number): Promise<void>

इस फ़ंक्शन की अतिरिक्त विशेषता यह है कि वे उस तत्व का इंतजार करते हैं जो प्रदर्शन किए जाने से पहले किसी भी कार्रवाई के लिए प्रदर्शित selectकिया जाता है।

आप इसे npm @ hetznercloud / protractor-test-helper पर पा सकते हैं । टाइपस्क्रिप्ट के लिए टाइपिंग भी प्रदान की जाती है।


2

शायद सुपर सुरुचिपूर्ण नहीं, लेकिन कुशल:

function selectOption(modelSelector, index) {
    for (var i=0; i<index; i++){
        element(by.model(modelSelector)).sendKeys("\uE015");
    }
}

यह केवल आपके द्वारा चुने गए चयन पर कुंजी भेजता है, हमारे मामले में, हम मॉडल सेलेक्टर का उपयोग कर रहे हैं, लेकिन जाहिर है कि आप किसी अन्य चयनकर्ता का उपयोग कर सकते हैं।

फिर मेरे पेज ऑब्जेक्ट मॉडल में:

selectMyOption: function (optionNum) {
       selectOption('myOption', optionNum)
}

और परीक्षण से:

myPage.selectMyOption(1);

2

समस्या यह है कि नियमित रूप से कोणीय चयन बॉक्स पर काम करने वाले समाधान कोणीय सामग्री का उपयोग करके कोणीय सामग्री md-select और md- विकल्प के साथ काम नहीं करते हैं। यह एक दूसरे द्वारा पोस्ट किया गया था, लेकिन इसने मेरे लिए काम किया और मैं अभी तक उसकी पोस्ट (केवल 23 प्रतिनिधि बिंदु) पर टिप्पणी करने में असमर्थ हूं। इसके अलावा, मैंने इसे थोड़ा साफ कर दिया, इसके बजाय browser.sleep, मैंने browser.waitForAngular () का उपयोग किया;

element.all(by.css('md-select')).each(function (eachElement, index) {
    eachElement.click();                    // select the <select>
    browser.waitForAngular();              // wait for the renderings to take effect
    element(by.css('md-option')).click();   // select the first md-option
    browser.waitForAngular();              // wait for the renderings to take effect
});

मैं सिर्फ इस का उपयोग करता हूं:element(by.model('selectModel')).click(); element(by.css('md-option[value="searchOptionValue"]')).click();
लुआन गुयेन

यहाँ एक और दृष्टिकोण है: mdSelectElement.getAttribute('aria-owns').then( function(val) { let selectMenuContainer = element(by.id(val)); selectMenuContainer.element(by.css('md-option[value="foo"]')).click(); } );
gbruins

1

फ़ायरफ़ॉक्स में विकल्पों के चयन के साथ एक समस्या है कि ड्रोगन्स की हैक को ठीक करता है जिसका मैं यहां स्पष्ट रूप से उल्लेख करना चाहता हूं, उम्मीद है कि यह किसी को कुछ परेशानी से बचा सकता है: https://github.com/angular/protractor/issues/480

यहां तक ​​कि अगर आपके परीक्षण फ़ायरफ़ॉक्स के साथ स्थानीय रूप से गुजर रहे हैं, तो आप पा सकते हैं कि वे सर्कलसीआई या ट्रैविसीआई या सीआई या तैनाती के लिए उपयोग कर रहे हैं। शुरू से ही इस समस्या के बारे में पता होने से मुझे बहुत समय बचा था :)


1

एक विकल्प तत्व सेट करने के लिए सहायक:

selectDropDownByText:function(optionValue) {
            element(by.cssContainingText('option', optionValue)).click(); //optionValue: dropDownOption
        }

1

यदि नीचे दिया गया ड्रॉपडाउन है-

            <select ng-model="operator">
            <option value="name">Addition</option>
            <option value="age">Division</option>
            </select>

फिर प्रोट्रैक्टरज कोड हो सकते हैं-

        var operators=element(by.model('operator'));
    		operators.$('[value=Addition]').click();

स्रोत- https://github.com/angular/protractor/issues/600


1

अनुक्रमणिका द्वारा विकल्प चुनें:

var selectDropdownElement= element(by.id('select-dropdown'));
selectDropdownElement.all(by.tagName('option'))
      .then(function (options) {
          options[0].click();
      });

1

मैंने पॉलल द्वारा लिखित समाधान में थोड़ा सुधार किया है। सबसे पहले मैंने आखिरी प्रोटेक्टर एपीआई के साथ संगत होने के लिए कोड तय किया। और फिर मैं ब्राउज़र उदाहरण के एक सदस्य के रूप में एक प्रोटेक्टर कॉन्फिगर फ़ाइल के 'ऑनप्रेपर' सेक्शन में फंक्शन की घोषणा करता हूँ , इसलिए इसे किसी भी e2e स्पेक के रूप में संदर्भित किया जा सकता है।

  onPrepare: function() {
    browser._selectDropdownbyNum = function (element, optionNum) {
      /* A helper function to select in a dropdown control an option
      * with specified number.
      */
      return element.all(by.tagName('option')).then(
        function(options) {
          options[optionNum].click();
        });
    };
  },

1

मैं एक मॉडल ड्रॉपडाउन में एक विकल्प का चयन करने के तरीके के बारे में एक जवाब के लिए नेट को पीछे कर रहा हूं और मैंने इस संयोजन का उपयोग किया है जिसने मुझे कोणीय सामग्री के साथ मदद की है।

element(by.model("ModelName")).click().element(By.xpath('xpathlocation')).click();

ऐसा प्रतीत होता है कि कोड को एक पंक्ति में फेंकने पर यह ड्रॉपडाउन में तत्व को खोज सकता है।

इस समाधान के लिए बहुत समय लिया मुझे आशा है कि इससे किसी को मदद मिलेगी।


0

हम एंगुलरज मटेरियल का उपयोग करके वहां के सुरुचिपूर्ण समाधान का उपयोग करना चाहते थे, लेकिन यह काम नहीं किया क्योंकि वास्तव में DOM में कोई विकल्प / md- ऑप्शन टैग नहीं हैं जब तक md-select पर क्लिक नहीं किया गया है। तो "सुरुचिपूर्ण" तरीका हमारे लिए काम नहीं करता था (कोणीय सामग्री पर ध्यान दें!) इसके बजाय हमने इसके लिए क्या किया, यह नहीं जानते कि क्या इसका सबसे अच्छा तरीका है, लेकिन अब निश्चित रूप से काम कर रहा है

element.all(by.css('md-select')).each(function (eachElement, index) {
    eachElement.click();                    // select the <select>
    browser.driver.sleep(500);              // wait for the renderings to take effect
    element(by.css('md-option')).click();   // select the first md-option
    browser.driver.sleep(500);              // wait for the renderings to take effect
});

हमें 4 चयन करने की आवश्यकता है और जब चयन खुला हो, तो अगले चयन का चयन करने के तरीके में एक ओवरले होता है। यही कारण है कि हमें यह सुनिश्चित करने के लिए कि हमें अभी भी कार्रवाई में होने वाले भौतिक प्रभावों से परेशानी में नहीं पड़ना है, 500 मी का इंतजार करने की आवश्यकता है।


0

विकल्प तत्व सेट करने का दूसरा तरीका:

var setOption = function(optionToSelect) {

    var select = element(by.id('locregion'));
    select.click();
    select.all(by.tagName('option')).filter(function(elem, index) {
        return elem.getText().then(function(text) {
            return text === optionToSelect;
        });
    }).then(function(filteredElements){
        filteredElements[0].click();
    });
};

// using the function
setOption('BeaverBox Testing');

0
----------
element.all(by.id('locregion')).then(function(Item)
{
 // Item[x] = > // x is [0,1,2,3]element you want to click
  Item[0].click(); //first item

  Item[3].click();     // fourth item
  expect(Item[0].getText()).toEqual('Ranjans Mobile Testing')


});


0

विकल्प मान या इंडेक्स के अनुसार इसे कैसे करें । यह उदाहरण थोड़ा कच्चा है, लेकिन यह दर्शाता है कि आपको क्या करना है:

एचटीएमएल:

<mat-form-field id="your-id">
    <mat-select>
        <mat-option [value]="1">1</mat-option>
        <mat-option [value]="2">2</mat-option>
    </mat-select>
</mat-form-field>

ts:

function selectOptionByOptionValue(selectFormFieldElementId, valueToFind) {

  const formField = element(by.id(selectFormFieldElementId));
  formField.click().then(() => {

    formField.element(by.tagName('mat-select'))
      .getAttribute('aria-owns').then((optionIdsString: string) => {
        const optionIds = optionIdsString.split(' ');    

        for (let optionId of optionIds) {
          const option = element(by.id(optionId));
          option.getText().then((text) => {
            if (text === valueToFind) {
              option.click();
            }
          });
        }
      });
  });
}

function selectOptionByOptionIndex(selectFormFieldElementId, index) {

  const formField = element(by.id(selectFormFieldElementId));
  formField.click().then(() => {

    formField.element(by.tagName('mat-select'))
      .getAttribute('aria-owns').then((optionIdsString: string) => {
        const optionIds = optionIdsString.split(' ');

        const optionId = optionIds[index];
        const option = element(by.id(optionId));
        option.click();
      });
  });
}

selectOptionByOptionValue('your-id', '1'); //selects first option
selectOptionByOptionIndex('your-id', 1); //selects second option

0
static selectDropdownValue(dropDownLocator,dropDownListLocator,dropDownValue){
    let ListVal ='';
    WebLibraryUtils.getElement('xpath',dropDownLocator).click()
      WebLibraryUtils.getElements('xpath',dropDownListLocator).then(function(selectItem){
        if(selectItem.length>0)
        {
            for( let i =0;i<=selectItem.length;i++)
               {
                   if(selectItem[i]==dropDownValue)
                   {
                       console.log(selectItem[i])
                       selectItem[i].click();
                   }
               }            
        }

    })

}

0

हम इसके लिए एक कस्टम ड्रॉपडाउन क्लास बना सकते हैं और एक विधि जोड़ सकते हैं:

async selectSingleValue(value: string) {
        await this.element.element(by.xpath('.//option[normalize-space(.)=\'' + value + '\']')).click();
    }

इसके अलावा, यह सत्यापित करने के लिए कि वर्तमान में क्या मूल्य चुना गया है, हमारे पास हो सकता है:

async getSelectedValues() {
        return await this.element.$('option:checked').getText();
    }

0

नीचे दिया गया उदाहरण सबसे आसान तरीका है। मैंने प्रोट्रैक्टर संस्करण में परीक्षण और उत्तीर्ण किया है5.4.2

//Drop down selection  using option's visibility text 

 element(by.model('currency')).element(by.css("[value='Dollar']")).click();
 Or use this, it   $ isshort form for  .By.css
  element(by.model('currency')).$('[value="Dollar"]').click();

//To select using index

var select = element(by.id('userSelect'));
select.$('[value="1"]').click(); // To select using the index .$ means a shortcut to .By.css

पूर्ण कोड

describe('Protractor Demo App', function() {

  it('should have a title', function() {

     browser.driver.get('http://www.way2automation.com/angularjs-protractor/banking/#/');
    expect(browser.getTitle()).toEqual('Protractor practice website - Banking App');
    element(by.buttonText('Bank Manager Login')).click();
    element(by.buttonText('Open Account')).click();

    //Drop down selection  using option's visibility text 
  element(by.model('currency')).element(by.css("[value='Dollar']")).click();

    //This is a short form. $ in short form for  .By.css
    // element(by.model('currency')).$('[value="Dollar"]').click();

    //To select using index
    var select = element(by.id('userSelect'));
    select.$('[value="1"]').click(); // To select using the index .$ means a shortcut to .By.css
    element(by.buttonText("Process")).click();
    browser.sleep(7500);// wait in miliseconds
    browser.switchTo().alert().accept();

  });
});

0

यह एक सरल एक पंक्ति का उत्तर है जिसमें कोणीय के पास विशेष लोकेटर है जो सूची से चयन और सूचकांक करने में मदद कर सकता है।

element.all(by.options('o.id as o.name for o in organizations')).get(Index).click()

हालांकि यह कोड प्रश्न को हल कर सकता है, जिसमें यह भी बताया गया है कि यह समस्या कैसे और क्यों हल करती है, इससे वास्तव में आपके पोस्ट की गुणवत्ता को बेहतर बनाने में मदद मिलेगी, और संभवत: अधिक वोट मिले। याद रखें कि आप भविष्य में पाठकों के लिए सवाल का जवाब दे रहे हैं, न कि केवल उस व्यक्ति से जो अब पूछ रहा है। कृपया स्पष्टीकरण जोड़ने के लिए अपने उत्तर को संपादित करें और संकेत दें कि क्या सीमाएँ और मान्यताएँ लागू होती हैं। समीक्षा से
डबल-बीप

-1

CSS गुण द्वारा विकल्प का चयन करें

element(by.model("organization.parent_id")).element(by.css("[value='1']")).click();

या

element(by.css("#locregion")).element(by.css("[value='1']")).click();

जहाँ locregion (id), organ.parent_id (मॉडल नाम) चुनिंदा तत्व के गुण हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.