TravisCI และ SauceLabs - ไม่มีไฟล์อยู่ในระบบไฟล์

ฉันมีโปรเจ็กต์ที่มีการทดสอบไม้โปรแทรกเตอร์ซึ่งดำเนินการโดย 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


person Greg    schedule 23.04.2014    source แหล่งที่มา
comment
คุณช่วยให้ข้อมูลเพิ่มเติมเล็กน้อยเกี่ยวกับองค์ประกอบ/คำสั่งที่คุณกำลังทดสอบได้ไหม   -  person Michal Charemza    schedule 03.05.2014
comment
อัพเดตคำถาม...   -  person Greg    schedule 05.05.2014
comment
ดูเหมือนว่าจะมีฟังก์ชัน 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
comment
ปัญหาเดียวกันกับปลั๊กอินของฉันที่นี่: ng-form-data.tomchentw.com   -  person Tom Chen    schedule 07.05.2014
comment
ฉันได้ข้อสรุปแบบเดียวกันกับความคิดเห็นของมิคาลที่นี่   -  person Tom Chen    schedule 07.05.2014


คำตอบ (1)


เป็นการทดสอบ UI ไม่จำเป็นต้องแก้ไขชื่อพาธเลย...

it('should not allow "image/jpeg" file', function () {
  pathToFile = "path/is/not/important/file.jpg";
  elem.sendKeys(pathToFile);
  expect(elem.getAttribute('class')).toMatch('ng-invalid');
});

ไมเคิล

person Michael Dausmann    schedule 20.05.2014
comment
องค์ประกอบนี้ใช้ HTML5 File API เพื่ออ่านรายละเอียดของไฟล์ - person Greg; 20.05.2014