في الواقع ، أحتاج إلى فتح الصفحات ذات الإضافات المثبتة في أي متصفح (وليس الكروم على وجه التحديد). لذلك يمكن أن يكون Firefox أو phantomjs (لست متأكدًا مما إذا كان ممكنًا على الإطلاق).
إذن ، هل هناك أي طريقة لتشغيل chrome / firefox / phantom عبر webdriverio بامتداد مثبت مسبقًا ، وإذا كان هناك - كيف يمكنني القيام بذلك؟
شكرا لك مقدما!
نعم هنالك! يمكن أن يكون لديك خاصية chromeOptions
في السعة التي تريدها. هذا الكائن له خاصية تسمى extensions
تأخذ السلسلة الأساسية 64 لملفك crx
. ستجد المزيد من المعلومات https://sites.google.com/a/chromium.org/chromedriver/capabilities
نعم ، هذا يعمل
var data = await fs.readFileSync('./ext.zip');
options.desiredCapabilities.chromeOptions.extensions = [data.toString('base64')];
مرحبا! شكرا لتقاسم نهجك!
@ d668 ربما واجهتك مشكلة مماثلة أثناء العمل على إضافة امتداد لاختباراتك ؟؟
حاولت إضافة امتداد وبعد إجراء الاختبار ،
لدي خطأ:
ERROR webdriver: Request failed due to unknown error: unknown error: cannot process extension #1 from unknown error: cannot read manifest
maxInstances: 5,
"goog:chromeOptions": {
extensions: [(function () {
try {
const webExt = fs.readFileSync('./extension.zip').toString('base64');
return webExt;
} catch (e) {
console.log(e, 'An error occurred while to parse extension zip file!');
}
})()],
args: ['--headless', '--disable-gpu']
},
Madebyspeedster تحتاج إلى حزمة التمديد. افتح chrome: // extensions وانقر على Pack extension. سيُنشئ حزمة crx. ومفتاح pem. بعد ذلك يمكنك استخدام مفتاح .pem لإنشاء حزم تملكها. يمكنك استخدام هذه المكتبة لهذا https://github.com/Constellation/crxmake
التعليق الأكثر فائدة
نعم ، هذا يعمل