হেডলেস ক্রোমকে ভয় পাবেন না! এটি এবং কেন পরীক্ষার জন্য এটি ব্যবহার করবেন তা শিখুন

সর্বশেষ আপডেট হয়েছে 9/1/17, এমবার সিএমআই 2.15। স্কট নিউকামার এবং বেন ডেম্বোস্কিকে ডিবাগিংয়ে সহায়তা করার জন্য, কার্ল বেকারকে সম্পাদনা করার জন্য এবং টোবিয়াস বিয়েনিককে কয়েকটি সি এল আই টিপসের জন্য বিশেষ ধন্যবাদ!

আমার এমবারজেএস পরীক্ষার স্যুটটি কয়েক ঘন্টা ধরে ডিবাগ করার পরে কমান্ড লাইন থেকে চালানো অস্বীকার করার পরে, আমি ফ্যান্টমজেএসকে পিছনে রেখে হেডলেস ক্রোমে স্যুইচ করেছিলাম। এর সমস্ত অর্থ কী, আমি এটি কীভাবে করেছি এবং এর কী প্রভাব ফেলেছে সংক্ষেপে আসুন।

যাইহোক হেডলেস ক্রোম কী?

অ্যাম্বার বিকাশকারীদের ব্রাউজারগুলির জন্য তারা তাদের পরীক্ষার স্যুটটি চালানোর জন্য ব্যবহার করবে এবং হেডলেস ক্রোম তাদের মধ্যে একটি। কিন্তু এটা কী গুগল ব্লগ বলেছেন:

এটি আপনাকে মাথা বিহীন পরিবেশে ক্রোম ব্রাউজার চালানোর অনুমতি দেয়। মূলত, ক্রোম ছাড়া ক্রোম চলে!
(আল্ট: এটি কী, আমি এমনকি জানি না ...)

আইন। উইকিপিডিয়া থেকে এখানে একটি আরও ভাল সংজ্ঞা দেওয়া হয়েছে:

একটি শিরোনামহীন ব্রাউজার একটি গ্রাফিকাল ইউজার ইন্টারফেস ছাড়াই একটি ওয়েব ব্রাউজার। হেডলেস ব্রাউজারগুলি জনপ্রিয় ওয়েব ব্রাউজারগুলির মতো পরিবেশে একটি ওয়েব পৃষ্ঠার স্বয়ংক্রিয় নিয়ন্ত্রণের অনুমতি দেয় তবে কমান্ড লাইন ইন্টারফেসের মাধ্যমে বা নেটওয়ার্ক যোগাযোগের মাধ্যমে চালিত হয়।

অ্যাম্বার সিএলআই 2.15 হিসাবে, হেডলেস ক্রোম হ'ল এমবারজেএস-এ পরীক্ষার জন্য ডিফল্ট সেটিংস। আপনি যদি কোনও পুরানো এমবার অ্যাপ ব্যবহার করেন তবে আমার কাছে সুসংবাদ রয়েছে: হেডলেস ক্রোমটি পরীক্ষা করতে আপনার অ্যাপ্লিকেশনটি আপডেট করার দরকার নেই। প্রকৃতপক্ষে, আপনি এম্বির অ্যাপের প্রায় পুরানো সংস্করণ সহ সি এল এলির সর্বশেষতম সংস্করণ ব্যবহার করতে পারেন।

"মাথাবিহীন" পরিবেশ প্রয়োজন কেন?

একটি সাধারণ ব্রাউজারের মতো একটি শিরোনামহীন ব্রাউজার এইচটিএমএল এবং সিএসএস বোঝে। এটি AJAX অনুরোধগুলির মতো জাভাস্ক্রিপ্ট কার্যকর করতে পারে। অ্যাম্বারে গ্রহণযোগ্যতা পরীক্ষা সম্পর্কে চিন্তা করুন। যদি কোনও পরীক্ষা কোনও লুকানো বোতামটি ক্লিক করার চেষ্টা করে, এটি ক্লিকযোগ্য হবে না এবং পরীক্ষাটি ব্যর্থ হওয়া উচিত। তবে কীভাবে জানা যায়? কারণ ব্রাউজারটি HTML, সিএসএস এবং জাভাস্ক্রিপ্টকে দরকারী কিছুতে সংযুক্ত করার ভার দেয় ining যেহেতু চিত্র প্রদর্শনের দরকার নেই, তাই মাথা বিহীন পরিবেশে পরীক্ষা দ্রুত হয়। অনেক ধরণের হেডলেস ব্রাউজার রয়েছে। ক্রোম এবং ফ্যান্টমজেএস কেবল দুটি উদাহরণ।

