2014-06-26 22 views
10

Chrome Sürücü kullanarak nightwatch.js'yi kullanarak ön uç testleri yapıyorum. Başarılı bir gönderi üzerinde çalışan geri aramalar olduğu için, bu görüntü yüklemesinin düzgün bir şekilde, sağlanan dosya girdisi yoluyla çalıştığını test etmem gerekiyor.Nightwatch.js ile bir görüntü dosyası yükleme

Bunun Selenium Web Sürücüsünün sendKeys yöntemi kullanılarak yapılabileceğinin farkındayım.

Bunu javascript ve nightwatch.js kullanarak nasıl yapabilirsiniz? Selenium web gezginine veya onunla bir arayüze erişebiliyor musunuz?

+0

Bir dosyanın nasıl seçildiğini görmek isterdim, böyle bir şeyin mümkün olduğunu düşünmedim. – dandavis

cevap

7

bunu kullanın Benim durumumda yerel masaüstüne

.setValue('input[type="file"]', require('path').resolve('/home/My-PC/Desktop/img.png')) 
1

Görüntünüzün mutlak yolunu ayarlamak için client.setValue işlevini kullanın. İşte projemdeki çalışma örneği.

client.setValue ('# editPictures .modal-body input [type = "file"]', '/Users/testing/pictures/CAM00003.jpg');

2

Yukarıda bahsettiğiniz biri gibi, bir alana metin yazıyormuş gibi mutlak yolu [type = "file"] girişine geçirebilirsiniz.

Bu, gece saatinin setValue işlevini kullanır. Geçerli dizin yolunu, Node'nin __dirname genel var kullanarak alabilirsiniz. Örneğin

: .setValue('#upload-input', __dirname + '\\upload.jpg')

+0

Neden "' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' tersi eğik çizgi koymuşsunuzdur? Cheers – GrayedFox

+1

@grayedfox: ters eğik çizgi özel karakterlerden önce gelen bir kaçış karakteridir. Bu örnekte, ters eğik çizgi ile (kullanmak istediğimiz özel karakter) bir ters eğik çizgi ile kaçıyorsunuz (aşağıdaki karakteri ifade eden kaçış karakteri tam anlamıyla yorumlanmalıdır). – lacy

1

görüntüyü yüklemek için type = "dosyası ile girişine sahip id = "Yükle Simgesi" bir div var "

.setValue('//div[@id="Upload Icon"]/input[@type="file"]', require('path').resolve(__dirname + '/categoryIcon.png')) 

yukarıdaki kod

benim için iyi çalışıyor.

İlgili konular