ዝርዝር ሁኔታ:

የድር አሽከርካሪ IO መማሪያ የቀጥታ ድር ጣቢያ እና የሥራ ምሳሌዎችን በመጠቀም - 8 ደረጃዎች
የድር አሽከርካሪ IO መማሪያ የቀጥታ ድር ጣቢያ እና የሥራ ምሳሌዎችን በመጠቀም - 8 ደረጃዎች

ቪዲዮ: የድር አሽከርካሪ IO መማሪያ የቀጥታ ድር ጣቢያ እና የሥራ ምሳሌዎችን በመጠቀም - 8 ደረጃዎች

ቪዲዮ: የድር አሽከርካሪ IO መማሪያ የቀጥታ ድር ጣቢያ እና የሥራ ምሳሌዎችን በመጠቀም - 8 ደረጃዎች
ቪዲዮ: 4 ነፃ የ AI ድር ጣቢያ ገንቢ: አሁን ሁሉም ሰው ድር ጣቢያ መፍጠር ይችላል! 2024, ሀምሌ
Anonim
የድር ነጂ IO አጋዥ ስልጠና የቀጥታ ድር ጣቢያ እና የሥራ ምሳሌዎችን በመጠቀም
የድር ነጂ IO አጋዥ ስልጠና የቀጥታ ድር ጣቢያ እና የሥራ ምሳሌዎችን በመጠቀም

የድር ነጂ IO አጋዥ ስልጠና የቀጥታ ድር ጣቢያ እና የሥራ ምሳሌዎችን በመጠቀም

የመጨረሻው ዝመና - 2015-26-07

(ይህንን ዝርዝሮች በበለጠ ዝርዝር እና ምሳሌዎች ስዘምን ብዙ ጊዜ ተመልሰው ይመልከቱ)

ዳራ

በቅርቡ አንድ አስደሳች ፈተና ቀረበልኝ። በጣም ትንሽ የቴክኒክ ተሞክሮ እና የፕሮግራም ዳራ ለሌለው የጥ/ሀ ክፍል አውቶማቲክ ሙከራ ማስተዋወቅ ነበረብኝ።

ይህ በእርግጥ ሁለት (2) የተለያዩ ተግዳሮቶች ነበሩ። የመጀመሪያው አውቶማቲክ ሙከራን ለማከናወን ቴክኖሎጂዎችን መለየት ነበር። ሁለተኛው የጥ/ሀ ክፍልን ማሠልጠን ነበር።

ጽሑፉ ያገለገሉትን ቴክኖሎጂዎች እና በሂደቱ ውስጥ የተማርኩትን ብቻ ይመለከታል።

ቴክኖሎጂዎቹ በደንብ ሠርተዋል ፣ ግን እኔ በእርግጥ መረጃን መፈለግ ነበረብኝ እና ጉዳዮችን ለማወቅ ብዙ ሰዓታት አሳለፍኩ።

ስለ እነዚህ ቴክኖሎጂዎች ሁሉም በአንድ ላይ ስለሚሠሩ በበይነመረብ ላይ መረጃ ለማግኘት ተቸገርኩ።

ይህንን መረጃ ማጋራት ፈልጌ ነበር ፣ ስለዚህ ጽሑፉን ከሥራ ምሳሌ የሙከራ ስክሪፕቶች እና የሙከራ ድር ጣቢያ ጋር ስክሪፕቶቹን ለማስኬድ ፃፍኩ።

ሁሉም የሙከራ ስክሪፕቶች በ github ላይ ሊገኙ ይችላሉ እና የሥራ የሙከራ ጣቢያው በድር ሾፌር IO የማጠናከሪያ ፈተና ጣቢያ ላይ ይገኛል

ጠቃሚ ሆኖ እንደሚያገኙት ተስፋ አደርጋለሁ። ካደረጉ እባክዎን ያሳውቁኝ።

ዓላማዎች ቴክኖሎጂዎችን ይጠቀሙ ለ

  • የድር ጣቢያ ተግባርን ይፈትሹ
  • የጃቫስክሪፕት ተግባርን ይፈትሹ
  • በእጅ ሊሠራ ይችላል
  • በራስ -ሰር ሊሠራ ይችላል
  • ለፕሮግራም ላልሆኑ ሰዎች ቋንቋን ለመማር ቀላል

    የኤችቲኤምኤል እና የጃቫስክሪፕት መሠረታዊ ዕውቀት ያለው ጥ/ሠራተኛ

  • ክፍት ምንጭ ሶፍትዌርን ብቻ ይጠቀሙ

ቴክኖሎጂዎች

እኔ የምመርጣቸው ቴክኖሎጂዎች ዝርዝር

  • ሞካ - የሙከራ ሯጭ - የሙከራ ስክሪፕቶችን ያካሂዳል
  • shouldjs - ማረጋገጫ ቤተ -መጽሐፍት
  • webdriverio - የአሳሽ መቆጣጠሪያ ማሰሪያዎች (የቋንቋ ማሰሪያዎች)
  • ሴሊኒየም - የአሳሽ ረቂቅ እና ሩጫ ፋብሪካ
  • አሳሽ/ተንቀሳቃሽ አሽከርካሪዎች + አሳሾች

    • ፋየርፎክስ (አሳሽ ብቻ)
    • Chrome (አሳሽ እና ነጂ)
    • IE (አሳሽ እና ነጂ)
    • ሳፋሪ (አሳሽ እና ሾፌር ተሰኪ)

ደረጃ 1 የሶፍትዌር ጭነት

ለመጀመር መስቀለኛ መንገድ JS ፣ የድር ሾፌር አይኦ ፣ ሞቻ ፣ ኢት እና ሴሌኒየም ብቻቸውን አገልጋይ እንዲጫኑ ማድረግ አለብዎት።

ለዊንዶውስ 7 የመጫኛ መመሪያዎች እዚህ አሉ።

(እኔ የማክ/ሊነክስ ተጠቃሚ ነኝ ነገር ግን ሁሉንም ነገር በዊንዶውስ 7 ማሽኖች ላይ መጫን ነበረብኝ ፣ ለዚህ ነው ለማጣቀሻዎ ያካተትኩት። በማክ/ሊኑክስ ላይ የመጫን ሂደቱ ተመሳሳይ ነው። እባክዎን ለተጨማሪ የመስመር ላይ ማጣቀሻዎችን ያማክሩ። መረጃ።)

ከአሳሽ ፦

  • NPM ን (የመስቀለኛ ጥቅል አስተዳዳሪን) ያካተተ መስቀልን ይጫኑ
  • ወደ https://nodejs.org/ ይሂዱ

    • ጫን ጠቅ ያድርጉ
    • ፋይል ያስቀምጡ እና ያሂዱ
    • ዱካውን እና ተለዋዋጭውን ያዘጋጁ (NODE_PATH)
    • ወደ የቁጥጥር ፓነል-> ስርዓት እና ደህንነት-> ስርዓት ይሂዱ

      • የላቁ የስርዓት ቅንብሮች
      • የአካባቢ አቀማመጥ (የተጠቃሚ ተለዋዋጮች)

        • ወደ PATH ያክሉ

          ሐ: / ተጠቃሚዎች {USERNAME} AppData / Roaming / npm;

        • NODE_PATH (የስርዓት ተለዋዋጮች) ያክሉ

          ሐ ፦ / ተጠቃሚዎች {USERNAME} AppData / roaming / npm / node_modules