তাহলে কেন কেবল সাধারণ ক্রোম ব্রাউজারে সরাসরি পরীক্ষা চালানো হয় না? আপনার যদি একটি অ্যাম্বার অ্যাপ থাকে তবে অম্বার পরিবেশন করুন এবং HTTP: // লোকালহোস্ট: 4200 / টেস্টগুলি দেখুন, আপনি আপনার পরীক্ষাগুলি রিয়েল টাইমে চালানো দেখতে পারেন, বা তাদের বিরতি দিন এবং অ্যাপ্লিকেশন স্থিতিশীলভাবে দেখতে পারেন। যাইহোক, অবিচ্ছিন্ন ইন্টিগ্রেশন পরীক্ষার জন্য যখন হেডলেস ব্রাউজারগুলি ব্যবহার করা হয় তখন তারা জ্বলজ্বল করে, সাধারণত সিআই হিসাবে পরিচিত। প্রোডাকশন অ্যাপ্লিকেশনগুলিতে একটি সাধারণ বৈশিষ্ট্য হ'ল পরিষেবা যা কোড প্রতিশ্রুতিবদ্ধ হওয়ার পরে স্বয়ংক্রিয়ভাবে আপনার টেস্ট স্যুটটি চালায়। বেশিরভাগ ক্ষেত্রে, এই পরীক্ষাগুলি কোনও সার্ভারে চালিত হয়, "সাধারণ" ব্রাউজারগুলিতে নয়। উদাহরণস্বরূপ, অ্যাম্বার ওয়েবসাইটের অংশের জন্য ওপেন পুল টিক অনুরোধগুলি দেখুন, বিশেষত তার পাশের লাল এক্স রয়েছে those গিটহাবটিতে যখনই একটি টানার অনুরোধ খোলা হবে, আপনি দেখতে পাচ্ছেন যে এটি পরীক্ষায় উত্তীর্ণ হয়েছে কিনা।

এটি আমার টানার অনুরোধ নয়। আমি কসম। (পুরাতন: একটি গিটহাব টানার অনুরোধে বেশ কয়েকটি পরীক্ষামূলক ত্রুটিযুক্ত চিত্র)

ফ্যান্টমজেএস ব্যবহার করবেন না কেন?

ফ্যান্টমজেএস একটি হেডলেস ব্রাউজারের অন্য একটি উদাহরণ। এটি তৈরি এবং রক্ষণাবেক্ষণ করা হারকিউলিয়ান কাজ হয়ে গেছে, এবং এর সাফল্য কারণেই আমাদের সুন্দর জিনিস রয়েছে। অ্যাপ্লিকেশন তৈরি করা কঠিন। আপনি কি পুরো ব্রাউজারটি তৈরির কথা ভাবতে পারেন? তবে মনে হচ্ছে এটি বেরোনোর ​​পথে। একজন সুপারভাইজার এপ্রিল 2017 এ পদত্যাগ করেছেন এবং বলেছেন:

হেডলেস ক্রোম আসছে। আমি মনে করি লোকেরা কোনও সময়ে এটিতে স্যুইচ করবে। ফ্যান্টমজেএসের চেয়ে ক্রোম দ্রুত এবং আরও স্থিতিশীল। এবং এটি পাগলের মতো স্মৃতি খায় না। ফ্যান্টমজেএস-এর বিকাশের কোনও ভবিষ্যত দেখছি না।

