SlimerJS: مرورگری اپن‌سورس و قابل برنامه‌ریزی برای دولوپرهای وب

SlimerJS: مرورگری اپن‌سورس و قابل برنامه‌ریزی برای دولوپرهای وب

SlimerJS ابزاری اپن‌سورس است که این امکان را به دولوپرها می‌دهد تا با استفاده از زبان جاوااسکریپت، اقدام به تست وب‌سایت‌های خود کنند. در واقع، از SlimerJS می‌توان برای تست‌های فانکشنال، مدیریت صفحات، مانیتورینگ شبکه، تهیه عکس از صفحه، وب اسکرپینگ (استخراج داده از صفحات وب) و موارد دیگر استفاده کرد.

SlimerJS شبیه PhantomJS است با این تفاوت که به‌جای Webkit (موتور مروگر کروم)، روی Gecko (موتور مرورگر فایرفاکس) اجرا می‌شود (البته در نسخه‌های فایرفاکس 55 و قدیمی‌تر، با یکسری مشکلات مواجه است). به عنوان نمونه اسکریپت نوشته شده برای این مرورگر داریم:

var webpage = require('webpage').create();
webpage
  .open('http://somewhere') // loads a page
  .then(function(){ // executed after loading
    // store a screenshot of the page
    webpage.viewportSize =
        { width:650, height:320 };
    webpage.render('page.png',
                   {onlyViewport:true});
    // then open a second page
    return webpage.open('http://somewhere2');
  })
  .then(function(){
    // click somewhere on the second page
    webpage.sendEvent("click", 5, 5,
                        'left', 0);
    slimer.exit()
  });

SlimerJS به شما این امکان را می‌دهد که کدهای جاوااسکریپت را خارج از محیط مرورگر اجرا کنید؛ بدین صورت که در کد جاوااسکریپتی که می‌نویسید، می‌توانید به ماژول‌ها و بسیاری API دیگر دسترسی داشته باشید. برای نمونه، کارهای زیر با استفاده از این مرورگر امکان‌پذیر است:
- خواندن و نوشتن روی فایل.
- لود یک وب‌سایت و دسترسی به اِلِمان‌های آن.
- می‌توان مانند یک کاربر با یک صفحه وب رفتار کرد (مثلاً می‌توان روی لینک‌ها کلیک کرد، فیلدهای یک فرم را پر کرد و کارهایی از این دست و در ادامه می‌توان به نتایج دریافت شده دسترسی داشت و آن‌ها را آنالیز کرد).
- می‌توان ایونت‌های شبکه را رصد کرد (این قابلیت برای مانیتورینگ شبکه حین لود شدن یک صفحه وب می‌تواند کاربردی باشد).
- تهیهٔ عکس از صفحه
- در اسکریپتی که می‌نویسید، ماژول‌های جاوااسکریپتی قابل دسترس هستند، حتی آن‌هایی که در زبان CoffeeScript نوشته شده‌اند (حتی می‌توانید اسکریپت مد نظر را به زبان CoffeeScript بنویسید. SlimerJS فایل‌های coffee.* را شناسایی می‌کند).

در SlimerJS می‌توانید از آخرین ویژگی‌های جاوااسکریپت که در فایرفاکس پیاده‌سازی شده‌اند نیز استفاده کنید. SlimerJS هم رایگان و هم اپن‌سورس است که سورس آن در ریپازیتوری گیت‌هاب SlimerJS قابل دسترس است.