ማሳሰቢያ: የ npm ዓለም አቀፍ አማራጭ (-g) ን በመጠቀም ሁሉንም ሶፍትዌሮች ከዚህ በታች ጫንኩ። ይህ በተለምዶ አይመከርም ነገር ግን ለዚህ መጫኛ በበርካታ ፕሮጀክቶች ላይ ጥቅም ላይ ስለሚውል በዓለም አቀፍ ደረጃ መጫን ነበረብኝ።

የትእዛዝ ጥያቄን ይክፈቱ (cmd):

(የአከባቢ ተጠቃሚ አስተዳዳሪ)

  • ሴሊኒየም "የድር ነጂ IO" ን ይጫኑ

    • npm webdriverio -g ን ይጫኑ

      ይህ በዓለም ላይ የድር ሾፌር IO ን በእርስዎ ማሽን ላይ ይጭናል

  • የ “ሞቻ” የሙከራ ሯጭ ሶፍትዌርን ይጫኑ

    • npm mocha -g ን ይጫኑ

      ይህ በአለምአቀፍ ማሽንዎ ላይ ሞካ ይጭናል

  • “ይገባል” የሚለውን ማረጋገጫ ቤተ -መጽሐፍት ይጫኑ

    • npm መጫን አለበት -g

      ይህ በማሽንዎ ላይ በዓለም አቀፍ ደረጃ “አለበት” ን ይጭናል

  • Selenium Stand Alone Server ን ይጫኑ

    • ወደ https://www.seleniumhq.org/download/ ይሂዱ
    • የጃር ፋይልን ያውርዱ እና ወደ “ሴሊኒየም” ማውጫ ይሂዱ።
  • ለመሞከር አሳሾችን እና የአሳሽ ነጂዎችን ይጫኑ

    • ከ cmd መጠየቂያ:

      • “ሴሊኒየም” ማውጫ ይፍጠሩ
      • ሐ ፦ / ተጠቃሚዎች {USERNAME} selenium
      • ትዕዛዞች

        • ሲዲ ሲ ፦ / ተጠቃሚዎች {USERNAME}
        • mkdir ሴሊኒየም
      • ፋየርፎክስ

        • አስቀድሞ ካልተጫነ የ firefox አሳሽ ይጫኑ።
        • ፋየርፎክስን ከትዕዛዝ መጠየቂያ (cmd) ለመጀመር መንገዱ መዘጋጀት አለበት።
        • የቁጥጥር ፓነል-> ስርዓት እና ደህንነት-> ስርዓት

          • የላቁ የስርዓት ቅንብሮች
          • የአካባቢ ቅንብሮች
          • ወደ መንገድ ተለዋዋጭ (አክል ከፊል-ኮሎን ይጠቀሙ)
          • ሐ: / የፕሮግራም ፋይሎች (x86) ሞዚላ ፋየርፎክስ
        • ለፋየርፎክስ ምንም ልዩ የድር ነጂ አያስፈልግም።
      • Chrome

        • አስቀድሞ ካልተጫነ የ chrome አሳሽ ይጫኑ።
        • Chrome ን ከትእዛዝ መጠየቂያ (cmd) ለመጀመር መንገዱ ሊዘጋጅ ይችላል።
        • መጀመሪያ ሙከራ ያድርጉ - chrome.exe ከትዕዛዝ መጠየቂያ (cmd)
        • Chrome ካልጀመረ ከዚያ ፦
        • የቁጥጥር ፓነል-> ስርዓት እና ደህንነት-> ስርዓት

          • የላቁ የስርዓት ቅንብሮች
          • የአካባቢ ቅንብሮች
          • ወደ መንገድ ተለዋዋጭ (አክል ከፊል-ኮሎን ይጠቀሙ)
          • C: / የፕሮግራም ፋይሎች (x86) ጉግል / Chrome / ትግበራ / chrome.exe
        • ለ Chrome ልዩ የድር ነጂ ያስፈልጋል።

          ወደ chromium.org ይሂዱ እና የ 32 ቢት ነጂውን ወደ “ሴሊኒየም” ማውጫ ይክፈቱ።

      • ኢንተርኔት ኤክስፕሎረር (ለዊንዶውስ ብቻ - በሌሎች የመሣሪያ ስርዓቶች ላይ አይሰራም)

        • ለ IE ልዩ የድር ነጂ ያስፈልጋል።

          • ወደ https://www.seleniumhq.org/download/ ይሂዱ
          • 64 ቢት ነጂን ወደ “ሴሊኒየም” ማውጫ ያውርዱ እና ይንቀሉት።

ደረጃ 2 መሠረታዊ የሙከራ ስክሪፕት

በአንዳንድ መሠረታዊ ነገሮች እንጀምር።

ድር ጣቢያ የሚከፍት እና ርዕሱን የሚያረጋግጥ ቀላል የሞካ ስክሪፕት እዚህ አለ።

// አጋዥ ሥልጠና 1

// // ይህ ድር ጣቢያ ለመክፈት እና/ ትክክለኛ ርዕስ ለማረጋገጥ ቀላል የሙከራ ስክሪፕት ነው። // አስፈላጊ ቤተ -መጻህፍት var webdriverio = ያስፈልጋል ('webdriverio') ፣ \u003d ያስፈልጋል ('አለበት') ፤ // የሙከራ ስክሪፕት ማገጃ ወይም ስብስብ መግለጫ ('የርዕስ ሙከራ ለድር ሾፌር አይኦ - የማጠናከሪያ ፈተና ገጽ ድር ጣቢያ' ፣ ተግባር () {// የጊዜ ገደብን ወደ 10 ሰከንዶች ያዘጋጁ። በዚህ ጊዜ (10000) ፤ var ሾፌር = {}; // ከመፈተሽ በፊት ለማካሄድ መንጠቆ (ተግባር (ተከናውኗል) {// ሾፌሩን ለአሳሽ ነጂ = webdriverio.remote ({የሚፈለገው አቅም ፦ {browserName: 'firefox'}}) ፤ driver.init (ተከናውኗል) ፤}); //; የሙከራ ዝርዝር - “ዝርዝር” እሱ ('ትክክለኛ ገጽ እና ርዕስ መጫን አለበት' ፣ ተግባር () {// የመጫኛ ገጽ ፣ ከዚያ የጥሪ ተግባር () ተመለስ ነጂ.url ('https://www.tlkeith.com/WebDriverIOTutorialTest.html ') // ርዕስ ያግኙ ፣ ከዚያ ርዕሱን ወደ ተግባር ().getTitle () ያስተላልፉ። ከዚያ (ተግባር (ርዕስ) {// ርዕስ (ርዕስ) ያረጋግጡ። ለኮንሶል ማረም // ኮንሶል ማረም // ኮንሶልሎግ ('የአሁኑ የገጽ ርዕስ ፦' + ርዕስ) ፤});}); // አንድ "መንጠቆ" በዚህ ብሎክ ውስጥ ያሉትን ሁሉንም ፈተናዎች በኋላ (ተግባር (ተከናውኗል)) {driver.end (ተከናውኗል);});});

