मेरा पेज ऑब्जेक्ट संरचित है ताकि मेरे पास किसी ऑब्जेक्ट में सभी तत्व हों और फिर ऑब्जेक्ट्स की एक सरणी जिसमें फ़ील्ड के बारे में डेटा हो, जिसे अधिकतम चार लंबाई और त्रुटि ग्रंथों का परीक्षण करने के लिए लूप किया जा सकता है।

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

उदाहरण के तौर पर पेज ऑब्जेक्ट से स्निपेट...

module.exports = {
    siteName: element(by.id('P662_NAME')),
    fields: [
        {
            name: 'site name',
            max: 45,
            locator: element(by.id('P662_NAME'))
        }
    ]
}

मैंने बिना किसी किस्मत के निम्नलिखित का उपयोग करने का प्रयास किया है ...

this.siteName, this.siteName, module.exports.siteName

क्या इसे करने का कोई तरीका है?

2
jm2025 27 फरवरी 2020, 15:44
क्या यह नितांत आवश्यक है कि लोकेटर फील्ड ऑब्जेक्ट्स के बाहर स्वयं उपलब्ध हो?
 – 
DublinDev
27 फरवरी 2020, 16:38

3 जवाब

आपका निर्यात बहुत अच्छा लग रहा है। इसे सही ढंग से आयात करें।

enter image description here

0
Bharath Kumar S 27 फरवरी 2020, 16:39

आप क्या कर सकते हैं siteName को एक अन्य चर के रूप में सेट करें और संदर्भ दें कि आपके fields ऑब्जेक्ट में इस तरह:

let siteName = "foo"; // now, updating this variable will also update the one in fields

let fields = [{
  // other props
  locator: siteName
}];

console.log(fields[0].locator); // expects "foo"

// module.exports = { siteName, fields };
0
Luke 27 फरवरी 2020, 19:25

इसे इस्तेमाल करे : इस तरह की फाइल से एक्सपोर्ट करें

सैंडबॉक्स: https://codesandbox.io/s/compassionate-bas-fg1c2

var siteName = "dsdsd";
var fields = [
  {
    name: "site name",
    max: 45,
    locator: "dsdsd"
  }
];
module.exports = {
  siteName,
  fields
};;

इसे इस तरह आयात करें:

import { siteName } from "./test.js";
console.log(siteName);
0
joy08 28 फरवरी 2020, 12:02