Initial web server implementation
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
// @ts-check
|
||||
// Protractor configuration file, see link for more information
|
||||
// https://github.com/angular/protractor/blob/master/lib/config.ts
|
||||
|
||||
const {SpecReporter, StacktraceOption} = require("jasmine-spec-reporter");
|
||||
|
||||
/**
|
||||
* @type { import("protractor").Config }
|
||||
*/
|
||||
exports.config = {
|
||||
allScriptsTimeout : 11000,
|
||||
specs : [ "./src/**/*.e2e-spec.ts" ],
|
||||
capabilities : {browserName : "chrome", chromeOptions : {args : [ "--headless", "--no-sandbox" ]}},
|
||||
directConnect : true,
|
||||
SELENIUM_PROMISE_MANAGER : true,
|
||||
baseUrl : "http://localhost:4200/",
|
||||
framework : "jasmine",
|
||||
jasmineNodeOpts : {showColors : true, defaultTimeoutInterval : 30000, print : function() {}},
|
||||
onPrepare() {
|
||||
require("ts-node").register({project : require("path").join(__dirname, "./tsconfig.json")});
|
||||
jasmine.getEnv().addReporter(new SpecReporter({spec : {displayStacktrace : StacktraceOption.PRETTY}}));
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,23 @@
|
||||
// @ts-check
|
||||
// Protractor configuration file, see link for more information
|
||||
// https://github.com/angular/protractor/blob/master/lib/config.ts
|
||||
|
||||
const {SpecReporter, StacktraceOption} = require("jasmine-spec-reporter");
|
||||
|
||||
/**
|
||||
* @type { import("protractor").Config }
|
||||
*/
|
||||
exports.config = {
|
||||
allScriptsTimeout : 11000,
|
||||
specs : [ "./src/**/*.e2e-spec.ts" ],
|
||||
capabilities : {browserName : "chrome"},
|
||||
directConnect : true,
|
||||
SELENIUM_PROMISE_MANAGER : false,
|
||||
baseUrl : "http://localhost:4200/",
|
||||
framework : "jasmine",
|
||||
jasmineNodeOpts : {showColors : true, defaultTimeoutInterval : 30000, print : function() {}},
|
||||
onPrepare() {
|
||||
require("ts-node").register({project : require("path").join(__dirname, "./tsconfig.json")});
|
||||
jasmine.getEnv().addReporter(new SpecReporter({spec : {displayStacktrace : StacktraceOption.PRETTY}}));
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
import {browser, logging} from "protractor";
|
||||
import {AppPage} from "./app.po";
|
||||
|
||||
describe("workspace-project App", () => {
|
||||
let page: AppPage;
|
||||
|
||||
beforeEach(() => { page = new AppPage(); });
|
||||
|
||||
// it('should display welcome message', async () => {
|
||||
// await page.navigateTo();
|
||||
// expect(await page.getTitleText()).toEqual('example app is running!');
|
||||
// });
|
||||
|
||||
afterEach(async () => {
|
||||
// Assert that there are no errors emitted from the browser
|
||||
const logs = await browser.manage().logs().get(logging.Type.BROWSER);
|
||||
expect(logs).not.toContain(jasmine.objectContaining({
|
||||
level : logging.Level.SEVERE,
|
||||
} as logging.Entry));
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,13 @@
|
||||
import {browser, by, element} from "protractor";
|
||||
|
||||
export class AppPage {
|
||||
async navigateTo(): Promise<unknown>
|
||||
{
|
||||
return browser.get(browser.baseUrl);
|
||||
}
|
||||
|
||||
async getTitleText(): Promise<string>
|
||||
{
|
||||
return element(by.css("app-root .content span")).getText();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../out-tsc/e2e",
|
||||
"module": "commonjs",
|
||||
"target": "es2018",
|
||||
"types": ["jasmine", "node"]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user