ምልከታዎች ፦

  • በመጀመሪያ የሙከራ ስክሪፕቱ በ JAVASCRIPT ውስጥ እንደተፃፈ ማስተዋል አለብዎት (በ.js ቅጥያ ያበቃል)።
  • ለሁሉም የሙከራ ስክሪፕቶች መሠረታዊው መዋቅር ከሞላ ጎደል ተመሳሳይ ነው።

    • የራስጌ አስተያየቶች (//)
    • ተፈላጊ ቤተ -መጻሕፍት
    • አማራጮችን ያዘጋጁ (ከተፈለገ)
    • መንጠቆ: የአሳሽ ሾፌር ጫን
    • የሙከራ Suite (ይግለጹ)
    • የሙከራ ዝርዝሮች (በአንድ ስብስብ ውስጥ ብዙ ዝርዝሮች ሊሆኑ ይችላሉ)
    • መንጠቆ: ማጽዳት
  • የሙከራው ስብስብ የሚጀምረው ሁለት መመዘኛዎችን በሚወስድ የመግለጫ ተግባር ነው-

    • ሕብረቁምፊ - የሙከራ ስብስብ መግለጫ

      • “ትክክለኛ ቃላትን ለማግኘት ገጹን ይፈትሹ”
      • “የሬዲዮ አዝራር ሥራዎችን ያረጋግጡ”
    • ተግባር - ለመተግበር የኮድ ማገጃ

      መግለፅ ('የሙከራ ስብስብ መግለጫ' ፣ ተግባር () {});

  • የሙከራው ስብስብ 1 ወይም ከዚያ በላይ የሙከራ ዝርዝር (ዝርዝር) ይይዛል
  • ዝርዝሮች ሁለት መለኪያዎች በሚወስድበት ተግባር ይጀምራሉ።

    • ሕብረቁምፊ - የሙከራ ዝርዝር መግለጫ

      • “ትክክለኛ የአገናኝ ጽሑፍ መሆን እና ዩአርኤል ማገናኘት አለበት”
      • “ትክክለኛ ቃላትን መያዝ አለበት (የመገለጫ ሰሌዳ)
    • ተግባር - ለመተግበር የኮድ ማገጃ
    • እሱ ('የሙከራ ዝርዝር መግለጫ' ፣ ተግባር () {});
  • አንድ መግለጫ የኮዱን ሁኔታ የሚፈትሹ አንድ ወይም ከዚያ በላይ የሚጠበቁ ነገሮችን ይ containsል
  • እነዚህ ማረጋገጫዎች ተብለው ይጠራሉ

    “አለበት” ቤተ -መጽሐፍት ማረጋገጫዎችን ይሰጣል

  • በሁሉም ሁኔታዎች ማለት ይቻላል ፣ አንድ መራጭ በመጠቀም አንድ ወይም ከዚያ በላይ አካላትን ማግኘት ያስፈልግዎታል ከዚያም በኤለመንቱ (ዎች) ላይ አንዳንድ ክዋኔዎችን ያከናውኑ

    • ምሳሌዎች

      • በአንድ ገጽ ላይ ጽሑፍ ይፈልጉ እና ጽሑፉን ያረጋግጡ
      • አንድ ቅጽ ሞልተው ያስገቡ
      • የአንድ ንጥረ ነገር CSS ን ያረጋግጡ

በአስተያየቶች ምሳሌውን በጥልቀት እንመልከታቸው።

የሚያስፈልጉትን ቤተ -ፍርግሞች ይጫኑ -የድር ነጂ IO እና አለበት።

// አስፈላጊ ቤተ -መጻሕፍት

var webdriverio = ጠይቅ ('webdriverio') ፣ \u003d ያስፈልጋል ('አለበት') ፤

የሙከራውን ስብስብ ይግለጹ። ይህ ስብስብ “የርዕስ ሙከራ ለድር ሾፌር አይኦ - የማጠናከሪያ ፈተና ገጽ ድር ጣቢያ” ይባላል።

// የሙከራ ስክሪፕት ማገጃ ወይም ስብስብ

መግለፅ ('የርዕስ ሙከራ ለድር ሾፌር አይኦ - የማጠናከሪያ ፈተና ገጽ ድር ጣቢያ' ፣ ተግባር () {…});

ገጹን በሚጭኑበት ጊዜ ስክሪፕቱ ጊዜ እንዳያጠፋ የእረፍት ጊዜውን ወደ 10 ሰከንዶች ያቀናብሩ።

// የእረፍት ጊዜን ወደ 10 ሰከንዶች ያዘጋጁ

ይህ። የእረፍት ጊዜ (10000);

ዝርዝር መግለጫዎችን “ዝርዝሮች” ከማካሄድዎ በፊት የአሳሽ ነጂውን ለመጫን መንጠቆ። በዚህ ምሳሌ ውስጥ የፋየርፎክስ ነጂው ተጭኗል።

// ከፈተናዎች በፊት ለማሄድ መንጠቆ

በፊት (ተግባር (ተከናውኗል) {// ሾፌሩን ለአሳሽ ነጂ = webdriverio.remote ({የሚፈለጉት ችሎታዎች ፦ {browserName: 'firefox'}})) ፤ driver.init (ተከናውኗል) ፤});

የሙከራ ዝርዝሩን ይግለጹ።

// የሙከራ ዝርዝር - “ዝርዝር”

እሱ ('ትክክለኛ ገጽ እና ርዕስ መጫን አለበት' ፣ ተግባር () {…}) ፤

የድር ጣቢያውን ገጽ ይጫኑ

.url ('https://www.tlkeith.com/WebDriverIOTutorialTest.html')

ርዕስ ያግኙ ፣ ከዚያ ርዕስን ወደ ተግባር ያስተላልፉ ()

.getTitle ()። ከዚያ (ተግባር (ርዕስ) {

… });

የሚገባውን ማረጋገጫ ቤተ -መጽሐፍትን በመጠቀም ርዕሱን ያረጋግጡ።

(ርዕስ).should.be.equal ("የድር ነጂ IO - የማጠናከሪያ ፈተና ገጽ");

መንጠቆውን ለማቆም እና ሲጨርስ ሾፌሩን ለማፅዳት መንጠቆ።

በዚህ ብሎክ ውስጥ ያሉትን ሁሉንም ሙከራዎች ለማካሄድ “መንጠቆ”

በኋላ (ተግባር (ተከናውኗል) {driver.end (ተከናውኗል);});

ደረጃ 3 የሙከራ ስክሪፕቱን ያሂዱ

የሙከራ ስክሪፕቱን ያሂዱ
የሙከራ ስክሪፕቱን ያሂዱ
የሙከራ ስክሪፕቱን ያሂዱ
የሙከራ ስክሪፕቱን ያሂዱ

አሁን የሙከራ ስክሪፕቱ ሲሮጥ ምን እንደሚሰራ እንመልከት።

መጀመሪያ የሴሊኒየም ብቸኛ አገልጋይ ይጀምሩ

  • ለዊንዶውስ የትእዛዝ መስመር (cmd) ይጠቀሙ -

    • ጃቫ -ጃር
    • # java -jar ሴሊኒየም-አገልጋይ-ራሱን የቻለ-2.46.0.jar
  • ለማክ ወይም ሊኑክስ ክፍት ተርሚናል

    • ጃቫ -ጃር
    • $ java -jar ሴሊኒየም-አገልጋይ-ራሱን የቻለ-2.46.0.jar
  • ከላይ ቅጽበታዊ ገጽ እይታን ይመልከቱ

ቀጥሎ የሙከራ ስክሪፕቱን ያሂዱ

  • ለዊንዶውስ የትእዛዝ መስመር (cmd) ይጠቀሙ -

    • ሞካ
    • # mocha tutorial1.js
  • ለማክ ወይም ሊኑክስ ክፍት ተርሚናል

    • ሞካ
    • $ mocha tutorial.js
  • ከላይ ቅጽበታዊ ገጽ እይታን ይመልከቱ

ታዲያ ምን ሆነ?

ሞቻ ስክሪፕቱን “መማሪያ 1. js” ን ይጠራል። ሾፌሩ አሳሹን (ፋየርፎክስን) ጀመረ ፣ ገጹን ጭኖ ርዕሱን አረጋገጠ።

ደረጃ 4 - ምሳሌ የድር ጣቢያ

ምሳሌ ድር ጣቢያ
ምሳሌ ድር ጣቢያ

ሁሉም ምሳሌዎች በዚህ ጣቢያ ላይ ይሰራሉ።

ምሳሌው ድር ጣቢያ የሚገኘው በ: የድር ሾፌር IO የማጠናከሪያ ፈተና ገጽ

ሁሉም የሙከራ ስክሪፕቶች ከ github ማውረድ ይችላሉ።

ደረጃ 5 የተወሰኑ ምሳሌዎች

ሁሉም ኮድ በ github ላይ ይገኛል - የድር ነጂ IO አጋዥ ስልጠና በ github ላይ

  • ባልተዘረዘረ ዝርዝር ውስጥ አገናኙን ያረጋግጡ እና ጽሑፍን ያገናኙ - “linkTextURL1.js”

    • ያልታዘዘው ዝርዝር አለው እና አገናኙ 4 ኛ ዝርዝር ንጥል ነው።
    • ዩአርኤሉ "https://tlkeith.com/contact.html" መሆን አለበት

// እኛን ያነጋግሩን የአገናኝ ጽሑፍ

እሱ ('የእውቂያ አገናኝ ጽሑፍን መያዝ አለበት' ፣ ተግባር () {ተመለስ ነጂ.getText ("// ul [@id = 'mylist']/li [4]/a"))። ከዚያ (ተግባር (አገናኝ) {ኮንሶል.log ('አገናኝ ተገኝቷል' + አገናኝ) ፤ (አገናኝ).should.equal ("ያግኙን");});}); // እኛን ያነጋግሩን ዩአርኤል እሱን ('የእውቂያ ዩአርኤል መያዝ አለበት' ፣ ተግባር () {return driver.getAttribute ("// ul [@id = 'mylist']/li [4]/a", "href").ከዚያ (ተግባር (አገናኝ) {(አገናኝ).should.equal ("https://tlkeith.com/contact.html"); console.log ('ዩአርኤል ተገኝቷል' + አገናኝ) ፤});});

  • የቅጂ መብት ጽሑፍን ያረጋግጡ - "Copyright1.js"

    • ይህ ምሳሌ የቅጂ መብት ጽሑፉን ለማግኘት 2 የተለያዩ መንገዶችን ያሳያል-

      • እንደ ኤለመንት መራጭ
      • xpath ን እንደ ኤለመንት መራጭ በመጠቀም

// መታወቂያ እንደ አባል መራጭ በመጠቀም የቅጂ መብት ጽሑፍን ያረጋግጡ

እሱ ('የቅጂ መብት ጽሑፍ መያዝ አለበት' ፣ ተግባር () {መመለስ ነጂ.getText ("#የቅጂ መብት")። ከዚያ (ተግባር (አገናኝ) {console.log ('የቅጂ መብት ተገኝቷል' + አገናኝ) ፤ እኩል ("ቶኒ ኪት - tlkeith.com @ 2015 - ሁሉም መብቶች የተጠበቁ ናቸው።");});}); // Xpath ን እንደ ኤለመንት መራጭ በመጠቀም የቅጂ መብት ጽሑፍን ያረጋግጡ ('የቅጂ መብት ጽሑፍ መያዝ አለበት' ፣ ተግባር () ተመለስ ነጂ.getText ("// ግርጌ/ማዕከል/ገጽ")። ከዚያ (ተግባር (አገናኝ) {console.log ('የቅጂ መብት ተገኝቷል' + አገናኝ); (አገናኝ).should.equal ("ቶኒ ኪት - tlkeith.com @ 2015 - ሁሉም መብቶች የተጠበቁ ናቸው"

  • የቅጾችን መስኮች ያውጡ እና ያስገቡ - "formFillSubmit1.js"

    • የመጀመሪያውን ስም ፣ የአያት ስም ይሙሉ እና ያስገቡ ፣ ከዚያ ውጤቶችን ይጠብቁ።
    • ይህ ምሳሌ የመጀመሪያውን ስም የግብዓት መስክ ለመሙላት 3 ዘዴዎችን ያሳያል-

      • በመታወቂያ
      • ከግቤት በ xpath
      • በ xpath ከቅጽ-> ግብዓት
    • እንዲሁም የግቤት መስክን እንዴት ማፅዳት እንደሚቻል ያሳያል

// መታወቂያ በመጠቀም የመጀመሪያውን ስም ያዘጋጁ - ቶኒ

እሱ ('የመጀመሪያ ስም ለቶኒ ማዘጋጀት አለበት' ፣ ተግባር () {return driver.setValue ("#fname" ፣ "Tony").getValue ("#fname")። ከዚያ (function (e) {(e).should.በእኩል ("ቶኒ") ፤ console.log ("የመጀመሪያ ስም" + e) ፤});}); // መታወቂያውን በመጠቀም የመጀመሪያውን ስም ያጽዱ ('የመጀመሪያ ስም ማጽዳት አለበት' ፣ ተግባር () {return driver.clearElement ("#fname").getValue ("#fname")። ከዚያ (ተግባር (ሠ) {(e).should.be.equal (""); console.log ("የመጀመሪያ ስም" + e);});}) // xpath ን ከግብዓት ወደ መጀመሪያው ስም ያዋቅሩ - ቶኒ it ('የመጀመሪያ ስም ወደ ቶኒ ማዘጋጀት አለበት' ፣ ተግባር () ተመለስ driver.setValue ("// ግቤት [@ስም = 'fname']" ፣ "ቶኒ")).getValue ("// ግብዓት [@name = 'fname']")። ከዚያ (ተግባር (ሠ) {(ሠ).should.be.equal ("ቶኒ") ፤ console.log ("የመጀመሪያ ስም ፦" + ሠ);});}); // xpath ን በመጠቀም የመጀመሪያውን ስም ከግቤት ያጽዱ ('የመጀመሪያ ስም ማጽዳት አለበት' ፣ ተግባር () {return driver.clearElement ("// input [@name = 'fname']").getValue ("// ግብዓት [@name = 'fname'] ").ከዚያ (ተግባር (ሠ) {(e).should.be.equal (" "); console.log (" የመጀመሪያ ስም " + e);}); // xpath ን ከቅጽ ወደ መጀመሪያው ስም ያዋቅሩ-ቶኒ እሱ ('የመጀመሪያ ስም ወደ ቶኒ ማዘጋጀት አለበት' ፣ ተግባር () ተመለስ driver.setValue ("// ቅጽ [@id = 'search-form']/ግብዓት [1] "፣" ቶኒ ").getValue (" // form [@id = 'search-form']/input [1] "). Then (function (e) {(e).should.be.equal ("ቶኒ"); console.log ("የመጀመሪያ ስም" + e);});}); // መታወቂያውን በመጠቀም የመጨረሻውን ስም ያዘጋጁት - ኪት እሱን ('የአያት ስም ወደ ኪት ማዘጋጀት አለበት' ፣ ተግባር () {return driver.setValue ("#lname" ፣ "Keith").getValue ("#lname"). (ተግባር (ሠ) {(ሠ).should.be.equal ("Keith"); console.log ("የአያት ስም" + e);});});}); // ቅጹን ያስገቡ እና የፍለጋ ውጤቶችን ይጠብቁ ('ቅጽ ማስገባት እና ውጤቶችን መጠበቅ አለበት' ፣ ተግባር () {return driver.submitForm ("#search-form"))። ከዚያ (ተግባር (ሠ) {console.log (' የፍለጋ ቅጽን ያቅርቡ ');}).waitForVisible ("#የፍለጋ ውጤቶች" ፣ 10000) ።ከዚያ (ተግባር (ሠ) {console.log (' የፍለጋ ውጤቶች ተገኝተዋል ') ፤});});

  • አዝራሩን አሳይ/ደብቅ እና ጽሑፍ አረጋግጥ - “showHideVerify1.js” ን ጠቅ ያድርጉ።

    • ጽሑፉ በትዕይንት/ደብቅ አካል ውስጥ ነው። አዝራሩ ግዛቱን ይቆጣጠራል።
    • ይህ ምሳሌ የሚያሳየው -

      • ለማስፋት አዝራሩን ጠቅ ያድርጉ
      • ኤለመንቱ እስኪታይ ይጠብቁ (ይስፋፋል)
      • ጽሑፍን ያረጋግጡ (የመርከቧ ቅጂ)

// “ተጨማሪ መረጃ” ቁልፍን ጠቅ ያድርጉ እና በተስፋፋ አካል ውስጥ ጽሑፍን ያረጋግጡ

እሱ ('ተጨማሪ የመረጃ አዝራርን ጠቅ ማድረግ እና ጽሑፍን ማረጋገጥ አለበት' ፣ ተግባር () {ተመለስ ነጂ. ጠቅ ያድርጉ ("#moreinfo")። ከዚያ (ተግባር () {console.log ('ተጨማሪ መረጃ አዝራር ጠቅ የተደረገ') ፤})).waitForVisible ".እሱ መሆን አለበት።

  • የቅጽ መስክ ስህተቶችን ያረጋግጡ - "formFieldValidation.js"

    • ትክክለኛ የስህተት መልዕክቶች መፈጠራቸውን ለማረጋገጥ የሙከራ ስክሪፕቶችን ይጠቀሙ።
    • ይህ ምሳሌ የሚያሳየው -

      የስህተት የጽሑፍ መልዕክቶችን ያረጋግጡ እና ቦታውን (ያልተዘረዘረ የዝርዝር አቀማመጥ) ያረጋግጡ።

እሱ ('5 ስህተቶችን መያዝ አለበት -የመጀመሪያ/የመጨረሻ/አድራሻ/ከተማ/ግዛት' ፣ ተግባር () {

ተመለስ ሹፌር (. እባክዎን የመጀመሪያ ስም ያስገቡ))}} {console.log ('ስህተት ተገኝቷል' + ሠ) ፤ (ሠ).should.be.equal ('እባክህ የአያት ስም አስገባ');}).getText ("// ul [@class = 'ማንቂያ ማንቂያ-አደጋ ']/li [3] ")። ከዚያ (ተግባር (ሠ) {console.log (' ስህተት ተገኝቷል ' + e) ፤ (ሠ).should.be.equal (' እባክዎን አድራሻ ያስገቡ ') ፤})። getText ("// ul [@class = 'ማንቂያ ማስጠንቀቂያ-አደጋ']/li [4]")። ከዚያ (ተግባር (ሠ) {console.log ('ስህተት ተገኝቷል' + e) ፤ (ሠ)።.be.equal ('እባክዎን ወደ ከተማ ይግቡ') ፤}).getText ("// ul [@class = 'alert alert-risk']/li [5]")። ከዚያ (ተግባር (ሠ) {console.log ('ስህተት ተገኝቷል' + e); (ሠ).should.be.equal ('እባክዎን ግዛት ያስገቡ');}); });

  • የዩአርኤል አገናኝ/ጽሑፍ/ገጽ - “LoopDataExample1.js” ን ለማረጋገጥ የ Looping ውሂብ

    • ይህ ምሳሌ ያሳያል - አገናኙን እና ስም ለማከማቸት የ JSON ውሂብ ድርድርን ይጠቀሙ ፣ ከዚያ ይድገሙት

      • እያንዳንዱን የዩአርኤል ጽሑፍ እና አገናኝ ያረጋግጡ
      • አገናኝ ጠቅ ያድርጉ እና ገጽ ይጫኑ

