วิธีอัปโหลดไฟล์ไปยังการทดสอบซีลีเนียมที่ทำงานในนักเทียบท่า

ฉันกำลังรันการทดสอบซีลีเนียมจาวาในคอนเทนเนอร์โครเมียมของ Docker ที่ติดตั้งในระบบ windows ของฉัน การทดสอบที่จะอัปโหลดจะผ่านไปหากฉันรันการทดสอบใน windows - chrome แต่จะล้มเหลวโดยมีข้อผิดพลาด path is not absolute: D:\xyz.csv ถ้าฉันรันการทดสอบเดียวกันใน docker ฉันกำลังผลักดันการทดสอบของฉันบนโหนด Chrome ในนักเทียบท่า

การทดสอบซีลีเนียมปกติใช้งานได้ในนักเทียบท่า แต่การอัปโหลดไม่ได้ผล

โปรดแนะนำวิธีคัดลอกไฟล์นี้ภายในคอนเทนเนอร์เพื่อให้เส้นทางนั้นสำหรับการทดสอบการอัปโหลด

ขอบคุณ


person Basavaraj    schedule 04.08.2017    source แหล่งที่มา


คำตอบ (2)


นั่นเป็นเพราะว่า Chrome จะมองหาเส้นทางนั้นในระบบที่มันอยู่ แต่คอนเทนเนอร์เป็นระบบที่ใช้ Linux และเส้นทางของไฟล์ไม่เป็นเช่นนั้น

ดังนั้นคุณจึงต้องแบ่งปริมาณในขณะที่เปิดใช้คอนเทนเนอร์ Chrome

docker run -v localfolder:containerfolder

และในการทดสอบของคุณ คุณต้องใช้เส้นทาง contaienrfolder ไม่ใช่เส้นทาง localfolder

person Tarun Lalwani    schedule 04.08.2017
comment
ขอบคุณ. อีกวิธีที่ฉันได้รับคือความคิดเห็นด้านล่าง - person Basavaraj; 25.07.2018

ฉันได้วิธีแก้ปัญหานี้มานานแล้ว ใช้คำสั่งด้านล่างเพื่อคัดลอกไฟล์จากระบบ windows/Linux ไปยังคอนเทนเนอร์ Chrome ที่ทำงานอยู่ในโฟลเดอร์ say 'tmp' ของนักเทียบท่า เส้นทางนี้สามารถอ้างอิงได้ในภายหลังในการทดสอบซีลีเนียมที่ทำงานใน Docker

"นักเทียบท่า cp D:\file.csv docker_chrome_1:/tmp/"

คำสั่งข้างต้นนี้สามารถเรียกใช้ได้เมื่อคอนเทนเนอร์ Chrome ของ Docker เปิดใช้งานและทำงานในเครื่อง Windows/Linux

person Basavaraj    schedule 25.07.2018
comment
นี่เป็นเพียงการแก้ไขชั่วคราวเท่านั้น - person Oliver; 01.04.2019