ฉันมีโปรเจ็กต์ที่มีการทดสอบไม้โปรแทรกเตอร์ซึ่งดำเนินการโดย TravisCI ผ่าน SauceLabs
หนึ่งในการทดสอบเกี่ยวข้องกับการ "อัปโหลด" ไฟล์:
it('should not allow "image/jpeg" file', function () {
pathToFile = path.resolve(__dirname, 'file.jpg');
elem.sendKeys(pathToFile);
expect(elem.getAttribute('class')).toMatch('ng-invalid');
});
วิธีนี้ใช้ได้ดีในพื้นที่ แต่ Travis ก่อให้เกิดข้อผิดพลาด:
<แข็งแกร่ง> . . ./file.jpg' ไม่มีอยู่ในระบบไฟล์
ฉันคิดว่าเป็นเพราะ file.png
ไม่มีอยู่ใน SauceLabs
คำถามของฉันคือ ฉันจะทำให้สิ่งนี้ทำงานได้อย่างไร
คำสั่งที่เป็นปัญหาคือ: https://github.com/GrumpyWizards/ngValidation/blob/master/wizValidation/src/file/file.dir.js
setFileDetector
ซึ่งอธิบายไว้ที่ saucelabs.com/resources/selenium-file-upload ซึ่งในทางทฤษฎีสามารถทำให้สิ่งนี้ใช้งานได้ อย่างไรก็ตาม จาก github.com/angular/protractor/issues/612 และ code.google.com/p/selenium/issues/detail?id=6048 #c3 ดูเหมือนว่าในขณะนี้ ไม่มีการผูกโหนด และจะไม่สามารถเข้าถึงได้จาก Protractor จนกว่าจะมีการเพิ่ม (หรือคุณเพิ่ม: แต่ฉันไม่แน่ใจว่าคุณสามารถใช้ โครงสร้างแบบกำหนดเองของซีลีเนียมพร้อมซอสใช่ไหม) - person Michal Charemza   schedule 05.05.2014