// የአገናኝ ውሂብ - አገናኝ እና ጽሑፍ

var linkArray = [{"link": "https://github.com/onewithhammer/WebDriverIOTutorial/blob/master/tutorial1.js" ፣ "name": "tutorial1.js"} ፣ {"link": "https://github.com/onewithhammer/WebDriverIOTutorial/blob/master/linkTextURL1.js "፣" name ":" linkTextURL1.js "} ፣ {" link ":" https://github.com/onewithhammer/WebDriverIOTutorial/blob/ master/copyright1.js "፣" name ":" copyright1.js "} ፣ {" link ":" https://github.com/onewithhammer/WebDriverIOTutorial/blob/master/formFillSubmit1.js "፣" name ":" formFillSubmit1.js "} ፣ {" link ":" https://github.com/onewithhammer/WebDriverIOTutorial/blob/master/showHideVerify1.js "፣" name ":" showHideVerify1.js "} ፣ {" link ":" https://github.com/onewithhammer/WebDriverIOTutorial/blob/master/dynamicBrowser.js”፣“ስም”:“dynamBrowser.js”} ፣ {“አገናኝ”:“https://github.com/onewithhammer/WebDriverIOTutorial/ blob/master/callbackPromise.js "፣" name ":" callbackPromise.js "} ፣ {" link ":" https://github.com/onewithhammer/WebDriverIOTutorial/blob/master/debugExample1.js "፣" name ": "ደቡ gExample1.js "} ፣ {" link ":" https://github.com/onewithhammer/WebDriverIOTutorial/blob/master/formFieldValidation.js "፣" name ":" formFieldValidation.js "} ፣ {" link ":" https://github.com/onewithhammer/WebDriverIOTutorial/blob/master/common/commonLib.js”፣“name”:“commonLib.js”} ፣ {“link”:“https://github.com/onewithhammer/ WebDriverIOTutorial/blob/master/dataLoopExample1.js "፣" name ":" dataLoopExample1.js "}]; … // በእያንዳንዱ አገናኝ በኩል ይራመዱ አገናኝ linkArray.forEach (ተግባር (መ) {እሱ ('ጽሑፍ/አገናኝ መያዝ አለበት ከዚያም ገጽ ይሂዱ -' + d.name ፣ function () {ተመላሽ ሾፌር // በመነሻ ገጹ ላይ መሆንዎን ያረጋግጡ.url ('https://www.tlkeith.com/WebDriverIOTutorialTest.html').getTitle ().ከዚያ (ተግባር (ርዕስ) {// ርዕስን ያረጋግጡ (ርዕስ).should.be.equal ("የድር ሾፌር IO - የማጠናከሪያ ፈተና ገጽ ");}) // ዩአርኤሉን.getAttribute ('a =' + d.name," href ")) ያግኙ። ከዚያ (ተግባር (አገናኝ) {(አገናኝ).should.equal (d.link)); console.log ('ዩአርኤል ተገኝቷል' + d.link);}) // ወደ ዩአርኤል ገጽ ይሂዱ እና መኖሩን ያረጋግጡ። ጠቅ ያድርጉ ('a =' + d.name).waitForVisible ("#js-repo-pjax- መያዣ "፣ 10000) ።ከዚያ (ተግባር () {console.log ('Github Page Found') ፤});});});

  • የቅጥ መስኮችን ለመሙላት የማይንቀሳቀስ ውሂብን መዞር - "loopDataExample2.js"

    • ይህ ምሳሌ ያሳያል - የመጀመሪያ/የአያት ስም ለማከማቸት የ JSON ውሂብ ድርድር ይጠቀሙ

      • የቅጽ መስኮችን ለመሙላት ውሂቡን ይፈልጉ ፣ ከዚያ ቅጹን ያስገቡ
      • የውጤት ገጽን ይጠብቁ
      • በውጤቶቹ ገጽ ላይ የመጀመሪያ / የአባት ስም ያረጋግጡ

