2016-11-27 9 views
1

私はモナコエディタを含むコードをテストするために分度器を使用しようとしており、プログラムでコードを編集する方法を見つけることはできません。分度器を使ってモナコのエディタにコードを挿入するには?

モナコでコードを編集したり、単にモナコにコードを貼り付けする方法を理解するために、この私のテスト

import {CodelabPage} from './app.po'; 
import {browser, element, by} from 'protractor'; 

describe('codelab App', function() { 
    let page: CodelabPage; 

    beforeEach(() => { 
    page = new CodelabPage(); 
    }); 

    it('should display message saying app works',() => { 
     page.navigateTo(); 
     page.openMilestone(1); 
     page.openExercise('TypeScript'); 
     browser.pause(2000); 
     page.editCode('Dog.ts', `HopHeyLalalay`); 
     browser.pause(); 
    } 
); 
}); 

この私の機能

import {browser, element, by} from 'protractor'; 
import {By} from "protractor/built/index"; 

export class CodelabPage { 
    navigateTo() { 
    return browser.get('/'); 
    } 

    getMilestoneDescriptionText() { 
    element(by.css('.milestone')).click(); 

    return element(by.css('.description')).getText(); 
    } 

    getElementText(nameElement) { 
    return element(by.css(nameElement)).getText(); 
    } 


    openMilestone(index) { 
    return element(by.cssContainingText('.milestone', index)).click(); 
    } 

    openExercise(text) { 
    return element(by.cssContainingText('.exercise', text)).click(); 
    } 

    editCode(filename: string, code: string) { 
    return element(by.css('.monaco-editor-background textarea')) 
     .sendKeys('njnj'); 
    } 
} 

ヘルプ。

答えて

2

モナコエディタは、テキスト領域の編集に使用できるAPIを公開しています。あなたはこれを試すことができます。

browser.executeScript('this.monaco.editor.getModels()[0].setValue("' + yourStringHere + '")); 

あなたはインラインフレームを使用している場合、あなたはこのように、コードを編集しようとする前にはiframeに切り替える必要があります:

browser.switchTo().frame(iframeSelector); 
関連する問題