রক্ষণাবেক্ষণকারী হিসাবে উল্লেখ করা হয়েছে, ফ্যান্টমজেএসের কিছু সমস্যা রয়েছে। আমার নিজস্ব একটি ছিল: আমার কোনও পরীক্ষা চলবে না। একটি নতুন অ্যাপ্লিকেশনটিতে সবকিছু ঠিক আছে, তবে কিছু সত্য-প্রতিষ্ঠিত নির্ভরতা প্রবর্তনের পরে আমার বাস্তব অ্যাপটির অজানা অংশটি সামঞ্জস্যপূর্ণ ছিল না। আমি একটি গ্লো টেস্ট করেছি, তবে কোনও পরীক্ষা শুরুর আগে আমাকে নিম্নলিখিত ত্রুটিগুলি দিয়ে স্বাগত জানানো হয়েছিল:

ঠিক নেই 1 ফ্যান্টমজেএস ২.১ - বিশ্বব্যাপী ত্রুটি: সিনট্যাক্সেরর: http: // লোকালহোস্ট: 7357 / সম্পদ / বিক্রেতার.জেএস, লাইন 120177 এর অধীনে অপ্রত্যাশিত টোকেন "}"
ঠিক নেই 2 ফ্যান্টমজেএস ২.১ - বিশ্বব্যাপী ত্রুটি: ত্রুটি: এম্বার-টেস্টিং / সমর্থন দ্বারা http: // লোকালহোস্ট: 7357 / সম্পদ / পরীক্ষা-সমর্থন.js, 58 লাইনে এম্বার-মেটাল মডিউলটি পাওয়া যায়নি
ঠিক নেই 3 ফ্যান্টমজেএস ২.১ - বিশ্বব্যাপী ত্রুটি: রেফারেন্স এরিয়ার: চলকটি পাওয়া যাবে না: HTTP: // স্থানীয় হোস্ট: 7357 / সম্পদ / অ্যাম্বার-বায়ো-উজ্জ্বল.জেএস, লাইন 5 এর অধীনে সংজ্ঞা
ঠিক নেই 4 ফ্যান্টমজেএস ২.১ - বিশ্বব্যাপী ত্রুটি: রেফারেন্স এরিয়ার: চলকটি খুঁজে পাওয়া যায় না: http: // লোকালহোস্ট: 7357 / সম্পদ / টেস্ট.জেএস এর অধীনে সংজ্ঞা, লাইন 3
ঠিক আছে না 5 ফ্যান্টমজেএস ২.১ - বিশ্বব্যাপী ত্রুটি: রেফারেন্স এরিয়ার: চলকটি পাওয়া যাবে না: এমবারেনভিটি http: // লোকালহোস্ট: 7357/4215 / পরীক্ষা / সূচক html এ? আড়াল করা, লাইন 38

আমি এই বাগের উপর সবকিছু ফেলে দিয়েছি। নোড মডিউলগুলি ফুটিয়ে তোলা, সহজ পরীক্ষা ব্যতীত সমস্ত কিছু সরিয়ে ফেলুন, এমবারসিএলআই পুনরায় ইনস্টল করুন, ফ্যান্টমজেএস ইনস্টল করুন / আনইনস্টল করুন, বিক্রেতার বান্ডেলে ডুব দিন, অশুভ বিড়ালের জিআইএফ, হালকা ধূপ ... কিছুই নয়।

কয়েকজন অন্যান্য বিকাশকারীকে নিয়ে কয়েকটি প্রশ্নোত্তর দেওয়ার পরে, পরামর্শ দেওয়া হয়েছিল যে আমি হেডলেস ক্রোমগুলি চেষ্টা করে দেখতে চেষ্টা করব যে বাগগুলি ডিবাগ করা সহজ ছিল কিনা।

ত্রুটিগুলি ডিবাগ করা সহজতর হয়নি।

ত্রুটিগুলি কেবল অদৃশ্য হয়ে গেল।

কীভাবে সুইচ করবেন