// የውሂብ ድርድር - የመጀመሪያ ስም እና የመጨረሻ ስም ስም dataArray = [{"firstName": "Tony", "lastName": "Keith"}, {"firstName": "John", "lastName": "Doe"}, {"firstName" ":" ጄን "፣" lastName ":" ዶይ "} ፣ {" firstName ":" Don "," lastName ":" Johnson "}]; …. /www.tlkeith.com/WebDriverIOTutorialTest.html ').getTitle ().ከዚያ (ተግባር (ርዕስ) {// ርዕስ (ርዕስ) ያረጋግጡ (. ርዕስ)።).setValue ("#fname", d.firstName).getValue ("#fname").ከዚያ (ተግባር (ሠ) {(ሠ) ስም ፦ " + ሠ) ፤}))። console.log (“የአያት ስም” + ሠ) ፤}) "#የፍለጋ ውጤቶች" ፣ 10000) ።ከዚያ (ተግባር () {console.log ('የውጤት ገጽ ተገኝቷል') ፤}).getText ("// h1")። ከዚያ (ተግባር (አገናኝ) {console.log ('ጽሑፍ ተገኝቷል' + አገናኝ) ፤ (አገናኝ)

  • የ CSS ባህሪያትን ያረጋግጡ - "cssValidation1.js"

    • ይህ ምሳሌ እንዴት ማድረግ እንደሚቻል ያሳያል-

      • የሚከተሉትን የ CSS ንብረቶች ያረጋግጡ።

        • ቀለም
        • ንጣፍ (ከላይ ፣ ታች ፣ ቀኝ ፣ ግራ)
        • የጀርባ ቀለም

