Спасибо, Эрик. Это работает для меня, следуя советам и инструкциям Эрика, упомянутым на github.com/javieraviles/cypress-upload-file-post-form
Cypress.Commands.add(
"Post_Clients",
(imagePath, imageType, attr1, attr2, attr1Val, done) => {
cy.fixture(imagePath, "binary").then(imageBin => {
Cypress.Blob.binaryStringToBlob(imageBin, imageType).then(blob => {
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
const data = new FormData();
data.set(attr1, attr1Val);
data.set(attr2, blob);
xhr.open("POST", "https://api.teamapp.myhelpling.com/admin/clients");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("access-token", accesstoken);
xhr.setRequestHeader("client", client);
xhr.setRequestHeader("expiry", expiry);
xhr.setRequestHeader("token-type", tokentype);
xhr.setRequestHeader("uid", uid);
xhr.onload = function() {
done(xhr);
};
xhr.onerror = function() {
done(xhr);
};
xhr.send(data);
});
});
}
);
it.only("API POSTing TEST", () => {
cy.Post_Clients(
"/images/clients/Golden JPEG.jpeg",
"image/jpeg",
"client[name]",
"client[client_logo_attributes][content]",
"Test Attr 1 Value is Hi!!!",
response => {
cy.writeFile(
"cypress/fixtures/POST API OUTPUT DATA/Client.json",
response.
);
expect(response.status).to.eq(201);
}
);
});
Одним из способов является использование собственного плагина. Фактически, такой пользовательский плагин ничего не должен делать, он только объявляет новый вклад панели инструментов, используя существующие команды отмены / повторения.
Я создал такой плагин для вас: http://www.foglyn.com /misc/undoredo_1.0.0.jar. Там нет абсолютно никакого кода, только plugin.xml:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
<toolbar
id="undoredo.toolbar"
label="Undo/Redo">
<command
commandId="org.eclipse.ui.edit.undo"
id="undoredo.undo"
style="push">
</command>
<command
commandId="org.eclipse.ui.edit.redo"
id="undoredo.redo"
style="push">
</command>
</toolbar>
</menuContribution>
</extension>
</plugin>
И MANIFEST.MF:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Undoredo
Bundle-SymbolicName: undoredo;singleton:=true
Bundle-Version: 1.0.0
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.eclipse.ui
Вы можете скачать его и перейти в каталог «dropins» Eclipse, перезапустить, и вы увидите кнопки «Отменить / Повторить» на Ваша панель инструментов.
У меня работает в Eclipse 3.4 и Eclipse 3.5M7.
Возможно, если вы не можете заставить работать панель инструментов отмены, вы можете изменить отображение комбинаций клавиш «Отменить / Повторить» на более удобное.
В Eclipse перейдите к Окно> Настройки и в левом дереве перейдите в Общие> Ключи.
В поле «Тип фильтра текста» введите «Отменить», и вы увидите команду «Отменить» в нижнем списке. Вы можете изменить это сопоставление с Ctrl + Z по умолчанию на другое сопоставление. Вы также можете сделать то же самое для Redo и любых других действий, таких как удаление пробела и т. Д.