অ্যাম্বার অ্যাপ্লিকেশনগুলিতে testem.js নামে একটি ফাইল রয়েছে। আপনি "এমবার পরীক্ষা" বা "অ্যামবার পরীক্ষা": "সার্ভার" প্রবেশ করানোর সময় কোন পরীক্ষার সরঞ্জামগুলি ব্যবহার করতে হবে তা এখানে কনফিগার করুন। এখানে testem.j এর বিষয়বস্তুগুলির একটি লিঙ্ক যা আমি শেষ পর্যন্ত রায়ান টরন্টোর নিবন্ধটি থেকে ব্যবহার করেছি, অনুলিপি করেছি এবং আটকিয়েছি। আপনি আম্বারসিএলআইয়ের সাথে আসা টেস্টেম ফাইলটি এমবারসিএলআই গিটহাবের এই লিঙ্কটিতে দেখতে পারেন।

টেস্টেম কী?

টেস্টেম একজন পরীক্ষক রানার। এর অর্থ হল যে আপনার অ্যাপ্লিকেশনগুলির পরীক্ষাগুলি লোড করা হবে এবং testem.js এ উল্লিখিত কনফিগারেশনটি দিয়ে সম্পাদন করা হবে। আপনি সহজেই ব্যবহারযোগ্য ইন্টারফেস পাবেন যা আপনাকে কমান্ড লাইন থেকে আপনার পরীক্ষার ফলাফলগুলি দেখতে দেয়। আমি অবাক হয়ে গিয়েছিলাম যে টেস্টেম কেবল এমবারের জন্য নয়। এটি অনেকগুলি জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক, পরীক্ষার সরঞ্জামগুলি (যেমন ক্যুইনিট, মোচা এবং জেসমিন) এবং ব্রাউজার পরিবেশের সাথে কাজ করে।

এটা দেখ? এটি টেস্টেম ইন অ্যাকশন,

হেডলেস ক্রোমের কী নেতিবাচক প্রভাব থাকতে পারে?

একটি কিছুর জন্য, হেডলেস ক্রোম ফ্যান্টমজেএস-এর মতো মুক্ত উত্স নয়। উপকারিতা এবং কনস তাদের নিজস্ব নিবন্ধ হতে পারে।

এটিও নতুন। এটি ক্রোম 59 নিয়ে এসেছে, তবে বিকাশকারীদের আগে থেকেই ক্রোম ব্যবহারের উপায় ছিল। বড় প্রশ্ন হ'ল আপনি যদি ইতিমধ্যে সিআই টেস্টিং করেন তবে আপনার সরবরাহকারী এটি কতটা ভাল সমর্থন করে? অনেক বড় প্লেয়ার এটি দ্রুত নিয়েছিল, তবে আপনি কিছু সমস্যার মুখোমুখি হতে পারেন।

অবশেষে, কিছু পরীক্ষা ফ্যান্টমজেএসে সাফল্য পেতে পারে এবং হেডলেস ক্রোমে ব্যর্থ হতে পারে, যার অর্থ এখন একটু ডিবাগ করার সময়। অবশ্যই, আমি বিপরীতটি দেখেছি যেখানে আমি মাথা বিহীন ব্রাউজারগুলির মধ্যে স্যুইচ করলে আমার সমস্ত সমস্যাগুলি যাদুকরীভাবে অদৃশ্য হয়ে যায়, তবে সমস্যাগুলি অস্বাভাবিক নয়। এটি ক্রোমে যা দেখতে ভাল লাগে তার সাথে তুলনামূলক একটি ব্যথা পয়েন্ট, তবে এটি ফায়ারফক্সে বিস্ফোরিত হয়। এ কারণে এবং তাদের পরীক্ষাগুলি আরও শক্তিশালী করার জন্য কিছু সংস্থাগুলি একাধিক হেডলেস সরঞ্জামগুলিতে তাদের পরীক্ষা চালায়।

কখন স্যুইচ করবেন

আপনি যদি অনিশ্চিত থাকেন বা কেবল জানতে চান অ্যাম্বার পরীক্ষায় সর্বশেষতম এবং সর্বশ্রেষ্ঠটি কী, তবে একবার চেষ্টা করে দেখুন!

শুভ মাথা নিরীক্ষা!

ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন-নন-বাণিজ্যিক-নোডেরিও 3.0 লাইসেন্সের আওতায় আইরেনহরফেরস দ্বারা শিল্পকর্ম ভাগ করা হয়েছে