እሱ ('የስህተት ጽሑፍ ትክክለኛ ቀለም መያዝ አለበት' ፣ ተግባር () {ተመለስ ነጂ.getCssProperty ("// ul [@class = 'alert alert-risk']/li [1]", "color"). ተግባር (ውጤት) {console.log ('ቀለም ተገኝቷል' + result.parsed.hex + "ወይም" + result.value) ፤ (result.parsed.hex).should.be.equal ('#a94442'); });});

እሱ ('በሠንጠረዥ ሕዋስ ውስጥ ትክክለኛውን ንጣፍ መያዝ አለበት' ፣ ተግባር () {

ተመለስ ሾፌር/መለጠፍ-ከላይ በስተቀኝ ታች ግራ።.getCssProperty ("// table [@id = 'filelist']/thead/tr [1]/td [1]", "padding-top")) ከዚያ (ተግባር (ውጤት) {console.log ('padding-top found:' + result.value); (result.value).should.be.equal ('10px');}).getCssProperty ("// table [@id = 'ፋይል ዝርዝር']/thead/tr [1]/td [1] "፣" padding-bottom ")። ከዚያ (ተግባር (ውጤት) {console.log ('padding-bottom found:' + result.value); (result.value).should.be.equal ('10px');}).getCssProperty ("// table [@id = 'filelist']/thead/tr [1]/td [1]", "padding- ቀኝ ")። ከዚያ (ተግባር (ውጤት) {console.log ('padding-right found:' + result.value); (result.value).should.be.equal ('5px');}).getCssProperty ("// ሰንጠረዥ [@id = 'filelist']/thead/tr [1]/td [1]", "padding-left")። ከዚያ (ተግባር (ውጤት) {console.log ('padding-left found: (+ ውጤት። ዋጋ); (ውጤት። ዋጋ)። መሆን አለበት። });

እሱ ('በሠንጠረዥ ራስጌ ውስጥ ትክክለኛውን የጀርባ ቀለም መያዝ አለበት' ፣ ተግባር () {

ተመለስ ሾፌር hex); (result.parsed.hex).should.be.equal ('#eeeeee');}); });

ደረጃ 6 ጠቃሚ ምክሮች እና ዘዴዎች

ጠቃሚ ምክሮች እና ዘዴዎች
ጠቃሚ ምክሮች እና ዘዴዎች
  • ማረም ፦

    • ለበለጠ ማረም እና ምዝግብ ማስታወሻዎችን ለመፍጠር በአሽከርካሪው ደረጃ መመዝገቢያውን ያብሩ።

      • ምዝግብ ማስታወሻ ደረጃን ወደ ‹verbose› ያዘጋጁ
      • የምዝግብ ማስታወሻ ውፅዓት ወደ ማውጫ ስም ('ምዝግብ ማስታወሻዎች')

ሾፌር = webdriverio.remote (loglevel: 'verbose' ፣ logOutput: 'log' '፣ {የሚፈለገው አቅም ፦ {browserName:' firefox '}});

  • ለማረም console.log () ፣ ማረም () ፣ getText () ን ይጠቀሙ።

    • console.log () - ግዛትን ለመወሰን መረጃን ለማሳየት ይጠቀሙ።
    • ማረም () - በትእዛዝ መስመር ላይ ግቤት እስኪጫን ድረስ ለአፍታ አሳሽ/ስክሪፕት ይጠቀሙ።
    • getText () - ከትክክለኛው አካል ጋር መስተጋብር መፍጠርዎን ለማረጋገጥ ይጠቀሙ።

      በተለይ በ xpath መግለጫዎች እገዛ።

// ከዝርዝር 3 ንጥል ላይ ጠቅ ያድርጉ

እሱ ('ከዝርዝሩ ንጥል 3 ላይ ጠቅ ማድረግ አለበት' ፣ ተግባር () {// ኤክስፕቴትን () በመጠቀም getText () ንጥሉ ለኤለመንት ተመላሽ ሾፌሩ ትክክለኛ መሆኑን ያረጋግጡ ።getText ("// ul [@id = 'mylist']/li [3]/div/div/a ")። ከዚያ (ተግባር (አገናኝ) {// መረጃ console.log ን ለማውጣት (አገናኝ ተገኝቷል ' + አገናኝ)) ((አገናኝ).should.equal ("ንጥል 3");}) // በአሳሹ ላይ ምን እየሆነ እንዳለ ለማየት እርምጃን ለማቆም አርም () ይጠቀሙ። /div/div/a").then (function () {console.log ('Link ጠቅ' ');}) // የጉግል ፍለጋ ቅጽ እስኪመጣ ይጠብቁ ።waitForVisible ("#tsf" ፣ 20000)። (ሠ) {console.log ('የፍለጋ ውጤቶች ተገኝተዋል') ፤});});

  • አሳሹን በተለዋዋጭ ሁኔታ ለመለወጥ አከባቢን ይጠቀሙ

    • በእያንዳንዱ ጊዜ የሙከራ ስክሪፕቱን ሳይቀይሩ የተለየ አሳሽ ለመጥራት የአካባቢን ተለዋዋጭ SELENIUM_BROWSER ይጠቀሙ።
    • ለመደገፍ ትንሽ የኮድ ለውጥ ይፈልጋል።

የኮድ ለውጦች;

// ሾፌሩን ለአሳሽ ይጫኑ

ሾፌር = webdriverio.remote ({የሚፈለገው አቅም ፦ {browserName: process.env. SELENIUM_BROWSER || 'chrome'}});

የሚደገፉ አሳሾች ፦

  • ኢንተርኔት ኤክስፕሎረር - IE 8+ (ዊንዶውስ ብቻ)

    SELENIUM_BROWSER = ማለትም ሞቻ

  • ፋየርፎክስ 10+ (ዊንዶውስ/ማክስ/ሊኑክስ)

    SELENIUM_BROWSER = ፋየርፎክስ ሞቻ

  • Chrome 12+ (ዊንዶውስ/ማክስ/ሊኑክስ)

    SELENIUM_BROWSER = chrome mocha

  • ኦፔራ 12+

    SELENIUM_BROWSER = ኦፔራ ሞቻ

  • ሳፋሪ

    SELENIUM_BROWSER = safari mocha

ሙከራ

  • ለዊንዶውስ የ git bash shell ን ይጠቀሙ

    • SELENIUM_BROWSER = chrome mocha
    • $ SELENIUM_BROWSER = chrome mocha DynamicBrowser.js
  • ለማክ ወይም ሊኑክስ ክፍት ተርሚናል

    • SELENIUM_BROWSER = chrome mocha
    • $ SELENIUM_BROWSER = chrome mocha DynamicBrowser.js
  • ምላሽ ሰጪ ሙከራ;

    • በፕሮጀክት ወይም በማዕቀፍ (ማለትም bootstrap) ላይ በመመርኮዝ የእረፍት ነጥቦችን ይወስኑ።
    • ለእያንዳንዱ የማቋረጫ ነጥብ የአካባቢ ተለዋዋጮችን ይግለጹ ፦

      • DESKTOP - 1200 ፒክሰል
      • ጠረጴዛ - 992 ፒክሰል
      • ሞባይል - 768 ፒክሰሎች
    • የአከባቢን ተለዋዋጭ ለማንበብ እና የአሳሹን መጠን ለማዘጋጀት እንደገና ጥቅም ላይ ሊውል የሚችል ትእዛዝ ያዳብሩ።

      ከዚህ በታች ምሳሌን ይመልከቱ።

    • በሙከራ ስክሪፕትዎ ውስጥ እንደገና ጥቅም ላይ ሊውል የሚችል ትእዛዝ ይደውሉ።

// እንደገና ጥቅም ላይ ሊውል የሚችል ኮድ - ቤተ -መጽሐፍት // ኮድ ቅንጥብ (bp == "DESKTOP") {obj.width = 1200; obj.ight = 600; obj.name = bp; } ሌላ ከሆነ (bp == "TABLET") {obj.width = 992; obj.ight = 600; obj.name = bp; } ሌላ ከሆነ (bp == "MOBILE") {obj.width = 768; obj.ight = 400; obj.name = bp; }

// የሙከራ ስክሪፕት

በፊት (ተግባር (ተከናውኗል) {winsize = common.getWindowSizeParams () ፤… driver.addCommand ('setWindowSize' ፣ common.setWindowSize.bind (ሾፌር)) ፤} // የመስኮቱን መጠን ያዋቅሩት ('የመስኮቱን መጠን ማዘጋጀት አለበት' ፣ ተግባር (ተከናውኗል) {// ስፋቱ ብቻ ነው የሚመለከተው driver.setWindowSize (winsize.width ፣ winsize.height ፣ function () {})።

  • እንደገና ጥቅም ላይ ሊውሉ የሚችሉ ትዕዛዞች (ብጁ ትዕዛዞች)

    • የድር ነጂ IO በቀላሉ ሊራዘም ይችላል።
    • ሁሉንም እንደገና ጥቅም ላይ የሚውሉ ትዕዛዞችን ወደ ቤተ -መጽሐፍት ውስጥ ማስገባት እወዳለሁ። (ምናልባት ይህ አሮጌ ትምህርት ቤት ነው ግን ይሠራል!)

የጋራ/የጋራLib.js

// confirmLastNameCheckError ()

// // መግለጫ: // የመጨረሻውን ስም ቅጽ ማረጋገጫ የስህተት መልእክት ያረጋግጣል // // ግቤት // ቁጥር - የስህተት መረጃ ጠቋሚ (1-5) // ውፅዓት // የለም/ የለም // var confirmLastNameCheckError = function () { var idx = ክርክሮች [0] ፣ መልሶ ጥሪ = ነጋሪ እሴቶች [ክርክር። ርዝመት - 1]; ይህ.getText ("// ul [@class = 'ማንቂያ ማስጠንቀቂያ-አደጋ']/li [" + idx + "]" ፣ ተግባር (ስህተት ፣ ሠ) {console.log ('ስህተት ተገኝቷል' + ሠ) ፤ (ሠ).should.be.equal ('እባክህ የአባት ስም አስገባ');}). }; // የተግባር module.exports.verifyLastNameCheckError = confirmLastNameCheckError ን ወደ ውጭ ይላኩ

እንደገና ጥቅም ላይ ሊውል የሚችል ተግባር ለመጥራት የሚያስፈልጉ የተወሰኑ ለውጦች እዚህ አሉ

ለሙሉ የሥራ ምሳሌ formFieldValidation.js ን ይመልከቱ

// እንደገና ጥቅም ላይ ሊውል የሚችል ትእዛዝ - CommonLib

የተለመደ = ይጠይቁ ('./ Common/CommonLib'); …. driver.addCommand ('confirmLastNameError', common.verifyLastNameCheckError.bind (ሾፌር)); እሱ ('2 ስህተቶችን መያዝ አለበት -የመጀመሪያ/የአያት ስም' ፣ ተግባር () {// እንደገና ጥቅም ላይ ሊውል የሚችል ተግባር ነጂ ይደውሉ ።verifyFirstNameError (1) ፤.verifyLastNameError (2) ፤});

  • የፕሮጀክት ፋይል/ማውጫ መዋቅር

    • የተለመደው የፕሮጀክት መዋቅር እዚህ አለ

      • “ፕሮጀክት” - ዋና የፕሮጀክት ማውጫ

        • README.md - ለዓለም አቀፍ ፕሮጀክት ያንብቡ
        • “የተለመደ” - ለሁሉም ፕሮጀክቶች የተለመዱ የአለምአቀፍ ተግባራት ማውጫ

          • common -lib.js - ዓለም አቀፍ ተግባር ቤተ -መጽሐፍት
          • README.md - ለዓለም አቀፍ ተግባራት ያንብቡ
        • “ምርት 1” - ለምርት 1 ማውጫ

          • ፈተና-ስክሪፕት 1
          • ፈተና-ስክሪፕት 2
          • “የተለመደ” - ለፕሮጀክት 1 ለአካባቢያዊ ተግባራት ማውጫ

            • prod1 -lib.js - ለፕሮጀክት 1 የአከባቢ ተግባር ቤተ -መጽሐፍት
            • README.md - ለፕሮጀክት 1 ለአካባቢያዊ ተግባራት ያንብቡ
        • "Product2"-ለምርቱ 2test-script1.jstest-script2.js ማውጫ

          • “የተለመደ” - ለፕሮጀክት 2 ለአካባቢያዊ ተግባራት ማውጫ

            • prod2 -lib.js - ለፕሮጀክት 2 የአከባቢ ተግባር ቤተ -መጽሐፍት
            • README.md - ለፕሮጀክት 2 ለአካባቢያዊ ተግባራት ያንብቡ
  • የሙከራ እስክሪፕቶችን ወደ ብዙ ፋይሎች ይከፋፍሉ ፦

    • በርካታ ፋይሎችን የመጠቀም ናሙና እዚህ አለ -

      • ጤናማነት ምርመራ - ሁሉም ነገር እየሰራ መሆኑን ለማረጋገጥ መሰረታዊ የሙከራ ስክሪፕት
      • የማይንቀሳቀስ ኤለመንት እና የጽሑፍ ማረጋገጫ - ሁሉንም አካላት እና ጽሑፍን ያረጋግጡ
      • የቅፅ/ገጽ ስህተት ማረጋገጫ - የስህተት ማረጋገጫ
      • የፍለጋ ውጤቶች - ተለዋዋጭ ይዘትን ይፈትሹ
  • የጥሪ መልሶች VS. ተስፋዎች

    • የዌብ ሾፌር IO ስሪት 3 ጥሪዎችን እና ተስፋዎችን ይደግፋል።

      የስህተት አያያዝ ኮዱን ስለሚቀንስ ተስፋዎች ተመራጭ ዘዴ ናቸው። ጥሪዎችን እና ተስፋዎችን በመጠቀም የተፃፈውን ተመሳሳይ ምሳሌ ከዚህ በታች ይመልከቱ።

የጥሪ መልሶች

// ጥሪን በመጠቀም የመጀመሪያ/የአባት ስም ያዘጋጁ/ያረጋግጡ

እሱ (‹ጥሪዎችን› በመጠቀም የመጀመሪያ/የአባት ስም ማዘጋጀት/ማረጋገጥ አለበት ፣ ተግባር (ተከናውኗል) {driver.setValue («#ስም» ፣ ‹ቶኒ› ፣ ተግባር (ሠ) {driver.getValue («#ስም» ፣ ተግባር (ስህተት ፣ ሠ) {(ሠ) driver.getValue ("##ስም" ፣ ተግባር (ስህተት ፣ ሠ) {(ሠ);});});});});

ተስፋዎች

// ተስፋዎችን በመጠቀም የመጀመሪያ/የአባት ስም ያዘጋጁ/ያረጋግጡ

እሱ ('የተስፋ ቃላትን በመጠቀም የመጀመሪያ/የአባት ስም ማዘጋጀት/ማረጋገጥ አለበት' ፣ ተግባር () {return driver.setValue ("#fname" ፣ "Tony").getValue ("#fname")። ከዚያ (ተግባር (ሠ) {(ሠ) ከዚያ (ተግባር (ሠ) {(ሠ).should.be.equal ("Keith"); console.log ("የአያት ስም" + ኢ);});});));

ደረጃ 7: ተጨማሪ ሀብቶች

ለማጣቀሻዎ አንዳንድ ተጨማሪ ሀብቶች እዚህ አሉ

  • የውይይት ቡድኖች (ግሪተር)

    • የድር ነጂ IO የውይይት ቡድን
    • የሞቻ የውይይት ቡድን
  • ሌሎች አስደሳች ፕሮጀክቶች

    • እጅግ በጣም ጥሩ - የኤችቲቲፒ መግለጫዎች
    • ቻይ - መግለጫዎች

ደረጃ 8 መደምደሚያ

ለፕሮጄጄቴ ለመጠቀም ቴክኖሎጂዎችን በመመርመር የተወሰነ ጊዜ አሳልፌያለሁ። መጀመሪያ በሴሌኒየም ድር ሾፌር ጀመርኩ ነገር ግን ወደ የድር ሾፌር IO ን ቀይሬአለሁ። የድር ነጂ IO ለመጠቀም ቀላል እና ለማራዘም በጣም ቀላል ይመስላል (ቢያንስ ለማራዘሙ ሰነዶች - እንደገና ጥቅም ላይ የሚውሉ ትዕዛዞች የተሻሉ ነበሩ)።

ቴክኖሎጂዎችን ለመጀመሪያ ጊዜ ማየት ስጀምር እኔ ከማደርገው ከማንኛውም ነገር አንጻራዊ የሆኑ ጥሩ ምሳሌዎችን ማግኘት ከባድ ነበር። ይህንን መረጃ እና ዕውቀት ላካፍላችሁ የፈለኩበት ምክንያት ይህ ነው።

ቴክኖሎጂዎቹ እኔ ከጠበቅሁት በላይ በተሻለ ሁኔታ ሠርተዋል ሆኖም ግን የመማር ጥምቀት ተካትቷል። አንዴ ሁሉም አካላት እንዴት አብረው እንደሠሩ ከተረዳሁ በኋላ ፣ ውስብስብ የሙከራ ስክሪፕቶችን በአጭር ጊዜ ውስጥ መጻፍ ቻልኩ። በጣም አስቸጋሪ ስክሪፕቶች እንደ ጃቫስክሪፕት ላይ የተመሰረቱ ክፍሎች እንደ ቀን መራጭ እና ሞዳል መራጮች ነበሩ።

እኔ እራሴ እንደ ጃቫስክሪፕት ገንቢ አልጠራሁም ወይም እያንዳንዱ የጃቫስክሪፕት ባለሙያ መሆን አልፈልግም ፣ ግን እነዚህን ቴክኖሎጂዎች መጠቀሙ በእርግጥ የጄኤስኤስ ክህሎቶቼን እንድስል አነሳስቶኛል።

ይህ ጽሑፍ ጠቃሚ ነው ብዬ ተስፋ አደርጋለሁ እና ምሳሌዎቹ ግልፅ እና መረጃ ሰጭ ናቸው።

ማንኛውም ጥያቄ ወይም አስተያየት ካለዎት እባክዎን ያሳውቁኝ።

አመሰግናለሁ, ቶኒ ኪት

የሚመከር: