剪贴板中的文本与量角器js

Jér*_*lle 4 javascript bdd angularjs protractor

如何使用量角器复制特定文本?

我想用此命令加载要粘贴的文本:

return browser.actions().sendKeys(Keys.CONTROL, 'v').perform();
Run Code Online (Sandbox Code Playgroud)

样品:

加载我的文本"test",然后使用此命令粘贴"test"

我想在剪贴板中放一个文字

ale*_*cxe 7

我可以直接在我的ng模型中输入一个值,而不是使用sendKeys吗?

是的,您可以model通过.evaluate()以下方式直接设置值:

var elm = element(by.model("mymodel.field"));
elm.evaluate("mymodel.field = 'test';");
Run Code Online (Sandbox Code Playgroud)

将文本放入剪贴板

我们的想法是使用现有的或动态创建input要发送文本的元素,选择输入中的所有文本并使用CTRL/COMMAND + C快捷方式复制它.

样品:

var textToBeCopied = "my text";

// creating a new input element
browser.executeScript(function () {
    var el = document.createElement('input');
    el.setAttribute('id', 'customInput'); 

    document.getElementsByTagName('body')[0].appendChild(el);
});

// set the input value to a desired text
var newInput = $("#customInput");
newInput.sendKeys(textToBeCopied);

// select all and copy
newInput.sendKeys(protractor.Key.chord(browser.controlKey, "a"));
newInput.sendKeys(protractor.Key.chord(browser.controlKey, "c"));
Run Code Online (Sandbox Code Playgroud)

哪里browser.controlKey是处理CTRL/ COMMAND密钥的跨平台方式: