2017-03-06 88 views
0

我正在測試一種方法,每次都會生成一次性代碼以完成測試,這需要用戶複製並粘貼每次隨機生成的一些數字。複製並粘貼量角器

其中生成數的HTML如下:

<div class="message_text">Enter the following one time code in the field below</div> 
<span class="message_label">One-time code:</span> 
<span class="message_label">One-time code:</span> 
<span class="message_value">720756</span> 

我寫這段代碼複製粘貼阿富汗國家發展戰略,雖然它這樣做我不斷收到一個錯誤,說明它是一個對象。

var copyTest = element(by.xpath('//*[@id="core_order_holder"]/div[1]/div[2]/span[2]')); 
       copyTest.sendKeys(protractor.Key.CONTROL, 'a'); 
       copyTest.sendKeys(protractor.Key.CONTROL, 'c'); 
       var target = console.log(copyTest.sendKeys(protractor.Key.CONTROL, 'v')); 
       element(by.name('challenge_response')).sendKeys(target); 

請問我該如何解決這個問題?

回答

0

不幸的是,這是行不通的。複製/粘貼 - 是操作系統級別的動作,webdriver無法模擬此操作。但實際上 - 爲什麼你需要測試操作系統?只檢查你的網站功能 - 簡單的getText()和sendKeys()是完全沒問題的:

var copyTest = element(by.xpath('//*[@id="core_order_holder"]/div[1]/div[2]/span[2]')).getText(); 
element(by.name('challenge_response')).sendKeys(copyTest); 
+0

非常感謝它的工作!我已經嘗試過使用getText,但由於某種原因,它仍然返回一個錯誤,這就是爲什麼我移動嘗試複製粘貼技術 –